From 964b62e0455ba1829fd30eb9f77bb04f7c38f1a7 Mon Sep 17 00:00:00 2001 From: francois branciard Date: Mon, 11 Jun 2018 12:20:00 +0200 Subject: [PATCH 1/6] #42 ajust timeout categories --- ChangeLog.md | 5 +++++ README.md | 2 +- config/categories.json | 10 +++++----- test/byFunctions/WorkerPool/emitWorkOrder.js | 6 +++--- 4 files changed, 14 insertions(+), 9 deletions(-) diff --git a/ChangeLog.md b/ChangeLog.md index c31ca1b8..190eaf96 100644 --- a/ChangeLog.md +++ b/ChangeLog.md @@ -10,6 +10,11 @@ Features: Bugfixes: +### v1.0.14 (not released) + +Features: + * [#42](https://github.com/iExecBlockchainComputing/PoCo/issues/42) ajust timeout categories + ### [v1.0.13](https://github.com/iExecBlockchainComputing/PoCo/releases/tag/v1.0.13) Features: diff --git a/README.md b/README.md index d73b0a00..8d1dee02 100644 --- a/README.md +++ b/README.md @@ -492,7 +492,7 @@ or ``` -coverage : 20/05/2018 +coverage : 11/06/2018 184 passing (10m) 1 pending diff --git a/config/categories.json b/config/categories.json index bb9ff1a1..98b5d5d9 100644 --- a/config/categories.json +++ b/config/categories.json @@ -4,35 +4,35 @@ "description": { "io": "10mo" }, - "workClockTimeRef": 30 + "workClockTimeRef": 300 }, { "name": "2", "description": { "io": "100mo" }, - "workClockTimeRef": 120 + "workClockTimeRef": 900 }, { "name": "3", "description": { "io": "250mo" }, - "workClockTimeRef": 900 + "workClockTimeRef": 1800 }, { "name": "4", "description": { "io": "500mo" }, - "workClockTimeRef": 1800 + "workClockTimeRef": 3600 }, { "name": "5", "description": { "io": "1go" }, - "workClockTimeRef": 3600 + "workClockTimeRef": 7200 } ] } diff --git a/test/byFunctions/WorkerPool/emitWorkOrder.js b/test/byFunctions/WorkerPool/emitWorkOrder.js index 64ed3e30..2a03fdaa 100644 --- a/test/byFunctions/WorkerPool/emitWorkOrder.js +++ b/test/byFunctions/WorkerPool/emitWorkOrder.js @@ -295,11 +295,11 @@ contract('IexecHub', function(accounts) { from: iExecCloudUser, gas:constants.AMOUNT_GAS_PROVIDED }); - assert.strictEqual(getCategoryWorkClockTimeRefCall.toNumber(), 30, "check getCategoryWorkClockTimeRef for cat 1 =30 sec"); + assert.strictEqual(getCategoryWorkClockTimeRefCall.toNumber(), 300, "check getCategoryWorkClockTimeRef for cat 1 =300 sec"); - assert.strictEqual(timestamp+(getCategoryWorkClockTimeRefCall.toNumber()*10), timestamp+300, "consensusTimeout = blocktime + 30 *10"); + assert.strictEqual(timestamp+(getCategoryWorkClockTimeRefCall.toNumber()*10), timestamp+3000, "consensusTimeout = blocktime + 300 *10"); //console.log(timestamp+600); - assert.strictEqual(timestamp+(getCategoryWorkClockTimeRefCall.toNumber()*10), consensusTimeout.toNumber(), "consensusTimeout = blocktime + 30 *5"); + assert.strictEqual(timestamp+(getCategoryWorkClockTimeRefCall.toNumber()*10), consensusTimeout.toNumber(), "consensusTimeout = blocktime + 300 *5"); assert.strictEqual(winnerCount.toNumber(), 0, "check no winnerCount"); From c9be504845f84bc0803bd3456565e4439d97f218 Mon Sep 17 00:00:00 2001 From: francois branciard Date: Mon, 11 Jun 2018 12:26:22 +0200 Subject: [PATCH 2/6] #40 #41 remove build/contract folder --- .gitignore | 1 + ChangeLog.md | 5 + build/contracts/App.json | 1508 - build/contracts/AppHub.json | 4389 -- build/contracts/Dataset.json | 1508 - build/contracts/DatasetHub.json | 4389 -- build/contracts/ERC20.json | 1799 - build/contracts/IexecAPI.json | 6854 --- build/contracts/IexecCallbackInterface.json | 726 - build/contracts/IexecHub.json | 48207 ----------------- build/contracts/IexecHubAccessor.json | 1067 - build/contracts/IexecHubInterface.json | 8665 ---- build/contracts/IexecLib.json | 2149 - build/contracts/Marketplace.json | 16701 ------ build/contracts/MarketplaceAccessor.json | 883 - build/contracts/MarketplaceInterface.json | 2045 - build/contracts/Migrations.json | 1414 - build/contracts/Ownable.json | 1010 - build/contracts/OwnableOZ.json | 1829 - build/contracts/RLC.json | 617 - build/contracts/SafeMath.json | 4979 -- build/contracts/SafeMathOZ.json | 5037 -- build/contracts/TestSha.json | 2782 - build/contracts/TokenSpender.json | 394 - build/contracts/WorkOrder.json | 7228 --- build/contracts/WorkerPool.json | 48222 ------------------ build/contracts/WorkerPoolHub.json | 6546 --- 27 files changed, 6 insertions(+), 180948 deletions(-) delete mode 100644 build/contracts/App.json delete mode 100644 build/contracts/AppHub.json delete mode 100644 build/contracts/Dataset.json delete mode 100644 build/contracts/DatasetHub.json delete mode 100644 build/contracts/ERC20.json delete mode 100644 build/contracts/IexecAPI.json delete mode 100644 build/contracts/IexecCallbackInterface.json delete mode 100644 build/contracts/IexecHub.json delete mode 100644 build/contracts/IexecHubAccessor.json delete mode 100644 build/contracts/IexecHubInterface.json delete mode 100644 build/contracts/IexecLib.json delete mode 100644 build/contracts/Marketplace.json delete mode 100644 build/contracts/MarketplaceAccessor.json delete mode 100644 build/contracts/MarketplaceInterface.json delete mode 100644 build/contracts/Migrations.json delete mode 100644 build/contracts/Ownable.json delete mode 100644 build/contracts/OwnableOZ.json delete mode 100644 build/contracts/RLC.json delete mode 100644 build/contracts/SafeMath.json delete mode 100644 build/contracts/SafeMathOZ.json delete mode 100644 build/contracts/TestSha.json delete mode 100644 build/contracts/TokenSpender.json delete mode 100644 build/contracts/WorkOrder.json delete mode 100644 build/contracts/WorkerPool.json delete mode 100644 build/contracts/WorkerPoolHub.json diff --git a/.gitignore b/.gitignore index 16a095f9..44045986 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ **/__pycache__ node_modules makefile +build diff --git a/ChangeLog.md b/ChangeLog.md index 190eaf96..4773971a 100644 --- a/ChangeLog.md +++ b/ChangeLog.md @@ -14,6 +14,11 @@ Bugfixes: Features: * [#42](https://github.com/iExecBlockchainComputing/PoCo/issues/42) ajust timeout categories + * [#40](https://github.com/iExecBlockchainComputing/PoCo/issues/40) Removing the build/ folder from git and create a specific one for contracts addresses deployed + + Bugfixes: + * [#41](https://github.com/iExecBlockchainComputing/PoCo/issues/41) : truffle compile doesn't work + ### [v1.0.13](https://github.com/iExecBlockchainComputing/PoCo/releases/tag/v1.0.13) diff --git a/build/contracts/App.json b/build/contracts/App.json deleted file mode 100644 index c60f83d8..00000000 --- a/build/contracts/App.json +++ /dev/null @@ -1,1508 +0,0 @@ -{ - "contractName": "App", - "abi": [ - { - "constant": true, - "inputs": [], - "name": "m_appPrice", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "m_appName", - "outputs": [ - { - "name": "", - "type": "string" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "m_appParams", - "outputs": [ - { - "name": "", - "type": "string" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_newOwner", - "type": "address" - } - ], - "name": "setImmutableOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "m_owner", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "m_changeable", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "name": "_iexecHubAddress", - "type": "address" - }, - { - "name": "_appName", - "type": "string" - }, - { - "name": "_appPrice", - "type": "uint256" - }, - { - "name": "_appParams", - "type": "string" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - } - ], - "bytecode": "0x6060604052341561000f57600080fd5b6040516106733803806106738339810160405280805191906020018051820191906020018051919060200180516000805460a060020a60ff0219600160a060020a03338116600160a060020a0319909316929092171674010000000000000000000000000000000000000000179091559201918591508116151561009257600080fd5b60018054600160a060020a031916600160a060020a039283161790553381163290911614156100c057600080fd5b6100d6326401000000006102c461010c82021704565b60028380516100e99291602001906101cd565b50600382905560048180516101029291602001906101cd565b5050505050610268565b60005433600160a060020a0390811691161461012757600080fd5b60005474010000000000000000000000000000000000000000900460ff16151561015057600080fd5b600160a060020a038116151561016557600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008054600160a060020a031916600160a060020a03929092169190911760a060020a60ff0219169055565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061020e57805160ff191683800117855561023b565b8280016001018555821561023b579182015b8281111561023b578251825591602001919060010190610220565b5061024792915061024b565b5090565b61026591905b808211156102475760008155600101610251565b90565b6103fc806102776000396000f3006060604052600436106100775763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166326137e6b811461007c578063358982a3146100a157806388fc56c01461012b578063bbac78a91461013e578063deff41c11461015f578063e21b9d081461018e575b600080fd5b341561008757600080fd5b61008f6101b5565b60405190815260200160405180910390f35b34156100ac57600080fd5b6100b46101bb565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156100f05780820151838201526020016100d8565b50505050905090810190601f16801561011d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561013657600080fd5b6100b4610259565b341561014957600080fd5b61015d600160a060020a03600435166102c4565b005b341561016a57600080fd5b6101726103a0565b604051600160a060020a03909116815260200160405180910390f35b341561019957600080fd5b6101a16103af565b604051901515815260200160405180910390f35b60035481565b60028054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156102515780601f1061022657610100808354040283529160200191610251565b820191906000526020600020905b81548152906001019060200180831161023457829003601f168201915b505050505081565b60048054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156102515780601f1061022657610100808354040283529160200191610251565b60005433600160a060020a039081169116146102df57600080fd5b60005474010000000000000000000000000000000000000000900460ff16151561030857600080fd5b600160a060020a038116151561031d57600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911774ff000000000000000000000000000000000000000019169055565b600054600160a060020a031681565b60005474010000000000000000000000000000000000000000900460ff16815600a165627a7a723058206d99b62a46fd6c98aa2d6fdc4f0dc4efd9a258d38aa451bf0086c59b301c301c0029", - "deployedBytecode": "0x6060604052600436106100775763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166326137e6b811461007c578063358982a3146100a157806388fc56c01461012b578063bbac78a91461013e578063deff41c11461015f578063e21b9d081461018e575b600080fd5b341561008757600080fd5b61008f6101b5565b60405190815260200160405180910390f35b34156100ac57600080fd5b6100b46101bb565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156100f05780820151838201526020016100d8565b50505050905090810190601f16801561011d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561013657600080fd5b6100b4610259565b341561014957600080fd5b61015d600160a060020a03600435166102c4565b005b341561016a57600080fd5b6101726103a0565b604051600160a060020a03909116815260200160405180910390f35b341561019957600080fd5b6101a16103af565b604051901515815260200160405180910390f35b60035481565b60028054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156102515780601f1061022657610100808354040283529160200191610251565b820191906000526020600020905b81548152906001019060200180831161023457829003601f168201915b505050505081565b60048054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156102515780601f1061022657610100808354040283529160200191610251565b60005433600160a060020a039081169116146102df57600080fd5b60005474010000000000000000000000000000000000000000900460ff16151561030857600080fd5b600160a060020a038116151561031d57600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911774ff000000000000000000000000000000000000000019169055565b600054600160a060020a031681565b60005474010000000000000000000000000000000000000000900460ff16815600a165627a7a723058206d99b62a46fd6c98aa2d6fdc4f0dc4efd9a258d38aa451bf0086c59b301c301c0029", - "sourceMap": "86:590:0:-;;;285:386;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;667:7:14;:25;;-1:-1:-1;;;;;;;;;;;682:10:14;667:25;;-1:-1:-1;;;;;;667:25:14;;;;;;;696:19;;;;;;285:386:0;;;408:16;;-1:-1:-1;300:30:7;;;;292:39;;;;;;335:17;:55;;-1:-1:-1;;;;;;335:55:7;-1:-1:-1;;;;;335:55:7;;;;;;514:10:0;501:23;;:9;:23;;;;;493:32;;;;;;529;551:9;529:21;;;;;;:32;:::i;:::-;589:9;603:8;;589:22;;;;;;;;:::i;:::-;-1:-1:-1;615:10:0;:23;;;642:11;656:10;;642:24;;;;;;;;:::i;:::-;;285:386;;;;86:590;;876:234:14;502:7;;488:10;-1:-1:-1;;;;;488:21:14;;;502:7;;488:21;480:30;;;;;;956:12;;;;;;;948:21;;;;;;;;-1:-1:-1;;;;;981:23:14;;;;973:32;;;;;;1035:7;;-1:-1:-1;;;;;1014:40:14;;;;1035:7;1014:40;;;;;;;;;;1058:7;:24;;-1:-1:-1;;;;;;1058:24:14;-1:-1:-1;;;;;1058:24:14;;;;;;;;-1:-1:-1;;;;;;1086:20:14;;;876:234::o;86:590:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;86:590:0;;;-1:-1:-1;86:590:0;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;", - "deployedSourceMap": "86:590:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;189:31;;;;;;;;;;;;;;;;;;;;;;;;;;;156:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;156:30:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;223:32;;;;;;;;;;;;876:234:14;;;;;;;;;;;;-1:-1:-1;;;;;876:234:14;;;;;238:22;;;;;;;;;;;;;;;-1:-1:-1;;;;;238:22:14;;;;;;;;;;;;;;;263:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;189:31:0;;;;:::o;156:30::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;223:32::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;876:234:14;502:7;;488:10;-1:-1:-1;;;;;488:21:14;;;502:7;;488:21;480:30;;;;;;956:12;;;;;;;948:21;;;;;;;;-1:-1:-1;;;;;981:23:14;;;;973:32;;;;;;1035:7;;-1:-1:-1;;;;;1014:40:14;;;;1035:7;1014:40;;;;;;;;;;1058:7;:24;;-1:-1:-1;;1058:24:14;-1:-1:-1;;;;;1058:24:14;;;;;;;;-1:-1:-1;;1086:20:14;;;876:234::o;238:22::-;;;-1:-1:-1;;;;;238:22:14;;:::o;263:27::-;;;;;;;;;:::o", - "source": "pragma solidity ^0.4.21;\n\nimport './OwnableOZ.sol';\nimport './IexecHubAccessor.sol';\n\ncontract App is OwnableOZ, IexecHubAccessor\n{\n\n\t/**\n\t * Members\n\t */\n\tstring public m_appName;\n\tuint256 public m_appPrice;\n\tstring public m_appParams;\n\n\t/**\n\t * Constructor\n\t */\n\tfunction App(\n\t\taddress _iexecHubAddress,\n\t\tstring _appName,\n\t\tuint256 _appPrice,\n\t\tstring _appParams)\n\tIexecHubAccessor(_iexecHubAddress)\n\tpublic\n\t{\n\t\t// tx.origin == owner\n\t\t// msg.sender == DatasetHub\n\t\trequire(tx.origin != msg.sender);\n\t\tsetImmutableOwnership(tx.origin); // owner → tx.origin\n\n\t\tm_appName = _appName;\n\t\tm_appPrice = _appPrice;\n\t\tm_appParams = _appParams;\n\n\t}\n\n\n\n}\n", - "sourcePath": "/Users/fbranci/iexecdev/PoCo/contracts/App.sol", - "ast": { - "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/App.sol", - "exportedSymbols": { - "App": [ - 54 - ] - }, - "id": 55, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1, - "literals": [ - "solidity", - "^", - "0.4", - ".21" - ], - "nodeType": "PragmaDirective", - "src": "0:24:0" - }, - { - "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/OwnableOZ.sol", - "file": "./OwnableOZ.sol", - "id": 2, - "nodeType": "ImportDirective", - "scope": 55, - "sourceUnit": 3748, - "src": "26:25:0", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/IexecHubAccessor.sol", - "file": "./IexecHubAccessor.sol", - "id": 3, - "nodeType": "ImportDirective", - "scope": 55, - "sourceUnit": 2476, - "src": "52:32:0", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [ - { - "arguments": [], - "baseName": { - "contractScope": null, - "id": 4, - "name": "OwnableOZ", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 3747, - "src": "102:9:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_OwnableOZ_$3747", - "typeString": "contract OwnableOZ" - } - }, - "id": 5, - "nodeType": "InheritanceSpecifier", - "src": "102:9:0" - }, - { - "arguments": [], - "baseName": { - "contractScope": null, - "id": 6, - "name": "IexecHubAccessor", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2475, - "src": "113:16:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IexecHubAccessor_$2475", - "typeString": "contract IexecHubAccessor" - } - }, - "id": 7, - "nodeType": "InheritanceSpecifier", - "src": "113:16:0" - } - ], - "contractDependencies": [ - 2475, - 3747 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 54, - "linearizedBaseContracts": [ - 54, - 2475, - 3747 - ], - "name": "App", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "id": 9, - "name": "m_appName", - "nodeType": "VariableDeclaration", - "scope": 54, - "src": "156:30:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - }, - "typeName": { - "id": 8, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "156:6:0", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 11, - "name": "m_appPrice", - "nodeType": "VariableDeclaration", - "scope": 54, - "src": "189:31:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "189:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 13, - "name": "m_appParams", - "nodeType": "VariableDeclaration", - "scope": 54, - "src": "223:32:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - }, - "typeName": { - "id": 12, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "223:6:0", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "public" - }, - { - "body": { - "id": 52, - "nodeType": "Block", - "src": "435:236:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 32, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 28, - "name": "tx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7018, - "src": "501:2:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_transaction", - "typeString": "tx" - } - }, - "id": 29, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "origin", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "501:9:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 30, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "514:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 31, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "514:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "501:23:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 27, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "493:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 33, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "493:32:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 34, - "nodeType": "ExpressionStatement", - "src": "493:32:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 36, - "name": "tx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7018, - "src": "551:2:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_transaction", - "typeString": "tx" - } - }, - "id": 37, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "origin", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "551:9:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 35, - "name": "setImmutableOwnership", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3746, - "src": "529:21:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 38, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "529:32:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 39, - "nodeType": "ExpressionStatement", - "src": "529:32:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 42, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 40, - "name": "m_appName", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9, - "src": "589:9:0", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 41, - "name": "_appName", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17, - "src": "603:8:0", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "589:22:0", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 43, - "nodeType": "ExpressionStatement", - "src": "589:22:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 46, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 44, - "name": "m_appPrice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11, - "src": "615:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 45, - "name": "_appPrice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19, - "src": "629:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "615:23:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 47, - "nodeType": "ExpressionStatement", - "src": "615:23:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 50, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 48, - "name": "m_appParams", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13, - "src": "642:11:0", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 49, - "name": "_appParams", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21, - "src": "656:10:0", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "642:24:0", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 51, - "nodeType": "ExpressionStatement", - "src": "642:24:0" - } - ] - }, - "documentation": "Constructor", - "id": 53, - "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 24, - "name": "_iexecHubAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15, - "src": "408:16:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "id": 25, - "modifierName": { - "argumentTypes": null, - "id": 23, - "name": "IexecHubAccessor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2475, - "src": "391:16:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IexecHubAccessor_$2475_$", - "typeString": "type(contract IexecHubAccessor)" - } - }, - "nodeType": "ModifierInvocation", - "src": "391:34:0" - } - ], - "name": "App", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 22, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 15, - "name": "_iexecHubAddress", - "nodeType": "VariableDeclaration", - "scope": 53, - "src": "301:24:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 14, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "301:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17, - "name": "_appName", - "nodeType": "VariableDeclaration", - "scope": 53, - "src": "329:16:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - "typeName": { - "id": 16, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "329:6:0", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 19, - "name": "_appPrice", - "nodeType": "VariableDeclaration", - "scope": 53, - "src": "349:17:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 18, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "349:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 21, - "name": "_appParams", - "nodeType": "VariableDeclaration", - "scope": 53, - "src": "370:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - "typeName": { - "id": 20, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "370:6:0", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "297:92:0" - }, - "payable": false, - "returnParameters": { - "id": 26, - "nodeType": "ParameterList", - "parameters": [], - "src": "435:0:0" - }, - "scope": 54, - "src": "285:386:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 55, - "src": "86:590:0" - } - ], - "src": "0:677:0" - }, - "legacyAST": { - "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/App.sol", - "exportedSymbols": { - "App": [ - 54 - ] - }, - "id": 55, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1, - "literals": [ - "solidity", - "^", - "0.4", - ".21" - ], - "nodeType": "PragmaDirective", - "src": "0:24:0" - }, - { - "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/OwnableOZ.sol", - "file": "./OwnableOZ.sol", - "id": 2, - "nodeType": "ImportDirective", - "scope": 55, - "sourceUnit": 3748, - "src": "26:25:0", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/IexecHubAccessor.sol", - "file": "./IexecHubAccessor.sol", - "id": 3, - "nodeType": "ImportDirective", - "scope": 55, - "sourceUnit": 2476, - "src": "52:32:0", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [ - { - "arguments": [], - "baseName": { - "contractScope": null, - "id": 4, - "name": "OwnableOZ", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 3747, - "src": "102:9:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_OwnableOZ_$3747", - "typeString": "contract OwnableOZ" - } - }, - "id": 5, - "nodeType": "InheritanceSpecifier", - "src": "102:9:0" - }, - { - "arguments": [], - "baseName": { - "contractScope": null, - "id": 6, - "name": "IexecHubAccessor", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2475, - "src": "113:16:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IexecHubAccessor_$2475", - "typeString": "contract IexecHubAccessor" - } - }, - "id": 7, - "nodeType": "InheritanceSpecifier", - "src": "113:16:0" - } - ], - "contractDependencies": [ - 2475, - 3747 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 54, - "linearizedBaseContracts": [ - 54, - 2475, - 3747 - ], - "name": "App", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "id": 9, - "name": "m_appName", - "nodeType": "VariableDeclaration", - "scope": 54, - "src": "156:30:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - }, - "typeName": { - "id": 8, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "156:6:0", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 11, - "name": "m_appPrice", - "nodeType": "VariableDeclaration", - "scope": 54, - "src": "189:31:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "189:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 13, - "name": "m_appParams", - "nodeType": "VariableDeclaration", - "scope": 54, - "src": "223:32:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - }, - "typeName": { - "id": 12, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "223:6:0", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "public" - }, - { - "body": { - "id": 52, - "nodeType": "Block", - "src": "435:236:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 32, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 28, - "name": "tx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7018, - "src": "501:2:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_transaction", - "typeString": "tx" - } - }, - "id": 29, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "origin", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "501:9:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 30, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "514:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 31, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "514:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "501:23:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 27, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "493:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 33, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "493:32:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 34, - "nodeType": "ExpressionStatement", - "src": "493:32:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 36, - "name": "tx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7018, - "src": "551:2:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_transaction", - "typeString": "tx" - } - }, - "id": 37, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "origin", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "551:9:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 35, - "name": "setImmutableOwnership", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3746, - "src": "529:21:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 38, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "529:32:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 39, - "nodeType": "ExpressionStatement", - "src": "529:32:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 42, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 40, - "name": "m_appName", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9, - "src": "589:9:0", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 41, - "name": "_appName", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17, - "src": "603:8:0", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "589:22:0", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 43, - "nodeType": "ExpressionStatement", - "src": "589:22:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 46, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 44, - "name": "m_appPrice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11, - "src": "615:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 45, - "name": "_appPrice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 19, - "src": "629:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "615:23:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 47, - "nodeType": "ExpressionStatement", - "src": "615:23:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 50, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 48, - "name": "m_appParams", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13, - "src": "642:11:0", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 49, - "name": "_appParams", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 21, - "src": "656:10:0", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "642:24:0", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 51, - "nodeType": "ExpressionStatement", - "src": "642:24:0" - } - ] - }, - "documentation": "Constructor", - "id": 53, - "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 24, - "name": "_iexecHubAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15, - "src": "408:16:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "id": 25, - "modifierName": { - "argumentTypes": null, - "id": 23, - "name": "IexecHubAccessor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2475, - "src": "391:16:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IexecHubAccessor_$2475_$", - "typeString": "type(contract IexecHubAccessor)" - } - }, - "nodeType": "ModifierInvocation", - "src": "391:34:0" - } - ], - "name": "App", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 22, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 15, - "name": "_iexecHubAddress", - "nodeType": "VariableDeclaration", - "scope": 53, - "src": "301:24:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 14, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "301:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17, - "name": "_appName", - "nodeType": "VariableDeclaration", - "scope": 53, - "src": "329:16:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - "typeName": { - "id": 16, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "329:6:0", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 19, - "name": "_appPrice", - "nodeType": "VariableDeclaration", - "scope": 53, - "src": "349:17:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 18, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "349:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 21, - "name": "_appParams", - "nodeType": "VariableDeclaration", - "scope": 53, - "src": "370:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - "typeName": { - "id": 20, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "370:6:0", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "297:92:0" - }, - "payable": false, - "returnParameters": { - "id": 26, - "nodeType": "ParameterList", - "parameters": [], - "src": "435:0:0" - }, - "scope": 54, - "src": "285:386:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 55, - "src": "86:590:0" - } - ], - "src": "0:677:0" - }, - "compiler": { - "name": "solc", - "version": "0.4.21+commit.dfe3193c.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "2.0.0", - "updatedAt": "2018-05-20T20:12:33.541Z" -} diff --git a/build/contracts/AppHub.json b/build/contracts/AppHub.json deleted file mode 100644 index 150ddfd3..00000000 --- a/build/contracts/AppHub.json +++ /dev/null @@ -1,4389 +0,0 @@ -{ - "contractName": "AppHub", - "abi": [ - { - "constant": true, - "inputs": [], - "name": "m_totalAppCount", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_newOwner", - "type": "address" - } - ], - "name": "setImmutableOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "m_owner", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "m_changeable", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "constant": true, - "inputs": [ - { - "name": "_app", - "type": "address" - } - ], - "name": "isAppRegistered", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_owner", - "type": "address" - } - ], - "name": "getAppsCount", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_owner", - "type": "address" - }, - { - "name": "_index", - "type": "uint256" - } - ], - "name": "getApp", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_index", - "type": "uint256" - } - ], - "name": "getAppByIndex", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_appName", - "type": "string" - }, - { - "name": "_appPrice", - "type": "uint256" - }, - { - "name": "_appParams", - "type": "string" - } - ], - "name": "createApp", - "outputs": [ - { - "name": "createdApp", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x6060604052341561000f57600080fd5b6000805474010000000000000000000000000000000000000000600160a060020a031990911633600160a060020a03161760a060020a60ff021916178155610ca490819061005d90396000f3006060604052600436106100985763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166323797ed9811461009d5780633a911d30146100cf5780635476f49d146101005780638403be9114610113578063baebcaf014610146578063bbac78a914610168578063deff41c114610189578063e21b9d081461019c578063fc06a877146101af575b600080fd5b34156100a857600080fd5b6100b360043561024b565b604051600160a060020a03909116815260200160405180910390f35b34156100da57600080fd5b6100ee600160a060020a0360043516610266565b60405190815260200160405180910390f35b341561010b57600080fd5b6100ee610281565b341561011e57600080fd5b610132600160a060020a0360043516610287565b604051901515815260200160405180910390f35b341561015157600080fd5b6100b3600160a060020a03600435166024356102a5565b341561017357600080fd5b610187600160a060020a03600435166102cd565b005b341561019457600080fd5b6100b36103a9565b34156101a757600080fd5b6101326103b8565b34156101ba57600080fd5b6100b360046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001909190803590602001908201803590602001908080601f0160208091040260200160405190810160405281815292919060208401838380828437509496506103d995505050505050565b600090815260046020526040902054600160a060020a031690565b600160a060020a031660009081526001602052604090205490565b60055481565b600160a060020a031660009081526003602052604090205460ff1690565b600160a060020a03918216600090815260026020908152604080832093835292905220541690565b60005433600160a060020a039081169116146102e857600080fd5b60005474010000000000000000000000000000000000000000900460ff16151561031157600080fd5b600160a060020a038116151561032657600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911774ff000000000000000000000000000000000000000019169055565b600054600160a060020a031681565b60005474010000000000000000000000000000000000000000900460ff1681565b60008054819033600160a060020a039081169116146103f757600080fd5b338585856104036105f5565b600160a060020a038516815260408101839052608060208201818152906060830190830186818151815260200191508051906020019080838360005b8381101561045757808201518382015260200161043f565b50505050905090810190601f1680156104845780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b838110156104ba5780820151838201526020016104a2565b50505050905090810190601f1680156104e75780820380516001836020036101000a031916815260200191505b509650505050505050604051809103906000f080151561050657600080fd5b9050610512328261051a565b949350505050565b600160a060020a03821660009081526001602081905260408220546105449163ffffffff6105df16565b60055490915061055b90600163ffffffff6105df16565b600581905560009081526004602090815260408083208054600160a060020a0396871673ffffffffffffffffffffffffffffffffffffffff199182168117909255969095168352600180835281842085905560028352818420948452938252808320805490961685179095559281526003909252919020805460ff19169091179055565b6000828201838110156105ee57fe5b9392505050565b604051610673806106068339019056006060604052341561000f57600080fd5b6040516106733803806106738339810160405280805191906020018051820191906020018051919060200180516000805460a060020a60ff0219600160a060020a03338116600160a060020a0319909316929092171674010000000000000000000000000000000000000000179091559201918591508116151561009257600080fd5b60018054600160a060020a031916600160a060020a039283161790553381163290911614156100c057600080fd5b6100d6326401000000006102c461010c82021704565b60028380516100e99291602001906101cd565b50600382905560048180516101029291602001906101cd565b5050505050610268565b60005433600160a060020a0390811691161461012757600080fd5b60005474010000000000000000000000000000000000000000900460ff16151561015057600080fd5b600160a060020a038116151561016557600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008054600160a060020a031916600160a060020a03929092169190911760a060020a60ff0219169055565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061020e57805160ff191683800117855561023b565b8280016001018555821561023b579182015b8281111561023b578251825591602001919060010190610220565b5061024792915061024b565b5090565b61026591905b808211156102475760008155600101610251565b90565b6103fc806102776000396000f3006060604052600436106100775763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166326137e6b811461007c578063358982a3146100a157806388fc56c01461012b578063bbac78a91461013e578063deff41c11461015f578063e21b9d081461018e575b600080fd5b341561008757600080fd5b61008f6101b5565b60405190815260200160405180910390f35b34156100ac57600080fd5b6100b46101bb565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156100f05780820151838201526020016100d8565b50505050905090810190601f16801561011d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561013657600080fd5b6100b4610259565b341561014957600080fd5b61015d600160a060020a03600435166102c4565b005b341561016a57600080fd5b6101726103a0565b604051600160a060020a03909116815260200160405180910390f35b341561019957600080fd5b6101a16103af565b604051901515815260200160405180910390f35b60035481565b60028054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156102515780601f1061022657610100808354040283529160200191610251565b820191906000526020600020905b81548152906001019060200180831161023457829003601f168201915b505050505081565b60048054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156102515780601f1061022657610100808354040283529160200191610251565b60005433600160a060020a039081169116146102df57600080fd5b60005474010000000000000000000000000000000000000000900460ff16151561030857600080fd5b600160a060020a038116151561031d57600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911774ff000000000000000000000000000000000000000019169055565b600054600160a060020a031681565b60005474010000000000000000000000000000000000000000900460ff16815600a165627a7a723058206d99b62a46fd6c98aa2d6fdc4f0dc4efd9a258d38aa451bf0086c59b301c301c0029a165627a7a72305820b9a0e370247ae1efb1243ba4f2d6e809f8d7bc2d2060445732251051820b3dfa0029", - "deployedBytecode": "0x6060604052600436106100985763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166323797ed9811461009d5780633a911d30146100cf5780635476f49d146101005780638403be9114610113578063baebcaf014610146578063bbac78a914610168578063deff41c114610189578063e21b9d081461019c578063fc06a877146101af575b600080fd5b34156100a857600080fd5b6100b360043561024b565b604051600160a060020a03909116815260200160405180910390f35b34156100da57600080fd5b6100ee600160a060020a0360043516610266565b60405190815260200160405180910390f35b341561010b57600080fd5b6100ee610281565b341561011e57600080fd5b610132600160a060020a0360043516610287565b604051901515815260200160405180910390f35b341561015157600080fd5b6100b3600160a060020a03600435166024356102a5565b341561017357600080fd5b610187600160a060020a03600435166102cd565b005b341561019457600080fd5b6100b36103a9565b34156101a757600080fd5b6101326103b8565b34156101ba57600080fd5b6100b360046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001909190803590602001908201803590602001908080601f0160208091040260200160405190810160405281815292919060208401838380828437509496506103d995505050505050565b600090815260046020526040902054600160a060020a031690565b600160a060020a031660009081526001602052604090205490565b60055481565b600160a060020a031660009081526003602052604090205460ff1690565b600160a060020a03918216600090815260026020908152604080832093835292905220541690565b60005433600160a060020a039081169116146102e857600080fd5b60005474010000000000000000000000000000000000000000900460ff16151561031157600080fd5b600160a060020a038116151561032657600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911774ff000000000000000000000000000000000000000019169055565b600054600160a060020a031681565b60005474010000000000000000000000000000000000000000900460ff1681565b60008054819033600160a060020a039081169116146103f757600080fd5b338585856104036105f5565b600160a060020a038516815260408101839052608060208201818152906060830190830186818151815260200191508051906020019080838360005b8381101561045757808201518382015260200161043f565b50505050905090810190601f1680156104845780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b838110156104ba5780820151838201526020016104a2565b50505050905090810190601f1680156104e75780820380516001836020036101000a031916815260200191505b509650505050505050604051809103906000f080151561050657600080fd5b9050610512328261051a565b949350505050565b600160a060020a03821660009081526001602081905260408220546105449163ffffffff6105df16565b60055490915061055b90600163ffffffff6105df16565b600581905560009081526004602090815260408083208054600160a060020a0396871673ffffffffffffffffffffffffffffffffffffffff199182168117909255969095168352600180835281842085905560028352818420948452938252808320805490961685179095559281526003909252919020805460ff19169091179055565b6000828201838110156105ee57fe5b9392505050565b604051610673806106068339019056006060604052341561000f57600080fd5b6040516106733803806106738339810160405280805191906020018051820191906020018051919060200180516000805460a060020a60ff0219600160a060020a03338116600160a060020a0319909316929092171674010000000000000000000000000000000000000000179091559201918591508116151561009257600080fd5b60018054600160a060020a031916600160a060020a039283161790553381163290911614156100c057600080fd5b6100d6326401000000006102c461010c82021704565b60028380516100e99291602001906101cd565b50600382905560048180516101029291602001906101cd565b5050505050610268565b60005433600160a060020a0390811691161461012757600080fd5b60005474010000000000000000000000000000000000000000900460ff16151561015057600080fd5b600160a060020a038116151561016557600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008054600160a060020a031916600160a060020a03929092169190911760a060020a60ff0219169055565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061020e57805160ff191683800117855561023b565b8280016001018555821561023b579182015b8281111561023b578251825591602001919060010190610220565b5061024792915061024b565b5090565b61026591905b808211156102475760008155600101610251565b90565b6103fc806102776000396000f3006060604052600436106100775763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166326137e6b811461007c578063358982a3146100a157806388fc56c01461012b578063bbac78a91461013e578063deff41c11461015f578063e21b9d081461018e575b600080fd5b341561008757600080fd5b61008f6101b5565b60405190815260200160405180910390f35b34156100ac57600080fd5b6100b46101bb565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156100f05780820151838201526020016100d8565b50505050905090810190601f16801561011d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561013657600080fd5b6100b4610259565b341561014957600080fd5b61015d600160a060020a03600435166102c4565b005b341561016a57600080fd5b6101726103a0565b604051600160a060020a03909116815260200160405180910390f35b341561019957600080fd5b6101a16103af565b604051901515815260200160405180910390f35b60035481565b60028054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156102515780601f1061022657610100808354040283529160200191610251565b820191906000526020600020905b81548152906001019060200180831161023457829003601f168201915b505050505081565b60048054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156102515780601f1061022657610100808354040283529160200191610251565b60005433600160a060020a039081169116146102df57600080fd5b60005474010000000000000000000000000000000000000000900460ff16151561030857600080fd5b600160a060020a038116151561031d57600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911774ff000000000000000000000000000000000000000019169055565b600054600160a060020a031681565b60005474010000000000000000000000000000000000000000900460ff16815600a165627a7a723058206d99b62a46fd6c98aa2d6fdc4f0dc4efd9a258d38aa451bf0086c59b301c301c0029a165627a7a72305820b9a0e370247ae1efb1243ba4f2d6e809f8d7bc2d2060445732251051820b3dfa0029", - "sourceMap": "100:1666:1:-;;;572:30;;;;;;;;667:7:14;:25;;696:19;-1:-1:-1;;;;;;667:25:14;;;682:10;-1:-1:-1;;;;;667:25:14;;-1:-1:-1;;;;;;696:19:14;;;;100:1666:1;;;;;;;;", - "deployedSourceMap": "100:1666:1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;974:105;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;974:105:1;;;;;;;;;;;;;;732:109;;;;;;;;;;-1:-1:-1;;;;;732:109:1;;;;;;;;;;;;;;;;;;;;479:63;;;;;;;;;;;;627:103;;;;;;;;;;-1:-1:-1;;;;;627:103:1;;;;;;;;;;;;;;;;;;;;;;843:129;;;;;;;;;;-1:-1:-1;;;;;843:129:1;;;;;;;876:234:14;;;;;;;;;;-1:-1:-1;;;;;876:234:14;;;;;;;238:22;;;;;;;;;;;;263:27;;;;;;;;;;;;1419:344:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1419:344:1;;-1:-1:-1;1419:344:1;;-1:-1:-1;;;;;;1419:344:1;974:105;1034:7;1055:20;;;:12;:20;;;;;;-1:-1:-1;;;;;1055:20:1;;974:105::o;732:109::-;-1:-1:-1;;;;;812:25:1;791:7;812:25;;;:17;:25;;;;;;;732:109::o;479:63::-;;;;:::o;627:103::-;-1:-1:-1;;;;;705:21:1;687:4;705:21;;;:15;:21;;;;;;;;;627:103::o;843:129::-;-1:-1:-1;;;;;933:27:1;;;912:7;933:27;;;:19;:27;;;;;;;;:35;;;;;;;;;;843:129::o;876:234:14:-;502:7;;488:10;-1:-1:-1;;;;;488:21:14;;;502:7;;488:21;480:30;;;;;;956:12;;;;;;;948:21;;;;;;;;-1:-1:-1;;;;;981:23:14;;;;973:32;;;;;;1035:7;;-1:-1:-1;;;;;1014:40:14;;;;1035:7;1014:40;;;;;;;;;;1058:7;:24;;-1:-1:-1;;1058:24:14;-1:-1:-1;;;;;1058:24:14;;;;;;;;-1:-1:-1;;1086:20:14;;;876:234::o;238:22::-;;;-1:-1:-1;;;;;238:22:14;;:::o;263:27::-;;;;;;;;;:::o;1419:344:1:-;1551:18;502:7:14;;1551:18:1;;488:10:14;-1:-1:-1;;;;;488:21:14;;;502:7;;488:21;480:30;;;;;;1657:10:1;1672:8;1685:9;1699:10;1645:68;;:::i;:::-;-1:-1:-1;;;;;1645:68:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;1645:68:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;1645:68:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1628:85;;1717:25;1724:9;1735:6;1717;:25::i;:::-;1753:6;1419:344;-1:-1:-1;;;;1419:344:1:o;1082:334::-;-1:-1:-1;;;;;1152:25:1;;1142:7;1152:25;;;1182:1;1152:25;;;;;;;;:32;;;:29;:32;:::i;:::-;1204:15;;1142:42;;-1:-1:-1;1204:22:1;;1224:1;1204:22;:19;:22;:::i;:::-;1188:15;:38;;;1230:36;;;;:12;:36;;;;;;;;:43;;-1:-1:-1;;;;;1230:43:1;;;-1:-1:-1;;1230:43:1;;;;;;;;1277:27;;;;;;1230:43;1277:27;;;;;;:41;;;1322:19;:27;;;;;:31;;;;;;;;;:43;;;;;;;;;;1369:25;;;:15;:25;;;;;;:43;;-1:-1:-1;;1369:43:1;;;;;;1082:334::o;405:123:15:-;463:7;489:5;;;505:6;;;;498:14;;;;523:1;405:123;-1:-1:-1;;;405:123:15:o;100:1666:1:-;;;;;;;;;;:::o", - "source": "pragma solidity ^0.4.21;\n\nimport './App.sol';\nimport \"./OwnableOZ.sol\";\nimport \"./SafeMathOZ.sol\";\n\ncontract AppHub is OwnableOZ // is Owned by IexecHub\n{\n\n\tusing SafeMathOZ for uint256;\n\n\t/**\n\t * Members\n\t */\n\tmapping(address => uint256) m_appCountByOwner;\n\tmapping(address => mapping(uint256 => address)) m_appByOwnerByIndex;\n\tmapping(address => bool) m_appRegistered;\n\n\tmapping(uint256 => address) m_appByIndex;\n\tuint256 public m_totalAppCount;\n\n\t/**\n\t * Constructor\n\t */\n\tfunction AppHub() public\n\t{\n\t}\n\n\t/**\n\t * Methods\n\t */\n\tfunction isAppRegistered(address _app) public view returns (bool)\n\t{\n\t\treturn m_appRegistered[_app];\n\t}\n\tfunction getAppsCount(address _owner) public view returns (uint256)\n\t{\n\t\treturn m_appCountByOwner[_owner];\n\t}\n\tfunction getApp(address _owner, uint256 _index) public view returns (address)\n\t{\n\t\treturn m_appByOwnerByIndex[_owner][_index];\n\t}\n\tfunction getAppByIndex(uint256 _index) public view returns (address)\n\t{\n\t\treturn m_appByIndex[_index];\n\t}\n\n\tfunction addApp(address _owner, address _app) internal\n\t{\n\t\tuint id = m_appCountByOwner[_owner].add(1);\n\t\tm_totalAppCount=m_totalAppCount.add(1);\n\t\tm_appByIndex [m_totalAppCount] = _app;\n\t\tm_appCountByOwner [_owner] = id;\n\t\tm_appByOwnerByIndex[_owner][id] = _app;\n\t\tm_appRegistered [_app] = true;\n\t}\n\n\tfunction createApp(\n\t\tstring _appName,\n\t\tuint256 _appPrice,\n\t\tstring _appParams)\n\tpublic onlyOwner /*owner == IexecHub*/ returns (address createdApp)\n\t{\n\t\t// tx.origin == owner\n\t\t// msg.sender == IexecHub\n\t\taddress newApp = new App(\n\t\t\tmsg.sender,\n\t\t\t_appName,\n\t\t\t_appPrice,\n\t\t\t_appParams\n\t\t);\n\t\taddApp(tx.origin, newApp);\n\t\treturn newApp;\n\t}\n\n}\n", - "sourcePath": "/Users/fbranci/iexecdev/PoCo/contracts/AppHub.sol", - "ast": { - "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/AppHub.sol", - "exportedSymbols": { - "AppHub": [ - 224 - ] - }, - "id": 225, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 56, - "literals": [ - "solidity", - "^", - "0.4", - ".21" - ], - "nodeType": "PragmaDirective", - "src": "0:24:1" - }, - { - "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/App.sol", - "file": "./App.sol", - "id": 57, - "nodeType": "ImportDirective", - "scope": 225, - "sourceUnit": 55, - "src": "26:19:1", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/OwnableOZ.sol", - "file": "./OwnableOZ.sol", - "id": 58, - "nodeType": "ImportDirective", - "scope": 225, - "sourceUnit": 3748, - "src": "46:25:1", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/SafeMathOZ.sol", - "file": "./SafeMathOZ.sol", - "id": 59, - "nodeType": "ImportDirective", - "scope": 225, - "sourceUnit": 3925, - "src": "72:26:1", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [ - { - "arguments": [], - "baseName": { - "contractScope": null, - "id": 60, - "name": "OwnableOZ", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 3747, - "src": "119:9:1", - "typeDescriptions": { - "typeIdentifier": "t_contract$_OwnableOZ_$3747", - "typeString": "contract OwnableOZ" - } - }, - "id": 61, - "nodeType": "InheritanceSpecifier", - "src": "119:9:1" - } - ], - "contractDependencies": [ - 54, - 3747 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 224, - "linearizedBaseContracts": [ - 224, - 3747 - ], - "name": "AppHub", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 64, - "libraryName": { - "contractScope": null, - "id": 62, - "name": "SafeMathOZ", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 3924, - "src": "163:10:1", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMathOZ_$3924", - "typeString": "library SafeMathOZ" - } - }, - "nodeType": "UsingForDirective", - "src": "157:29:1", - "typeName": { - "id": 63, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "178:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "constant": false, - "id": 68, - "name": "m_appCountByOwner", - "nodeType": "VariableDeclaration", - "scope": 224, - "src": "211:65:1", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 67, - "keyType": { - "id": 65, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "219:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "211:27:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 66, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "230:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 74, - "name": "m_appByOwnerByIndex", - "nodeType": "VariableDeclaration", - "scope": 224, - "src": "279:67:1", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_address_$_$", - "typeString": "mapping(address => mapping(uint256 => address))" - }, - "typeName": { - "id": 73, - "keyType": { - "id": 69, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "287:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "279:47:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_address_$_$", - "typeString": "mapping(address => mapping(uint256 => address))" - }, - "valueType": { - "id": 72, - "keyType": { - "id": 70, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "306:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "298:27:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - }, - "valueType": { - "id": 71, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "317:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 78, - "name": "m_appRegistered", - "nodeType": "VariableDeclaration", - "scope": 224, - "src": "349:63:1", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - }, - "typeName": { - "id": 77, - "keyType": { - "id": 75, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "357:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "349:24:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - }, - "valueType": { - "id": 76, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "368:4:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 82, - "name": "m_appByIndex", - "nodeType": "VariableDeclaration", - "scope": 224, - "src": "416:60:1", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - }, - "typeName": { - "id": 81, - "keyType": { - "id": 79, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "424:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "416:27:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - }, - "valueType": { - "id": 80, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "435:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 84, - "name": "m_totalAppCount", - "nodeType": "VariableDeclaration", - "scope": 224, - "src": "479:63:1", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 83, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "479:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "body": { - "id": 87, - "nodeType": "Block", - "src": "598:4:1", - "statements": [] - }, - "documentation": "Constructor", - "id": 88, - "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, - "modifiers": [], - "name": "AppHub", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 85, - "nodeType": "ParameterList", - "parameters": [], - "src": "587:2:1" - }, - "payable": false, - "returnParameters": { - "id": 86, - "nodeType": "ParameterList", - "parameters": [], - "src": "598:0:1" - }, - "scope": 224, - "src": "572:30:1", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 99, - "nodeType": "Block", - "src": "694:36:1", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 95, - "name": "m_appRegistered", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 78, - "src": "705:15:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 97, - "indexExpression": { - "argumentTypes": null, - "id": 96, - "name": "_app", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 90, - "src": "721:4:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "705:21:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 94, - "id": 98, - "nodeType": "Return", - "src": "698:28:1" - } - ] - }, - "documentation": "Methods", - "id": 100, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "isAppRegistered", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 91, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 90, - "name": "_app", - "nodeType": "VariableDeclaration", - "scope": 100, - "src": "652:12:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 89, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "652:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "651:14:1" - }, - "payable": false, - "returnParameters": { - "id": 94, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 93, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 100, - "src": "687:4:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 92, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "687:4:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "686:6:1" - }, - "scope": 224, - "src": "627:103:1", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 111, - "nodeType": "Block", - "src": "801:40:1", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 107, - "name": "m_appCountByOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 68, - "src": "812:17:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 109, - "indexExpression": { - "argumentTypes": null, - "id": 108, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 102, - "src": "830:6:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "812:25:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 106, - "id": 110, - "nodeType": "Return", - "src": "805:32:1" - } - ] - }, - "documentation": null, - "id": 112, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getAppsCount", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 103, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 102, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 112, - "src": "754:14:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 101, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "754:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "753:16:1" - }, - "payable": false, - "returnParameters": { - "id": 106, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 105, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 112, - "src": "791:7:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 104, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "791:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "790:9:1" - }, - "scope": 224, - "src": "732:109:1", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 127, - "nodeType": "Block", - "src": "922:50:1", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 121, - "name": "m_appByOwnerByIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74, - "src": "933:19:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_address_$_$", - "typeString": "mapping(address => mapping(uint256 => address))" - } - }, - "id": 123, - "indexExpression": { - "argumentTypes": null, - "id": 122, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 114, - "src": "953:6:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "933:27:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - } - }, - "id": 125, - "indexExpression": { - "argumentTypes": null, - "id": 124, - "name": "_index", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 116, - "src": "961:6:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "933:35:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 120, - "id": 126, - "nodeType": "Return", - "src": "926:42:1" - } - ] - }, - "documentation": null, - "id": 128, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getApp", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 117, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 114, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 128, - "src": "859:14:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 113, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "859:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 116, - "name": "_index", - "nodeType": "VariableDeclaration", - "scope": 128, - "src": "875:14:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 115, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "875:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "858:32:1" - }, - "payable": false, - "returnParameters": { - "id": 120, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 119, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 128, - "src": "912:7:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 118, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "912:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "911:9:1" - }, - "scope": 224, - "src": "843:129:1", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 139, - "nodeType": "Block", - "src": "1044:35:1", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 135, - "name": "m_appByIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82, - "src": "1055:12:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - } - }, - "id": 137, - "indexExpression": { - "argumentTypes": null, - "id": 136, - "name": "_index", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 130, - "src": "1068:6:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1055:20:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 134, - "id": 138, - "nodeType": "Return", - "src": "1048:27:1" - } - ] - }, - "documentation": null, - "id": 140, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getAppByIndex", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 131, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 130, - "name": "_index", - "nodeType": "VariableDeclaration", - "scope": 140, - "src": "997:14:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 129, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "997:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "996:16:1" - }, - "payable": false, - "returnParameters": { - "id": 134, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 133, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 140, - "src": "1034:7:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 132, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1034:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1033:9:1" - }, - "scope": 224, - "src": "974:105:1", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 189, - "nodeType": "Block", - "src": "1138:278:1", - "statements": [ - { - "assignments": [ - 148 - ], - "declarations": [ - { - "constant": false, - "id": 148, - "name": "id", - "nodeType": "VariableDeclaration", - "scope": 190, - "src": "1142:7:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 147, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1142:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 155, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "31", - "id": 153, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1182:1:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 149, - "name": "m_appCountByOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 68, - "src": "1152:17:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 151, - "indexExpression": { - "argumentTypes": null, - "id": 150, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 142, - "src": "1170:6:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1152:25:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 152, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 3773, - "src": "1152:29:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 154, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1152:32:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1142:42:1" - }, - { - "expression": { - "argumentTypes": null, - "id": 161, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 156, - "name": "m_totalAppCount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 84, - "src": "1188:15:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "31", - "id": 159, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1224:1:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - } - ], - "expression": { - "argumentTypes": null, - "id": 157, - "name": "m_totalAppCount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 84, - "src": "1204:15:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 158, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 3773, - "src": "1204:19:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 160, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1204:22:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1188:38:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 162, - "nodeType": "ExpressionStatement", - "src": "1188:38:1" - }, - { - "expression": { - "argumentTypes": null, - "id": 167, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 163, - "name": "m_appByIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82, - "src": "1230:12:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - } - }, - "id": 165, - "indexExpression": { - "argumentTypes": null, - "id": 164, - "name": "m_totalAppCount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 84, - "src": "1250:15:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1230:36:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 166, - "name": "_app", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 144, - "src": "1269:4:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1230:43:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 168, - "nodeType": "ExpressionStatement", - "src": "1230:43:1" - }, - { - "expression": { - "argumentTypes": null, - "id": 173, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 169, - "name": "m_appCountByOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 68, - "src": "1277:17:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 171, - "indexExpression": { - "argumentTypes": null, - "id": 170, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 142, - "src": "1297:6:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1277:27:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 172, - "name": "id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 148, - "src": "1316:2:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1277:41:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 174, - "nodeType": "ExpressionStatement", - "src": "1277:41:1" - }, - { - "expression": { - "argumentTypes": null, - "id": 181, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 175, - "name": "m_appByOwnerByIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74, - "src": "1322:19:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_address_$_$", - "typeString": "mapping(address => mapping(uint256 => address))" - } - }, - "id": 178, - "indexExpression": { - "argumentTypes": null, - "id": 176, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 142, - "src": "1342:6:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1322:27:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - } - }, - "id": 179, - "indexExpression": { - "argumentTypes": null, - "id": 177, - "name": "id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 148, - "src": "1350:2:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1322:31:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 180, - "name": "_app", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 144, - "src": "1361:4:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1322:43:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 182, - "nodeType": "ExpressionStatement", - "src": "1322:43:1" - }, - { - "expression": { - "argumentTypes": null, - "id": 187, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 183, - "name": "m_appRegistered", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 78, - "src": "1369:15:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 185, - "indexExpression": { - "argumentTypes": null, - "id": 184, - "name": "_app", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 144, - "src": "1389:4:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1369:25:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 186, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1408:4:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "1369:43:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 188, - "nodeType": "ExpressionStatement", - "src": "1369:43:1" - } - ] - }, - "documentation": null, - "id": 190, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "addApp", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 145, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 142, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 190, - "src": "1098:14:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 141, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1098:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 144, - "name": "_app", - "nodeType": "VariableDeclaration", - "scope": 190, - "src": "1114:12:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 143, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1114:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1097:30:1" - }, - "payable": false, - "returnParameters": { - "id": 146, - "nodeType": "ParameterList", - "parameters": [], - "src": "1138:0:1" - }, - "scope": 224, - "src": "1082:334:1", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 222, - "nodeType": "Block", - "src": "1572:191:1", - "statements": [ - { - "assignments": [ - 204 - ], - "declarations": [ - { - "constant": false, - "id": 204, - "name": "newApp", - "nodeType": "VariableDeclaration", - "scope": 223, - "src": "1628:14:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 203, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1628:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 213, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 207, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "1657:3:1", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 208, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1657:10:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 209, - "name": "_appName", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 192, - "src": "1672:8:1", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 210, - "name": "_appPrice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 194, - "src": "1685:9:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 211, - "name": "_appParams", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 196, - "src": "1699:10:1", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 206, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "1645:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_creation_nonpayable$_t_address_$_t_string_memory_ptr_$_t_uint256_$_t_string_memory_ptr_$returns$_t_contract$_App_$54_$", - "typeString": "function (address,string memory,uint256,string memory) returns (contract App)" - }, - "typeName": { - "contractScope": null, - "id": 205, - "name": "App", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 54, - "src": "1649:3:1", - "typeDescriptions": { - "typeIdentifier": "t_contract$_App_$54", - "typeString": "contract App" - } - } - }, - "id": 212, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1645:68:1", - "typeDescriptions": { - "typeIdentifier": "t_contract$_App_$54", - "typeString": "contract App" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1628:85:1" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 215, - "name": "tx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7018, - "src": "1724:2:1", - "typeDescriptions": { - "typeIdentifier": "t_magic_transaction", - "typeString": "tx" - } - }, - "id": 216, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "origin", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1724:9:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 217, - "name": "newApp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 204, - "src": "1735:6:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 214, - "name": "addApp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 190, - "src": "1717:6:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$returns$__$", - "typeString": "function (address,address)" - } - }, - "id": 218, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1717:25:1", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 219, - "nodeType": "ExpressionStatement", - "src": "1717:25:1" - }, - { - "expression": { - "argumentTypes": null, - "id": 220, - "name": "newApp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 204, - "src": "1753:6:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 202, - "id": 221, - "nodeType": "Return", - "src": "1746:13:1" - } - ] - }, - "documentation": null, - "id": 223, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [], - "id": 199, - "modifierName": { - "argumentTypes": null, - "id": 198, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3700, - "src": "1510:9:1", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "1510:9:1" - } - ], - "name": "createApp", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 197, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 192, - "name": "_appName", - "nodeType": "VariableDeclaration", - "scope": 223, - "src": "1441:16:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - "typeName": { - "id": 191, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1441:6:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 194, - "name": "_appPrice", - "nodeType": "VariableDeclaration", - "scope": 223, - "src": "1461:17:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 193, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1461:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 196, - "name": "_appParams", - "nodeType": "VariableDeclaration", - "scope": 223, - "src": "1482:18:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - "typeName": { - "id": 195, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1482:6:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1437:64:1" - }, - "payable": false, - "returnParameters": { - "id": 202, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 201, - "name": "createdApp", - "nodeType": "VariableDeclaration", - "scope": 223, - "src": "1551:18:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 200, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1551:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1550:20:1" - }, - "scope": 224, - "src": "1419:344:1", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 225, - "src": "100:1666:1" - } - ], - "src": "0:1767:1" - }, - "legacyAST": { - "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/AppHub.sol", - "exportedSymbols": { - "AppHub": [ - 224 - ] - }, - "id": 225, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 56, - "literals": [ - "solidity", - "^", - "0.4", - ".21" - ], - "nodeType": "PragmaDirective", - "src": "0:24:1" - }, - { - "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/App.sol", - "file": "./App.sol", - "id": 57, - "nodeType": "ImportDirective", - "scope": 225, - "sourceUnit": 55, - "src": "26:19:1", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/OwnableOZ.sol", - "file": "./OwnableOZ.sol", - "id": 58, - "nodeType": "ImportDirective", - "scope": 225, - "sourceUnit": 3748, - "src": "46:25:1", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/SafeMathOZ.sol", - "file": "./SafeMathOZ.sol", - "id": 59, - "nodeType": "ImportDirective", - "scope": 225, - "sourceUnit": 3925, - "src": "72:26:1", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [ - { - "arguments": [], - "baseName": { - "contractScope": null, - "id": 60, - "name": "OwnableOZ", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 3747, - "src": "119:9:1", - "typeDescriptions": { - "typeIdentifier": "t_contract$_OwnableOZ_$3747", - "typeString": "contract OwnableOZ" - } - }, - "id": 61, - "nodeType": "InheritanceSpecifier", - "src": "119:9:1" - } - ], - "contractDependencies": [ - 54, - 3747 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 224, - "linearizedBaseContracts": [ - 224, - 3747 - ], - "name": "AppHub", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 64, - "libraryName": { - "contractScope": null, - "id": 62, - "name": "SafeMathOZ", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 3924, - "src": "163:10:1", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMathOZ_$3924", - "typeString": "library SafeMathOZ" - } - }, - "nodeType": "UsingForDirective", - "src": "157:29:1", - "typeName": { - "id": 63, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "178:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "constant": false, - "id": 68, - "name": "m_appCountByOwner", - "nodeType": "VariableDeclaration", - "scope": 224, - "src": "211:65:1", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 67, - "keyType": { - "id": 65, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "219:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "211:27:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 66, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "230:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 74, - "name": "m_appByOwnerByIndex", - "nodeType": "VariableDeclaration", - "scope": 224, - "src": "279:67:1", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_address_$_$", - "typeString": "mapping(address => mapping(uint256 => address))" - }, - "typeName": { - "id": 73, - "keyType": { - "id": 69, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "287:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "279:47:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_address_$_$", - "typeString": "mapping(address => mapping(uint256 => address))" - }, - "valueType": { - "id": 72, - "keyType": { - "id": 70, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "306:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "298:27:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - }, - "valueType": { - "id": 71, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "317:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 78, - "name": "m_appRegistered", - "nodeType": "VariableDeclaration", - "scope": 224, - "src": "349:63:1", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - }, - "typeName": { - "id": 77, - "keyType": { - "id": 75, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "357:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "349:24:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - }, - "valueType": { - "id": 76, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "368:4:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 82, - "name": "m_appByIndex", - "nodeType": "VariableDeclaration", - "scope": 224, - "src": "416:60:1", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - }, - "typeName": { - "id": 81, - "keyType": { - "id": 79, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "424:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "416:27:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - }, - "valueType": { - "id": 80, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "435:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 84, - "name": "m_totalAppCount", - "nodeType": "VariableDeclaration", - "scope": 224, - "src": "479:63:1", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 83, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "479:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "body": { - "id": 87, - "nodeType": "Block", - "src": "598:4:1", - "statements": [] - }, - "documentation": "Constructor", - "id": 88, - "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, - "modifiers": [], - "name": "AppHub", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 85, - "nodeType": "ParameterList", - "parameters": [], - "src": "587:2:1" - }, - "payable": false, - "returnParameters": { - "id": 86, - "nodeType": "ParameterList", - "parameters": [], - "src": "598:0:1" - }, - "scope": 224, - "src": "572:30:1", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 99, - "nodeType": "Block", - "src": "694:36:1", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 95, - "name": "m_appRegistered", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 78, - "src": "705:15:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 97, - "indexExpression": { - "argumentTypes": null, - "id": 96, - "name": "_app", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 90, - "src": "721:4:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "705:21:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 94, - "id": 98, - "nodeType": "Return", - "src": "698:28:1" - } - ] - }, - "documentation": "Methods", - "id": 100, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "isAppRegistered", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 91, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 90, - "name": "_app", - "nodeType": "VariableDeclaration", - "scope": 100, - "src": "652:12:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 89, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "652:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "651:14:1" - }, - "payable": false, - "returnParameters": { - "id": 94, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 93, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 100, - "src": "687:4:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 92, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "687:4:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "686:6:1" - }, - "scope": 224, - "src": "627:103:1", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 111, - "nodeType": "Block", - "src": "801:40:1", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 107, - "name": "m_appCountByOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 68, - "src": "812:17:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 109, - "indexExpression": { - "argumentTypes": null, - "id": 108, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 102, - "src": "830:6:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "812:25:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 106, - "id": 110, - "nodeType": "Return", - "src": "805:32:1" - } - ] - }, - "documentation": null, - "id": 112, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getAppsCount", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 103, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 102, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 112, - "src": "754:14:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 101, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "754:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "753:16:1" - }, - "payable": false, - "returnParameters": { - "id": 106, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 105, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 112, - "src": "791:7:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 104, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "791:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "790:9:1" - }, - "scope": 224, - "src": "732:109:1", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 127, - "nodeType": "Block", - "src": "922:50:1", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 121, - "name": "m_appByOwnerByIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74, - "src": "933:19:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_address_$_$", - "typeString": "mapping(address => mapping(uint256 => address))" - } - }, - "id": 123, - "indexExpression": { - "argumentTypes": null, - "id": 122, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 114, - "src": "953:6:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "933:27:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - } - }, - "id": 125, - "indexExpression": { - "argumentTypes": null, - "id": 124, - "name": "_index", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 116, - "src": "961:6:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "933:35:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 120, - "id": 126, - "nodeType": "Return", - "src": "926:42:1" - } - ] - }, - "documentation": null, - "id": 128, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getApp", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 117, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 114, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 128, - "src": "859:14:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 113, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "859:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 116, - "name": "_index", - "nodeType": "VariableDeclaration", - "scope": 128, - "src": "875:14:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 115, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "875:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "858:32:1" - }, - "payable": false, - "returnParameters": { - "id": 120, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 119, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 128, - "src": "912:7:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 118, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "912:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "911:9:1" - }, - "scope": 224, - "src": "843:129:1", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 139, - "nodeType": "Block", - "src": "1044:35:1", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 135, - "name": "m_appByIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82, - "src": "1055:12:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - } - }, - "id": 137, - "indexExpression": { - "argumentTypes": null, - "id": 136, - "name": "_index", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 130, - "src": "1068:6:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1055:20:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 134, - "id": 138, - "nodeType": "Return", - "src": "1048:27:1" - } - ] - }, - "documentation": null, - "id": 140, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getAppByIndex", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 131, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 130, - "name": "_index", - "nodeType": "VariableDeclaration", - "scope": 140, - "src": "997:14:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 129, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "997:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "996:16:1" - }, - "payable": false, - "returnParameters": { - "id": 134, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 133, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 140, - "src": "1034:7:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 132, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1034:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1033:9:1" - }, - "scope": 224, - "src": "974:105:1", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 189, - "nodeType": "Block", - "src": "1138:278:1", - "statements": [ - { - "assignments": [ - 148 - ], - "declarations": [ - { - "constant": false, - "id": 148, - "name": "id", - "nodeType": "VariableDeclaration", - "scope": 190, - "src": "1142:7:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 147, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1142:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 155, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "31", - "id": 153, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1182:1:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 149, - "name": "m_appCountByOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 68, - "src": "1152:17:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 151, - "indexExpression": { - "argumentTypes": null, - "id": 150, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 142, - "src": "1170:6:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1152:25:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 152, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 3773, - "src": "1152:29:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 154, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1152:32:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1142:42:1" - }, - { - "expression": { - "argumentTypes": null, - "id": 161, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 156, - "name": "m_totalAppCount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 84, - "src": "1188:15:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "31", - "id": 159, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1224:1:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - } - ], - "expression": { - "argumentTypes": null, - "id": 157, - "name": "m_totalAppCount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 84, - "src": "1204:15:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 158, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 3773, - "src": "1204:19:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 160, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1204:22:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1188:38:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 162, - "nodeType": "ExpressionStatement", - "src": "1188:38:1" - }, - { - "expression": { - "argumentTypes": null, - "id": 167, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 163, - "name": "m_appByIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82, - "src": "1230:12:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - } - }, - "id": 165, - "indexExpression": { - "argumentTypes": null, - "id": 164, - "name": "m_totalAppCount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 84, - "src": "1250:15:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1230:36:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 166, - "name": "_app", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 144, - "src": "1269:4:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1230:43:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 168, - "nodeType": "ExpressionStatement", - "src": "1230:43:1" - }, - { - "expression": { - "argumentTypes": null, - "id": 173, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 169, - "name": "m_appCountByOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 68, - "src": "1277:17:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 171, - "indexExpression": { - "argumentTypes": null, - "id": 170, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 142, - "src": "1297:6:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1277:27:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 172, - "name": "id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 148, - "src": "1316:2:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1277:41:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 174, - "nodeType": "ExpressionStatement", - "src": "1277:41:1" - }, - { - "expression": { - "argumentTypes": null, - "id": 181, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 175, - "name": "m_appByOwnerByIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74, - "src": "1322:19:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_address_$_$", - "typeString": "mapping(address => mapping(uint256 => address))" - } - }, - "id": 178, - "indexExpression": { - "argumentTypes": null, - "id": 176, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 142, - "src": "1342:6:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1322:27:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - } - }, - "id": 179, - "indexExpression": { - "argumentTypes": null, - "id": 177, - "name": "id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 148, - "src": "1350:2:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1322:31:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 180, - "name": "_app", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 144, - "src": "1361:4:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1322:43:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 182, - "nodeType": "ExpressionStatement", - "src": "1322:43:1" - }, - { - "expression": { - "argumentTypes": null, - "id": 187, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 183, - "name": "m_appRegistered", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 78, - "src": "1369:15:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 185, - "indexExpression": { - "argumentTypes": null, - "id": 184, - "name": "_app", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 144, - "src": "1389:4:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1369:25:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 186, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1408:4:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "1369:43:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 188, - "nodeType": "ExpressionStatement", - "src": "1369:43:1" - } - ] - }, - "documentation": null, - "id": 190, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "addApp", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 145, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 142, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 190, - "src": "1098:14:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 141, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1098:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 144, - "name": "_app", - "nodeType": "VariableDeclaration", - "scope": 190, - "src": "1114:12:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 143, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1114:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1097:30:1" - }, - "payable": false, - "returnParameters": { - "id": 146, - "nodeType": "ParameterList", - "parameters": [], - "src": "1138:0:1" - }, - "scope": 224, - "src": "1082:334:1", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 222, - "nodeType": "Block", - "src": "1572:191:1", - "statements": [ - { - "assignments": [ - 204 - ], - "declarations": [ - { - "constant": false, - "id": 204, - "name": "newApp", - "nodeType": "VariableDeclaration", - "scope": 223, - "src": "1628:14:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 203, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1628:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 213, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 207, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "1657:3:1", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 208, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1657:10:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 209, - "name": "_appName", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 192, - "src": "1672:8:1", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 210, - "name": "_appPrice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 194, - "src": "1685:9:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 211, - "name": "_appParams", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 196, - "src": "1699:10:1", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 206, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "1645:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_creation_nonpayable$_t_address_$_t_string_memory_ptr_$_t_uint256_$_t_string_memory_ptr_$returns$_t_contract$_App_$54_$", - "typeString": "function (address,string memory,uint256,string memory) returns (contract App)" - }, - "typeName": { - "contractScope": null, - "id": 205, - "name": "App", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 54, - "src": "1649:3:1", - "typeDescriptions": { - "typeIdentifier": "t_contract$_App_$54", - "typeString": "contract App" - } - } - }, - "id": 212, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1645:68:1", - "typeDescriptions": { - "typeIdentifier": "t_contract$_App_$54", - "typeString": "contract App" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1628:85:1" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 215, - "name": "tx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7018, - "src": "1724:2:1", - "typeDescriptions": { - "typeIdentifier": "t_magic_transaction", - "typeString": "tx" - } - }, - "id": 216, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "origin", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1724:9:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 217, - "name": "newApp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 204, - "src": "1735:6:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 214, - "name": "addApp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 190, - "src": "1717:6:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$returns$__$", - "typeString": "function (address,address)" - } - }, - "id": 218, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1717:25:1", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 219, - "nodeType": "ExpressionStatement", - "src": "1717:25:1" - }, - { - "expression": { - "argumentTypes": null, - "id": 220, - "name": "newApp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 204, - "src": "1753:6:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 202, - "id": 221, - "nodeType": "Return", - "src": "1746:13:1" - } - ] - }, - "documentation": null, - "id": 223, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [], - "id": 199, - "modifierName": { - "argumentTypes": null, - "id": 198, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3700, - "src": "1510:9:1", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "1510:9:1" - } - ], - "name": "createApp", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 197, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 192, - "name": "_appName", - "nodeType": "VariableDeclaration", - "scope": 223, - "src": "1441:16:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - "typeName": { - "id": 191, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1441:6:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 194, - "name": "_appPrice", - "nodeType": "VariableDeclaration", - "scope": 223, - "src": "1461:17:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 193, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1461:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 196, - "name": "_appParams", - "nodeType": "VariableDeclaration", - "scope": 223, - "src": "1482:18:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - "typeName": { - "id": 195, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1482:6:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1437:64:1" - }, - "payable": false, - "returnParameters": { - "id": 202, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 201, - "name": "createdApp", - "nodeType": "VariableDeclaration", - "scope": 223, - "src": "1551:18:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 200, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1551:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1550:20:1" - }, - "scope": 224, - "src": "1419:344:1", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 225, - "src": "100:1666:1" - } - ], - "src": "0:1767:1" - }, - "compiler": { - "name": "solc", - "version": "0.4.21+commit.dfe3193c.Emscripten.clang" - }, - "networks": { - "3": { - "events": { - "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - } - }, - "links": {}, - "address": "0xc61868aa0b3faefeb4ff741cfbf0911657707d09", - "transactionHash": "0x788d168f1a7f0ec25a5d941431848fa56374485fc46ff3dad27e8147af933016" - }, - "4": { - "events": { - "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - } - }, - "links": {}, - "address": "0x61896fb3107d31f18d18b931e95aad89d93b8b67", - "transactionHash": "0xeae9779434ff91703753957267437557c6d2e277011e4defb2a78e9f4f425eef" - }, - "42": { - "events": { - "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - } - }, - "links": {}, - "address": "0x90c7154bc5e77a0ff535bd9ac1ecd9cc14718f08", - "transactionHash": "0x8715c22e75f25c47236d6b109c4ef50be3c9d1c81f78803a529ec0b6dca15bb0" - } - }, - "schemaVersion": "2.0.0", - "updatedAt": "2018-05-21T11:48:56.455Z" -} diff --git a/build/contracts/Dataset.json b/build/contracts/Dataset.json deleted file mode 100644 index de8c4a2d..00000000 --- a/build/contracts/Dataset.json +++ /dev/null @@ -1,1508 +0,0 @@ -{ - "contractName": "Dataset", - "abi": [ - { - "constant": true, - "inputs": [], - "name": "m_datasetName", - "outputs": [ - { - "name": "", - "type": "string" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "m_datasetPrice", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_newOwner", - "type": "address" - } - ], - "name": "setImmutableOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "m_datasetParams", - "outputs": [ - { - "name": "", - "type": "string" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "m_owner", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "m_changeable", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "name": "_iexecHubAddress", - "type": "address" - }, - { - "name": "_datasetName", - "type": "string" - }, - { - "name": "_datasetPrice", - "type": "uint256" - }, - { - "name": "_datasetParams", - "type": "string" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - } - ], - "bytecode": "0x6060604052341561000f57600080fd5b6040516106733803806106738339810160405280805191906020018051820191906020018051919060200180516000805460a060020a60ff0219600160a060020a03338116600160a060020a0319909316929092171674010000000000000000000000000000000000000000179091559201918591508116151561009257600080fd5b60018054600160a060020a031916600160a060020a039283161790553381163290911614156100c057600080fd5b6100d63264010000000061025961010c82021704565b60028380516100e99291602001906101cd565b50600382905560048180516101029291602001906101cd565b5050505050610268565b60005433600160a060020a0390811691161461012757600080fd5b60005474010000000000000000000000000000000000000000900460ff16151561015057600080fd5b600160a060020a038116151561016557600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008054600160a060020a031916600160a060020a03929092169190911760a060020a60ff0219169055565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061020e57805160ff191683800117855561023b565b8280016001018555821561023b579182015b8281111561023b578251825591602001919060010190610220565b5061024792915061024b565b5090565b61026591905b808211156102475760008155600101610251565b90565b6103fc806102776000396000f3006060604052600436106100775763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630847c431811461007c57806362d598eb14610106578063bbac78a91461012b578063c2880e171461014c578063deff41c11461015f578063e21b9d081461018e575b600080fd5b341561008757600080fd5b61008f6101b5565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156100cb5780820151838201526020016100b3565b50505050905090810190601f1680156100f85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561011157600080fd5b610119610253565b60405190815260200160405180910390f35b341561013657600080fd5b61014a600160a060020a0360043516610259565b005b341561015757600080fd5b61008f610335565b341561016a57600080fd5b6101726103a0565b604051600160a060020a03909116815260200160405180910390f35b341561019957600080fd5b6101a16103af565b604051901515815260200160405180910390f35b60028054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561024b5780601f106102205761010080835404028352916020019161024b565b820191906000526020600020905b81548152906001019060200180831161022e57829003601f168201915b505050505081565b60035481565b60005433600160a060020a0390811691161461027457600080fd5b60005474010000000000000000000000000000000000000000900460ff16151561029d57600080fd5b600160a060020a03811615156102b257600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911774ff000000000000000000000000000000000000000019169055565b60048054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561024b5780601f106102205761010080835404028352916020019161024b565b600054600160a060020a031681565b60005474010000000000000000000000000000000000000000900460ff16815600a165627a7a723058205ffc863a097aa3a9df8dcd15972d278d368758dd3e2a6e19a607a6f484d5c0b20029", - "deployedBytecode": "0x6060604052600436106100775763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630847c431811461007c57806362d598eb14610106578063bbac78a91461012b578063c2880e171461014c578063deff41c11461015f578063e21b9d081461018e575b600080fd5b341561008757600080fd5b61008f6101b5565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156100cb5780820151838201526020016100b3565b50505050905090810190601f1680156100f85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561011157600080fd5b610119610253565b60405190815260200160405180910390f35b341561013657600080fd5b61014a600160a060020a0360043516610259565b005b341561015757600080fd5b61008f610335565b341561016a57600080fd5b6101726103a0565b604051600160a060020a03909116815260200160405180910390f35b341561019957600080fd5b6101a16103af565b604051901515815260200160405180910390f35b60028054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561024b5780601f106102205761010080835404028352916020019161024b565b820191906000526020600020905b81548152906001019060200180831161022e57829003601f168201915b505050505081565b60035481565b60005433600160a060020a0390811691161461027457600080fd5b60005474010000000000000000000000000000000000000000900460ff16151561029d57600080fd5b600160a060020a03811615156102b257600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911774ff000000000000000000000000000000000000000019169055565b60048054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561024b5780601f106102205761010080835404028352916020019161024b565b600054600160a060020a031681565b60005474010000000000000000000000000000000000000000900460ff16815600a165627a7a723058205ffc863a097aa3a9df8dcd15972d278d368758dd3e2a6e19a607a6f484d5c0b20029", - "sourceMap": "86:657:2:-;;;313:426;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;667:7:14;:25;;-1:-1:-1;;;;;;;;;;;682:10:14;667:25;;-1:-1:-1;;;;;;667:25:14;;;;;;;696:19;;;;;;313:426:2;;;452:16;;-1:-1:-1;300:30:7;;;;292:39;;;;;;335:17;:55;;-1:-1:-1;;;;;;335:55:7;-1:-1:-1;;;;;335:55:7;;;;;;558:10:2;545:23;;:9;:23;;;;;537:32;;;;;;573;595:9;573:21;;;;;;:32;:::i;:::-;633:13;651:12;;633:30;;;;;;;;:::i;:::-;-1:-1:-1;667:14:2;:31;;;702:15;720:14;;702:32;;;;;;;;:::i;:::-;;313:426;;;;86:657;;876:234:14;502:7;;488:10;-1:-1:-1;;;;;488:21:14;;;502:7;;488:21;480:30;;;;;;956:12;;;;;;;948:21;;;;;;;;-1:-1:-1;;;;;981:23:14;;;;973:32;;;;;;1035:7;;-1:-1:-1;;;;;1014:40:14;;;;1035:7;1014:40;;;;;;;;;;1058:7;:24;;-1:-1:-1;;;;;;1058:24:14;-1:-1:-1;;;;;1058:24:14;;;;;;;;-1:-1:-1;;;;;;1086:20:14;;;876:234::o;86:657:2:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;86:657:2;;;-1:-1:-1;86:657:2;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;", - "deployedSourceMap": "86:657:2:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;160:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;160:38:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;201:39;;;;;;;;;;;;;;;;;;;;;;;;;;;876:234:14;;;;;;;;;;;;-1:-1:-1;;;;;876:234:14;;;;;243:40:2;;;;;;;;;;;;238:22:14;;;;;;;;;;;;;;;-1:-1:-1;;;;;238:22:14;;;;;;;;;;;;;;;263:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;160:38:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;201:39::-;;;;:::o;876:234:14:-;502:7;;488:10;-1:-1:-1;;;;;488:21:14;;;502:7;;488:21;480:30;;;;;;956:12;;;;;;;948:21;;;;;;;;-1:-1:-1;;;;;981:23:14;;;;973:32;;;;;;1035:7;;-1:-1:-1;;;;;1014:40:14;;;;1035:7;1014:40;;;;;;;;;;1058:7;:24;;-1:-1:-1;;1058:24:14;-1:-1:-1;;;;;1058:24:14;;;;;;;;-1:-1:-1;;1086:20:14;;;876:234::o;243:40:2:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;238:22:14;;;-1:-1:-1;;;;;238:22:14;;:::o;263:27::-;;;;;;;;;:::o", - "source": "pragma solidity ^0.4.21;\n\nimport './OwnableOZ.sol';\nimport './IexecHubAccessor.sol';\n\ncontract Dataset is OwnableOZ, IexecHubAccessor\n{\n\n\t/**\n\t * Members\n\t */\n\tstring public m_datasetName;\n\tuint256 public m_datasetPrice;\n\tstring public m_datasetParams;\n\n\t/**\n\t * Constructor\n\t */\n\tfunction Dataset(\n\t\taddress _iexecHubAddress,\n\t\tstring _datasetName,\n\t\tuint256 _datasetPrice,\n\t\tstring _datasetParams)\n\tIexecHubAccessor(_iexecHubAddress)\n\tpublic\n\t{\n\t\t// tx.origin == owner\n\t\t// msg.sender == DatasetHub\n\t\trequire(tx.origin != msg.sender);\n\t\tsetImmutableOwnership(tx.origin); // owner → tx.origin\n\n\t\tm_datasetName = _datasetName;\n\t\tm_datasetPrice = _datasetPrice;\n\t\tm_datasetParams = _datasetParams;\n\n\t}\n\n\n}\n", - "sourcePath": "/Users/fbranci/iexecdev/PoCo/contracts/Dataset.sol", - "ast": { - "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/Dataset.sol", - "exportedSymbols": { - "Dataset": [ - 279 - ] - }, - "id": 280, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 226, - "literals": [ - "solidity", - "^", - "0.4", - ".21" - ], - "nodeType": "PragmaDirective", - "src": "0:24:2" - }, - { - "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/OwnableOZ.sol", - "file": "./OwnableOZ.sol", - "id": 227, - "nodeType": "ImportDirective", - "scope": 280, - "sourceUnit": 3748, - "src": "26:25:2", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/IexecHubAccessor.sol", - "file": "./IexecHubAccessor.sol", - "id": 228, - "nodeType": "ImportDirective", - "scope": 280, - "sourceUnit": 2476, - "src": "52:32:2", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [ - { - "arguments": [], - "baseName": { - "contractScope": null, - "id": 229, - "name": "OwnableOZ", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 3747, - "src": "106:9:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_OwnableOZ_$3747", - "typeString": "contract OwnableOZ" - } - }, - "id": 230, - "nodeType": "InheritanceSpecifier", - "src": "106:9:2" - }, - { - "arguments": [], - "baseName": { - "contractScope": null, - "id": 231, - "name": "IexecHubAccessor", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2475, - "src": "117:16:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IexecHubAccessor_$2475", - "typeString": "contract IexecHubAccessor" - } - }, - "id": 232, - "nodeType": "InheritanceSpecifier", - "src": "117:16:2" - } - ], - "contractDependencies": [ - 2475, - 3747 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 279, - "linearizedBaseContracts": [ - 279, - 2475, - 3747 - ], - "name": "Dataset", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "id": 234, - "name": "m_datasetName", - "nodeType": "VariableDeclaration", - "scope": 279, - "src": "160:38:2", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - }, - "typeName": { - "id": 233, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "160:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 236, - "name": "m_datasetPrice", - "nodeType": "VariableDeclaration", - "scope": 279, - "src": "201:39:2", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 235, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "201:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 238, - "name": "m_datasetParams", - "nodeType": "VariableDeclaration", - "scope": 279, - "src": "243:40:2", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - }, - "typeName": { - "id": 237, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "243:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "public" - }, - { - "body": { - "id": 277, - "nodeType": "Block", - "src": "479:260:2", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 257, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 253, - "name": "tx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7018, - "src": "545:2:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_transaction", - "typeString": "tx" - } - }, - "id": 254, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "origin", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "545:9:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 255, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "558:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 256, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "558:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "545:23:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 252, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "537:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 258, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "537:32:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 259, - "nodeType": "ExpressionStatement", - "src": "537:32:2" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 261, - "name": "tx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7018, - "src": "595:2:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_transaction", - "typeString": "tx" - } - }, - "id": 262, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "origin", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "595:9:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 260, - "name": "setImmutableOwnership", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3746, - "src": "573:21:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 263, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "573:32:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 264, - "nodeType": "ExpressionStatement", - "src": "573:32:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 267, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 265, - "name": "m_datasetName", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 234, - "src": "633:13:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 266, - "name": "_datasetName", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 242, - "src": "651:12:2", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "633:30:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 268, - "nodeType": "ExpressionStatement", - "src": "633:30:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 271, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 269, - "name": "m_datasetPrice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 236, - "src": "667:14:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 270, - "name": "_datasetPrice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 244, - "src": "685:13:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "667:31:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 272, - "nodeType": "ExpressionStatement", - "src": "667:31:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 275, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 273, - "name": "m_datasetParams", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 238, - "src": "702:15:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 274, - "name": "_datasetParams", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 246, - "src": "720:14:2", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "702:32:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 276, - "nodeType": "ExpressionStatement", - "src": "702:32:2" - } - ] - }, - "documentation": "Constructor", - "id": 278, - "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 249, - "name": "_iexecHubAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 240, - "src": "452:16:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "id": 250, - "modifierName": { - "argumentTypes": null, - "id": 248, - "name": "IexecHubAccessor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2475, - "src": "435:16:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IexecHubAccessor_$2475_$", - "typeString": "type(contract IexecHubAccessor)" - } - }, - "nodeType": "ModifierInvocation", - "src": "435:34:2" - } - ], - "name": "Dataset", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 247, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 240, - "name": "_iexecHubAddress", - "nodeType": "VariableDeclaration", - "scope": 278, - "src": "333:24:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 239, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "333:7:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 242, - "name": "_datasetName", - "nodeType": "VariableDeclaration", - "scope": 278, - "src": "361:20:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - "typeName": { - "id": 241, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "361:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 244, - "name": "_datasetPrice", - "nodeType": "VariableDeclaration", - "scope": 278, - "src": "385:21:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 243, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "385:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 246, - "name": "_datasetParams", - "nodeType": "VariableDeclaration", - "scope": 278, - "src": "410:22:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - "typeName": { - "id": 245, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "410:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "329:104:2" - }, - "payable": false, - "returnParameters": { - "id": 251, - "nodeType": "ParameterList", - "parameters": [], - "src": "479:0:2" - }, - "scope": 279, - "src": "313:426:2", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 280, - "src": "86:657:2" - } - ], - "src": "0:744:2" - }, - "legacyAST": { - "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/Dataset.sol", - "exportedSymbols": { - "Dataset": [ - 279 - ] - }, - "id": 280, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 226, - "literals": [ - "solidity", - "^", - "0.4", - ".21" - ], - "nodeType": "PragmaDirective", - "src": "0:24:2" - }, - { - "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/OwnableOZ.sol", - "file": "./OwnableOZ.sol", - "id": 227, - "nodeType": "ImportDirective", - "scope": 280, - "sourceUnit": 3748, - "src": "26:25:2", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/IexecHubAccessor.sol", - "file": "./IexecHubAccessor.sol", - "id": 228, - "nodeType": "ImportDirective", - "scope": 280, - "sourceUnit": 2476, - "src": "52:32:2", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [ - { - "arguments": [], - "baseName": { - "contractScope": null, - "id": 229, - "name": "OwnableOZ", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 3747, - "src": "106:9:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_OwnableOZ_$3747", - "typeString": "contract OwnableOZ" - } - }, - "id": 230, - "nodeType": "InheritanceSpecifier", - "src": "106:9:2" - }, - { - "arguments": [], - "baseName": { - "contractScope": null, - "id": 231, - "name": "IexecHubAccessor", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2475, - "src": "117:16:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IexecHubAccessor_$2475", - "typeString": "contract IexecHubAccessor" - } - }, - "id": 232, - "nodeType": "InheritanceSpecifier", - "src": "117:16:2" - } - ], - "contractDependencies": [ - 2475, - 3747 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 279, - "linearizedBaseContracts": [ - 279, - 2475, - 3747 - ], - "name": "Dataset", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "id": 234, - "name": "m_datasetName", - "nodeType": "VariableDeclaration", - "scope": 279, - "src": "160:38:2", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - }, - "typeName": { - "id": 233, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "160:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 236, - "name": "m_datasetPrice", - "nodeType": "VariableDeclaration", - "scope": 279, - "src": "201:39:2", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 235, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "201:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 238, - "name": "m_datasetParams", - "nodeType": "VariableDeclaration", - "scope": 279, - "src": "243:40:2", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - }, - "typeName": { - "id": 237, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "243:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "public" - }, - { - "body": { - "id": 277, - "nodeType": "Block", - "src": "479:260:2", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 257, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 253, - "name": "tx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7018, - "src": "545:2:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_transaction", - "typeString": "tx" - } - }, - "id": 254, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "origin", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "545:9:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 255, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "558:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 256, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "558:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "545:23:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 252, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "537:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 258, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "537:32:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 259, - "nodeType": "ExpressionStatement", - "src": "537:32:2" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 261, - "name": "tx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7018, - "src": "595:2:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_transaction", - "typeString": "tx" - } - }, - "id": 262, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "origin", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "595:9:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 260, - "name": "setImmutableOwnership", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3746, - "src": "573:21:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 263, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "573:32:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 264, - "nodeType": "ExpressionStatement", - "src": "573:32:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 267, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 265, - "name": "m_datasetName", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 234, - "src": "633:13:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 266, - "name": "_datasetName", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 242, - "src": "651:12:2", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "633:30:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 268, - "nodeType": "ExpressionStatement", - "src": "633:30:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 271, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 269, - "name": "m_datasetPrice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 236, - "src": "667:14:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 270, - "name": "_datasetPrice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 244, - "src": "685:13:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "667:31:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 272, - "nodeType": "ExpressionStatement", - "src": "667:31:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 275, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 273, - "name": "m_datasetParams", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 238, - "src": "702:15:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 274, - "name": "_datasetParams", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 246, - "src": "720:14:2", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "702:32:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 276, - "nodeType": "ExpressionStatement", - "src": "702:32:2" - } - ] - }, - "documentation": "Constructor", - "id": 278, - "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 249, - "name": "_iexecHubAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 240, - "src": "452:16:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "id": 250, - "modifierName": { - "argumentTypes": null, - "id": 248, - "name": "IexecHubAccessor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2475, - "src": "435:16:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IexecHubAccessor_$2475_$", - "typeString": "type(contract IexecHubAccessor)" - } - }, - "nodeType": "ModifierInvocation", - "src": "435:34:2" - } - ], - "name": "Dataset", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 247, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 240, - "name": "_iexecHubAddress", - "nodeType": "VariableDeclaration", - "scope": 278, - "src": "333:24:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 239, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "333:7:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 242, - "name": "_datasetName", - "nodeType": "VariableDeclaration", - "scope": 278, - "src": "361:20:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - "typeName": { - "id": 241, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "361:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 244, - "name": "_datasetPrice", - "nodeType": "VariableDeclaration", - "scope": 278, - "src": "385:21:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 243, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "385:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 246, - "name": "_datasetParams", - "nodeType": "VariableDeclaration", - "scope": 278, - "src": "410:22:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - "typeName": { - "id": 245, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "410:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "329:104:2" - }, - "payable": false, - "returnParameters": { - "id": 251, - "nodeType": "ParameterList", - "parameters": [], - "src": "479:0:2" - }, - "scope": 279, - "src": "313:426:2", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 280, - "src": "86:657:2" - } - ], - "src": "0:744:2" - }, - "compiler": { - "name": "solc", - "version": "0.4.21+commit.dfe3193c.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "2.0.0", - "updatedAt": "2018-05-20T20:12:33.543Z" -} diff --git a/build/contracts/DatasetHub.json b/build/contracts/DatasetHub.json deleted file mode 100644 index 9543992a..00000000 --- a/build/contracts/DatasetHub.json +++ /dev/null @@ -1,4389 +0,0 @@ -{ - "contractName": "DatasetHub", - "abi": [ - { - "constant": false, - "inputs": [ - { - "name": "_newOwner", - "type": "address" - } - ], - "name": "setImmutableOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "m_owner", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "m_changeable", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "m_totalDatasetCount", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "constant": true, - "inputs": [ - { - "name": "_dataset", - "type": "address" - } - ], - "name": "isDatasetRegistred", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_owner", - "type": "address" - } - ], - "name": "getDatasetsCount", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_owner", - "type": "address" - }, - { - "name": "_index", - "type": "uint256" - } - ], - "name": "getDataset", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_index", - "type": "uint256" - } - ], - "name": "getDatasetByIndex", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_datasetName", - "type": "string" - }, - { - "name": "_datasetPrice", - "type": "uint256" - }, - { - "name": "_datasetParams", - "type": "string" - } - ], - "name": "createDataset", - "outputs": [ - { - "name": "createdDataset", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x6060604052341561000f57600080fd5b6000805474010000000000000000000000000000000000000000600160a060020a031990911633600160a060020a03161760a060020a60ff021916178155610ca490819061005d90396000f3006060604052600436106100985763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166316265b4e811461009d5780632b58072f146100d057806331638ced14610101578063346461631461013357806339b7312214610155578063bbac78a9146101f1578063deff41c114610212578063e21b9d0814610225578063fbc09b2614610238575b600080fd5b34156100a857600080fd5b6100bc600160a060020a036004351661024b565b604051901515815260200160405180910390f35b34156100db57600080fd5b6100ef600160a060020a0360043516610269565b60405190815260200160405180910390f35b341561010c57600080fd5b610117600435610284565b604051600160a060020a03909116815260200160405180910390f35b341561013e57600080fd5b610117600160a060020a036004351660243561029f565b341561016057600080fd5b61011760046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001909190803590602001908201803590602001908080601f0160208091040260200160405190810160405281815292919060208401838380828437509496506102c795505050505050565b34156101fc57600080fd5b610210600160a060020a0360043516610408565b005b341561021d57600080fd5b6101176104e4565b341561023057600080fd5b6100bc6104f3565b341561024357600080fd5b6100ef610514565b600160a060020a031660009081526003602052604090205460ff1690565b600160a060020a031660009081526001602052604090205490565b600090815260046020526040902054600160a060020a031690565b600160a060020a03918216600090815260026020908152604080832093835292905220541690565b60008054819033600160a060020a039081169116146102e557600080fd5b338585856102f16105f5565b600160a060020a038516815260408101839052608060208201818152906060830190830186818151815260200191508051906020019080838360005b8381101561034557808201518382015260200161032d565b50505050905090810190601f1680156103725780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b838110156103a8578082015183820152602001610390565b50505050905090810190601f1680156103d55780820380516001836020036101000a031916815260200191505b509650505050505050604051809103906000f08015156103f457600080fd5b9050610400328261051a565b949350505050565b60005433600160a060020a0390811691161461042357600080fd5b60005474010000000000000000000000000000000000000000900460ff16151561044c57600080fd5b600160a060020a038116151561046157600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911774ff000000000000000000000000000000000000000019169055565b600054600160a060020a031681565b60005474010000000000000000000000000000000000000000900460ff1681565b60055481565b600160a060020a03821660009081526001602081905260408220546105449163ffffffff6105df16565b60055490915061055b90600163ffffffff6105df16565b600581905560009081526004602090815260408083208054600160a060020a0396871673ffffffffffffffffffffffffffffffffffffffff199182168117909255969095168352600180835281842085905560028352818420948452938252808320805490961685179095559281526003909252919020805460ff19169091179055565b6000828201838110156105ee57fe5b9392505050565b604051610673806106068339019056006060604052341561000f57600080fd5b6040516106733803806106738339810160405280805191906020018051820191906020018051919060200180516000805460a060020a60ff0219600160a060020a03338116600160a060020a0319909316929092171674010000000000000000000000000000000000000000179091559201918591508116151561009257600080fd5b60018054600160a060020a031916600160a060020a039283161790553381163290911614156100c057600080fd5b6100d63264010000000061025961010c82021704565b60028380516100e99291602001906101cd565b50600382905560048180516101029291602001906101cd565b5050505050610268565b60005433600160a060020a0390811691161461012757600080fd5b60005474010000000000000000000000000000000000000000900460ff16151561015057600080fd5b600160a060020a038116151561016557600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008054600160a060020a031916600160a060020a03929092169190911760a060020a60ff0219169055565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061020e57805160ff191683800117855561023b565b8280016001018555821561023b579182015b8281111561023b578251825591602001919060010190610220565b5061024792915061024b565b5090565b61026591905b808211156102475760008155600101610251565b90565b6103fc806102776000396000f3006060604052600436106100775763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630847c431811461007c57806362d598eb14610106578063bbac78a91461012b578063c2880e171461014c578063deff41c11461015f578063e21b9d081461018e575b600080fd5b341561008757600080fd5b61008f6101b5565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156100cb5780820151838201526020016100b3565b50505050905090810190601f1680156100f85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561011157600080fd5b610119610253565b60405190815260200160405180910390f35b341561013657600080fd5b61014a600160a060020a0360043516610259565b005b341561015757600080fd5b61008f610335565b341561016a57600080fd5b6101726103a0565b604051600160a060020a03909116815260200160405180910390f35b341561019957600080fd5b6101a16103af565b604051901515815260200160405180910390f35b60028054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561024b5780601f106102205761010080835404028352916020019161024b565b820191906000526020600020905b81548152906001019060200180831161022e57829003601f168201915b505050505081565b60035481565b60005433600160a060020a0390811691161461027457600080fd5b60005474010000000000000000000000000000000000000000900460ff16151561029d57600080fd5b600160a060020a03811615156102b257600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911774ff000000000000000000000000000000000000000019169055565b60048054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561024b5780601f106102205761010080835404028352916020019161024b565b600054600160a060020a031681565b60005474010000000000000000000000000000000000000000900460ff16815600a165627a7a723058205ffc863a097aa3a9df8dcd15972d278d368758dd3e2a6e19a607a6f484d5c0b20029a165627a7a72305820c6b63c7fbf6b53812b0fa390d88c1f1cad0ed3058cd9658ae4a3300af6c840350029", - "deployedBytecode": "0x6060604052600436106100985763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166316265b4e811461009d5780632b58072f146100d057806331638ced14610101578063346461631461013357806339b7312214610155578063bbac78a9146101f1578063deff41c114610212578063e21b9d0814610225578063fbc09b2614610238575b600080fd5b34156100a857600080fd5b6100bc600160a060020a036004351661024b565b604051901515815260200160405180910390f35b34156100db57600080fd5b6100ef600160a060020a0360043516610269565b60405190815260200160405180910390f35b341561010c57600080fd5b610117600435610284565b604051600160a060020a03909116815260200160405180910390f35b341561013e57600080fd5b610117600160a060020a036004351660243561029f565b341561016057600080fd5b61011760046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001909190803590602001908201803590602001908080601f0160208091040260200160405190810160405281815292919060208401838380828437509496506102c795505050505050565b34156101fc57600080fd5b610210600160a060020a0360043516610408565b005b341561021d57600080fd5b6101176104e4565b341561023057600080fd5b6100bc6104f3565b341561024357600080fd5b6100ef610514565b600160a060020a031660009081526003602052604090205460ff1690565b600160a060020a031660009081526001602052604090205490565b600090815260046020526040902054600160a060020a031690565b600160a060020a03918216600090815260026020908152604080832093835292905220541690565b60008054819033600160a060020a039081169116146102e557600080fd5b338585856102f16105f5565b600160a060020a038516815260408101839052608060208201818152906060830190830186818151815260200191508051906020019080838360005b8381101561034557808201518382015260200161032d565b50505050905090810190601f1680156103725780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b838110156103a8578082015183820152602001610390565b50505050905090810190601f1680156103d55780820380516001836020036101000a031916815260200191505b509650505050505050604051809103906000f08015156103f457600080fd5b9050610400328261051a565b949350505050565b60005433600160a060020a0390811691161461042357600080fd5b60005474010000000000000000000000000000000000000000900460ff16151561044c57600080fd5b600160a060020a038116151561046157600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911774ff000000000000000000000000000000000000000019169055565b600054600160a060020a031681565b60005474010000000000000000000000000000000000000000900460ff1681565b60055481565b600160a060020a03821660009081526001602081905260408220546105449163ffffffff6105df16565b60055490915061055b90600163ffffffff6105df16565b600581905560009081526004602090815260408083208054600160a060020a0396871673ffffffffffffffffffffffffffffffffffffffff199182168117909255969095168352600180835281842085905560028352818420948452938252808320805490961685179095559281526003909252919020805460ff19169091179055565b6000828201838110156105ee57fe5b9392505050565b604051610673806106068339019056006060604052341561000f57600080fd5b6040516106733803806106738339810160405280805191906020018051820191906020018051919060200180516000805460a060020a60ff0219600160a060020a03338116600160a060020a0319909316929092171674010000000000000000000000000000000000000000179091559201918591508116151561009257600080fd5b60018054600160a060020a031916600160a060020a039283161790553381163290911614156100c057600080fd5b6100d63264010000000061025961010c82021704565b60028380516100e99291602001906101cd565b50600382905560048180516101029291602001906101cd565b5050505050610268565b60005433600160a060020a0390811691161461012757600080fd5b60005474010000000000000000000000000000000000000000900460ff16151561015057600080fd5b600160a060020a038116151561016557600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008054600160a060020a031916600160a060020a03929092169190911760a060020a60ff0219169055565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061020e57805160ff191683800117855561023b565b8280016001018555821561023b579182015b8281111561023b578251825591602001919060010190610220565b5061024792915061024b565b5090565b61026591905b808211156102475760008155600101610251565b90565b6103fc806102776000396000f3006060604052600436106100775763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630847c431811461007c57806362d598eb14610106578063bbac78a91461012b578063c2880e171461014c578063deff41c11461015f578063e21b9d081461018e575b600080fd5b341561008757600080fd5b61008f6101b5565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156100cb5780820151838201526020016100b3565b50505050905090810190601f1680156100f85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561011157600080fd5b610119610253565b60405190815260200160405180910390f35b341561013657600080fd5b61014a600160a060020a0360043516610259565b005b341561015757600080fd5b61008f610335565b341561016a57600080fd5b6101726103a0565b604051600160a060020a03909116815260200160405180910390f35b341561019957600080fd5b6101a16103af565b604051901515815260200160405180910390f35b60028054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561024b5780601f106102205761010080835404028352916020019161024b565b820191906000526020600020905b81548152906001019060200180831161022e57829003601f168201915b505050505081565b60035481565b60005433600160a060020a0390811691161461027457600080fd5b60005474010000000000000000000000000000000000000000900460ff16151561029d57600080fd5b600160a060020a03811615156102b257600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911774ff000000000000000000000000000000000000000019169055565b60048054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561024b5780601f106102205761010080835404028352916020019161024b565b600054600160a060020a031681565b60005474010000000000000000000000000000000000000000900460ff16815600a165627a7a723058205ffc863a097aa3a9df8dcd15972d278d368758dd3e2a6e19a607a6f484d5c0b20029a165627a7a72305820c6b63c7fbf6b53812b0fa390d88c1f1cad0ed3058cd9658ae4a3300af6c840350029", - "sourceMap": "104:1845:3:-;;;601:34;;;;;;;;667:7:14;:25;;696:19;-1:-1:-1;;;;;;667:25:14;;;682:10;-1:-1:-1;;;;;667:25:14;;-1:-1:-1;;;;;;696:19:14;;;;104:1845:3;;;;;;;;", - "deployedSourceMap": "104:1845:3:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;660:118;;;;;;;;;;-1:-1:-1;;;;;660:118:3;;;;;;;;;;;;;;;;;;;;;;780:117;;;;;;;;;;-1:-1:-1;;;;;780:117:3;;;;;;;;;;;;;;;;;;;;1038:113;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1038:113:3;;;;;;;;;;;;;;899:137;;;;;;;;;;-1:-1:-1;;;;;899:137:3;;;;;;;1553:394;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1553:394:3;;-1:-1:-1;1553:394:3;;-1:-1:-1;;;;;;1553:394:3;876:234:14;;;;;;;;;;-1:-1:-1;;;;;876:234:14;;;;;;;238:22;;;;;;;;;;;;263:27;;;;;;;;;;;;502:67:3;;;;;;;;;;;;660:118;-1:-1:-1;;;;;745:29:3;727:4;745:29;;;:19;:29;;;;;;;;;660:118::o;780:117::-;-1:-1:-1;;;;;864:29:3;843:7;864:29;;;:21;:29;;;;;;;780:117::o;1038:113::-;1102:7;1123:24;;;:16;:24;;;;;;-1:-1:-1;;;;;1123:24:3;;1038:113::o;899:137::-;-1:-1:-1;;;;;993:31:3;;;972:7;993:31;;;:23;:31;;;;;;;;:39;;;;;;;;;;899:137::o;1553:394::-;1699:22;502:7:14;;1699:22:3;;488:10:14;-1:-1:-1;;;;;488:21:14;;;502:7;;488:21;480:30;;;;;;1817:10:3;1832:12;1849:13;1867:14;1801:84;;:::i;:::-;-1:-1:-1;;;;;1801:84:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;1801:84:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;1801:84:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1780:105;;1889:33;1900:9;1911:10;1889;:33::i;:::-;1933:10;1553:394;-1:-1:-1;;;;1553:394:3:o;876:234:14:-;502:7;;488:10;-1:-1:-1;;;;;488:21:14;;;502:7;;488:21;480:30;;;;;;956:12;;;;;;;948:21;;;;;;;;-1:-1:-1;;;;;981:23:14;;;;973:32;;;;;;1035:7;;-1:-1:-1;;;;;1014:40:14;;;;1035:7;1014:40;;;;;;;;;;1058:7;:24;;-1:-1:-1;;1058:24:14;-1:-1:-1;;;;;1058:24:14;;;;;;;;-1:-1:-1;;1086:20:14;;;876:234::o;238:22::-;;;-1:-1:-1;;;;;238:22:14;;:::o;263:27::-;;;;;;;;;:::o;502:67:3:-;;;;:::o;1154:396::-;-1:-1:-1;;;;;1232:29:3;;1222:7;1232:29;;;1266:1;1232:29;;;;;;;;:36;;;:33;:36;:::i;:::-;1294:19;;1222:46;;-1:-1:-1;1294:26:3;;1318:1;1294:26;:23;:26;:::i;:::-;1272:19;:48;;;1324:44;;;;:16;:44;;;;;;;;:55;;-1:-1:-1;;;;;1324:55:3;;;-1:-1:-1;;1324:55:3;;;;;;;;1383:31;;;;;;1324:55;1383:31;;;;;;:49;;;1436:23;:31;;;;;:35;;;;;;;;;:55;;;;;;;;;;1495:33;;;:19;:33;;;;;;:51;;-1:-1:-1;;1495:51:3;;;;;;1154:396::o;405:123:15:-;463:7;489:5;;;505:6;;;;498:14;;;;523:1;405:123;-1:-1:-1;;;405:123:15:o;104:1845:3:-;;;;;;;;;;:::o", - "source": "pragma solidity ^0.4.21;\n\nimport \"./Dataset.sol\";\nimport \"./OwnableOZ.sol\";\nimport \"./SafeMathOZ.sol\";\n\ncontract DatasetHub is OwnableOZ // is Owned by IexecHub\n{\n\tusing SafeMathOZ for uint256;\n\n\t/**\n\t * Members\n\t */\n\tmapping(address => uint256) m_datasetCountByOwner;\n\tmapping(address => mapping(uint256 => address)) m_datasetByOwnerByIndex;\n\tmapping(address => bool) m_datasetRegistered;\n\n\tmapping(uint256 => address) m_datasetByIndex;\n\tuint256 public m_totalDatasetCount;\n\n\n\n\t/**\n\t * Constructor\n\t */\n\tfunction DatasetHub() public\n\t{\n\t}\n\n\t/**\n\t * Methods\n\t */\n\tfunction isDatasetRegistred(address _dataset) public view returns (bool)\n\t{\n\t\treturn m_datasetRegistered[_dataset];\n\t}\n\tfunction getDatasetsCount(address _owner) public view returns (uint256)\n\t{\n\t\treturn m_datasetCountByOwner[_owner];\n\t}\n\tfunction getDataset(address _owner, uint256 _index) public view returns (address)\n\t{\n\t\treturn m_datasetByOwnerByIndex[_owner][_index];\n\t}\n\tfunction getDatasetByIndex(uint256 _index) public view returns (address)\n\t{\n\t\treturn m_datasetByIndex[_index];\n\t}\n\n\tfunction addDataset(address _owner, address _dataset) internal\n\t{\n\t\tuint id = m_datasetCountByOwner[_owner].add(1);\n\t\tm_totalDatasetCount = m_totalDatasetCount.add(1);\n\t\tm_datasetByIndex [m_totalDatasetCount] = _dataset;\n\t\tm_datasetCountByOwner [_owner] = id;\n\t\tm_datasetByOwnerByIndex[_owner][id] = _dataset;\n\t\tm_datasetRegistered [_dataset] = true;\n\t}\n\n\tfunction createDataset(\n\t\tstring _datasetName,\n\t\tuint256 _datasetPrice,\n\t\tstring _datasetParams)\n\tpublic onlyOwner /*owner == IexecHub*/ returns (address createdDataset)\n\t{\n\t\t// tx.origin == owner\n\t\t// msg.sender == IexecHub\n\t\taddress newDataset = new Dataset(\n\t\t\tmsg.sender,\n\t\t\t_datasetName,\n\t\t\t_datasetPrice,\n\t\t\t_datasetParams\n\t\t);\n\t\taddDataset(tx.origin, newDataset);\n\t\treturn newDataset;\n\t}\n}\n", - "sourcePath": "/Users/fbranci/iexecdev/PoCo/contracts/DatasetHub.sol", - "ast": { - "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/DatasetHub.sol", - "exportedSymbols": { - "DatasetHub": [ - 449 - ] - }, - "id": 450, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 281, - "literals": [ - "solidity", - "^", - "0.4", - ".21" - ], - "nodeType": "PragmaDirective", - "src": "0:24:3" - }, - { - "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/Dataset.sol", - "file": "./Dataset.sol", - "id": 282, - "nodeType": "ImportDirective", - "scope": 450, - "sourceUnit": 280, - "src": "26:23:3", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/OwnableOZ.sol", - "file": "./OwnableOZ.sol", - "id": 283, - "nodeType": "ImportDirective", - "scope": 450, - "sourceUnit": 3748, - "src": "50:25:3", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/SafeMathOZ.sol", - "file": "./SafeMathOZ.sol", - "id": 284, - "nodeType": "ImportDirective", - "scope": 450, - "sourceUnit": 3925, - "src": "76:26:3", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [ - { - "arguments": [], - "baseName": { - "contractScope": null, - "id": 285, - "name": "OwnableOZ", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 3747, - "src": "127:9:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_OwnableOZ_$3747", - "typeString": "contract OwnableOZ" - } - }, - "id": 286, - "nodeType": "InheritanceSpecifier", - "src": "127:9:3" - } - ], - "contractDependencies": [ - 279, - 3747 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 449, - "linearizedBaseContracts": [ - 449, - 3747 - ], - "name": "DatasetHub", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 289, - "libraryName": { - "contractScope": null, - "id": 287, - "name": "SafeMathOZ", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 3924, - "src": "170:10:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMathOZ_$3924", - "typeString": "library SafeMathOZ" - } - }, - "nodeType": "UsingForDirective", - "src": "164:29:3", - "typeName": { - "id": 288, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "185:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "constant": false, - "id": 293, - "name": "m_datasetCountByOwner", - "nodeType": "VariableDeclaration", - "scope": 449, - "src": "218:69:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 292, - "keyType": { - "id": 290, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "226:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "218:27:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 291, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "237:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 299, - "name": "m_datasetByOwnerByIndex", - "nodeType": "VariableDeclaration", - "scope": 449, - "src": "290:71:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_address_$_$", - "typeString": "mapping(address => mapping(uint256 => address))" - }, - "typeName": { - "id": 298, - "keyType": { - "id": 294, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "298:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "290:47:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_address_$_$", - "typeString": "mapping(address => mapping(uint256 => address))" - }, - "valueType": { - "id": 297, - "keyType": { - "id": 295, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "317:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "309:27:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - }, - "valueType": { - "id": 296, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "328:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 303, - "name": "m_datasetRegistered", - "nodeType": "VariableDeclaration", - "scope": 449, - "src": "364:67:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - }, - "typeName": { - "id": 302, - "keyType": { - "id": 300, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "372:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "364:24:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - }, - "valueType": { - "id": 301, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "383:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 307, - "name": "m_datasetByIndex", - "nodeType": "VariableDeclaration", - "scope": 449, - "src": "435:64:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - }, - "typeName": { - "id": 306, - "keyType": { - "id": 304, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "443:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "435:27:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - }, - "valueType": { - "id": 305, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "454:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 309, - "name": "m_totalDatasetCount", - "nodeType": "VariableDeclaration", - "scope": 449, - "src": "502:67:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 308, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "502:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "body": { - "id": 312, - "nodeType": "Block", - "src": "631:4:3", - "statements": [] - }, - "documentation": "Constructor", - "id": 313, - "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, - "modifiers": [], - "name": "DatasetHub", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 310, - "nodeType": "ParameterList", - "parameters": [], - "src": "620:2:3" - }, - "payable": false, - "returnParameters": { - "id": 311, - "nodeType": "ParameterList", - "parameters": [], - "src": "631:0:3" - }, - "scope": 449, - "src": "601:34:3", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 324, - "nodeType": "Block", - "src": "734:44:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 320, - "name": "m_datasetRegistered", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 303, - "src": "745:19:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 322, - "indexExpression": { - "argumentTypes": null, - "id": 321, - "name": "_dataset", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 315, - "src": "765:8:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "745:29:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 319, - "id": 323, - "nodeType": "Return", - "src": "738:36:3" - } - ] - }, - "documentation": "Methods", - "id": 325, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "isDatasetRegistred", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 316, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 315, - "name": "_dataset", - "nodeType": "VariableDeclaration", - "scope": 325, - "src": "688:16:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 314, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "688:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "687:18:3" - }, - "payable": false, - "returnParameters": { - "id": 319, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 318, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 325, - "src": "727:4:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 317, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "727:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "726:6:3" - }, - "scope": 449, - "src": "660:118:3", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 336, - "nodeType": "Block", - "src": "853:44:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 332, - "name": "m_datasetCountByOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 293, - "src": "864:21:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 334, - "indexExpression": { - "argumentTypes": null, - "id": 333, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 327, - "src": "886:6:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "864:29:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 331, - "id": 335, - "nodeType": "Return", - "src": "857:36:3" - } - ] - }, - "documentation": null, - "id": 337, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getDatasetsCount", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 328, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 327, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 337, - "src": "806:14:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 326, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "806:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "805:16:3" - }, - "payable": false, - "returnParameters": { - "id": 331, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 330, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 337, - "src": "843:7:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 329, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "843:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "842:9:3" - }, - "scope": 449, - "src": "780:117:3", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 352, - "nodeType": "Block", - "src": "982:54:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 346, - "name": "m_datasetByOwnerByIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 299, - "src": "993:23:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_address_$_$", - "typeString": "mapping(address => mapping(uint256 => address))" - } - }, - "id": 348, - "indexExpression": { - "argumentTypes": null, - "id": 347, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 339, - "src": "1017:6:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "993:31:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - } - }, - "id": 350, - "indexExpression": { - "argumentTypes": null, - "id": 349, - "name": "_index", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 341, - "src": "1025:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "993:39:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 345, - "id": 351, - "nodeType": "Return", - "src": "986:46:3" - } - ] - }, - "documentation": null, - "id": 353, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getDataset", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 342, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 339, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 353, - "src": "919:14:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 338, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "919:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 341, - "name": "_index", - "nodeType": "VariableDeclaration", - "scope": 353, - "src": "935:14:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 340, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "935:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "918:32:3" - }, - "payable": false, - "returnParameters": { - "id": 345, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 344, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 353, - "src": "972:7:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 343, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "972:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "971:9:3" - }, - "scope": 449, - "src": "899:137:3", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 364, - "nodeType": "Block", - "src": "1112:39:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 360, - "name": "m_datasetByIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 307, - "src": "1123:16:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - } - }, - "id": 362, - "indexExpression": { - "argumentTypes": null, - "id": 361, - "name": "_index", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 355, - "src": "1140:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1123:24:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 359, - "id": 363, - "nodeType": "Return", - "src": "1116:31:3" - } - ] - }, - "documentation": null, - "id": 365, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getDatasetByIndex", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 356, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 355, - "name": "_index", - "nodeType": "VariableDeclaration", - "scope": 365, - "src": "1065:14:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 354, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1065:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1064:16:3" - }, - "payable": false, - "returnParameters": { - "id": 359, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 358, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 365, - "src": "1102:7:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 357, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1102:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1101:9:3" - }, - "scope": 449, - "src": "1038:113:3", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 414, - "nodeType": "Block", - "src": "1218:332:3", - "statements": [ - { - "assignments": [ - 373 - ], - "declarations": [ - { - "constant": false, - "id": 373, - "name": "id", - "nodeType": "VariableDeclaration", - "scope": 415, - "src": "1222:7:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 372, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1222:4:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 380, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "31", - "id": 378, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1266:1:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 374, - "name": "m_datasetCountByOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 293, - "src": "1232:21:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 376, - "indexExpression": { - "argumentTypes": null, - "id": 375, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 367, - "src": "1254:6:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1232:29:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 377, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 3773, - "src": "1232:33:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 379, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1232:36:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1222:46:3" - }, - { - "expression": { - "argumentTypes": null, - "id": 386, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 381, - "name": "m_totalDatasetCount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 309, - "src": "1272:19:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "31", - "id": 384, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1318:1:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - } - ], - "expression": { - "argumentTypes": null, - "id": 382, - "name": "m_totalDatasetCount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 309, - "src": "1294:19:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 383, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 3773, - "src": "1294:23:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 385, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1294:26:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1272:48:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 387, - "nodeType": "ExpressionStatement", - "src": "1272:48:3" - }, - { - "expression": { - "argumentTypes": null, - "id": 392, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 388, - "name": "m_datasetByIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 307, - "src": "1324:16:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - } - }, - "id": 390, - "indexExpression": { - "argumentTypes": null, - "id": 389, - "name": "m_totalDatasetCount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 309, - "src": "1348:19:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1324:44:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 391, - "name": "_dataset", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 369, - "src": "1371:8:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1324:55:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 393, - "nodeType": "ExpressionStatement", - "src": "1324:55:3" - }, - { - "expression": { - "argumentTypes": null, - "id": 398, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 394, - "name": "m_datasetCountByOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 293, - "src": "1383:21:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 396, - "indexExpression": { - "argumentTypes": null, - "id": 395, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 367, - "src": "1407:6:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1383:31:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 397, - "name": "id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 373, - "src": "1430:2:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1383:49:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 399, - "nodeType": "ExpressionStatement", - "src": "1383:49:3" - }, - { - "expression": { - "argumentTypes": null, - "id": 406, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 400, - "name": "m_datasetByOwnerByIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 299, - "src": "1436:23:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_address_$_$", - "typeString": "mapping(address => mapping(uint256 => address))" - } - }, - "id": 403, - "indexExpression": { - "argumentTypes": null, - "id": 401, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 367, - "src": "1460:6:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1436:31:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - } - }, - "id": 404, - "indexExpression": { - "argumentTypes": null, - "id": 402, - "name": "id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 373, - "src": "1468:2:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1436:35:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 405, - "name": "_dataset", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 369, - "src": "1483:8:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1436:55:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 407, - "nodeType": "ExpressionStatement", - "src": "1436:55:3" - }, - { - "expression": { - "argumentTypes": null, - "id": 412, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 408, - "name": "m_datasetRegistered", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 303, - "src": "1495:19:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 410, - "indexExpression": { - "argumentTypes": null, - "id": 409, - "name": "_dataset", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 369, - "src": "1519:8:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1495:33:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 411, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1542:4:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "1495:51:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 413, - "nodeType": "ExpressionStatement", - "src": "1495:51:3" - } - ] - }, - "documentation": null, - "id": 415, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "addDataset", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 370, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 367, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 415, - "src": "1174:14:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 366, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1174:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 369, - "name": "_dataset", - "nodeType": "VariableDeclaration", - "scope": 415, - "src": "1190:16:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 368, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1190:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1173:34:3" - }, - "payable": false, - "returnParameters": { - "id": 371, - "nodeType": "ParameterList", - "parameters": [], - "src": "1218:0:3" - }, - "scope": 449, - "src": "1154:396:3", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 447, - "nodeType": "Block", - "src": "1724:223:3", - "statements": [ - { - "assignments": [ - 429 - ], - "declarations": [ - { - "constant": false, - "id": 429, - "name": "newDataset", - "nodeType": "VariableDeclaration", - "scope": 448, - "src": "1780:18:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 428, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1780:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 438, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 432, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "1817:3:3", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 433, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1817:10:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 434, - "name": "_datasetName", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 417, - "src": "1832:12:3", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 435, - "name": "_datasetPrice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 419, - "src": "1849:13:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 436, - "name": "_datasetParams", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 421, - "src": "1867:14:3", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 431, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "1801:11:3", - "typeDescriptions": { - "typeIdentifier": "t_function_creation_nonpayable$_t_address_$_t_string_memory_ptr_$_t_uint256_$_t_string_memory_ptr_$returns$_t_contract$_Dataset_$279_$", - "typeString": "function (address,string memory,uint256,string memory) returns (contract Dataset)" - }, - "typeName": { - "contractScope": null, - "id": 430, - "name": "Dataset", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 279, - "src": "1805:7:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Dataset_$279", - "typeString": "contract Dataset" - } - } - }, - "id": 437, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1801:84:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Dataset_$279", - "typeString": "contract Dataset" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1780:105:3" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 440, - "name": "tx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7018, - "src": "1900:2:3", - "typeDescriptions": { - "typeIdentifier": "t_magic_transaction", - "typeString": "tx" - } - }, - "id": 441, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "origin", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1900:9:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 442, - "name": "newDataset", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 429, - "src": "1911:10:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 439, - "name": "addDataset", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 415, - "src": "1889:10:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$returns$__$", - "typeString": "function (address,address)" - } - }, - "id": 443, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1889:33:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 444, - "nodeType": "ExpressionStatement", - "src": "1889:33:3" - }, - { - "expression": { - "argumentTypes": null, - "id": 445, - "name": "newDataset", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 429, - "src": "1933:10:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 427, - "id": 446, - "nodeType": "Return", - "src": "1926:17:3" - } - ] - }, - "documentation": null, - "id": 448, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [], - "id": 424, - "modifierName": { - "argumentTypes": null, - "id": 423, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3700, - "src": "1658:9:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "1658:9:3" - } - ], - "name": "createDataset", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 422, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 417, - "name": "_datasetName", - "nodeType": "VariableDeclaration", - "scope": 448, - "src": "1579:19:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - "typeName": { - "id": 416, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1579:6:3", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 419, - "name": "_datasetPrice", - "nodeType": "VariableDeclaration", - "scope": 448, - "src": "1602:21:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 418, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1602:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 421, - "name": "_datasetParams", - "nodeType": "VariableDeclaration", - "scope": 448, - "src": "1627:21:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - "typeName": { - "id": 420, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1627:6:3", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1575:74:3" - }, - "payable": false, - "returnParameters": { - "id": 427, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 426, - "name": "createdDataset", - "nodeType": "VariableDeclaration", - "scope": 448, - "src": "1699:22:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 425, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1699:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1698:24:3" - }, - "scope": 449, - "src": "1553:394:3", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 450, - "src": "104:1845:3" - } - ], - "src": "0:1950:3" - }, - "legacyAST": { - "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/DatasetHub.sol", - "exportedSymbols": { - "DatasetHub": [ - 449 - ] - }, - "id": 450, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 281, - "literals": [ - "solidity", - "^", - "0.4", - ".21" - ], - "nodeType": "PragmaDirective", - "src": "0:24:3" - }, - { - "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/Dataset.sol", - "file": "./Dataset.sol", - "id": 282, - "nodeType": "ImportDirective", - "scope": 450, - "sourceUnit": 280, - "src": "26:23:3", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/OwnableOZ.sol", - "file": "./OwnableOZ.sol", - "id": 283, - "nodeType": "ImportDirective", - "scope": 450, - "sourceUnit": 3748, - "src": "50:25:3", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/SafeMathOZ.sol", - "file": "./SafeMathOZ.sol", - "id": 284, - "nodeType": "ImportDirective", - "scope": 450, - "sourceUnit": 3925, - "src": "76:26:3", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [ - { - "arguments": [], - "baseName": { - "contractScope": null, - "id": 285, - "name": "OwnableOZ", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 3747, - "src": "127:9:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_OwnableOZ_$3747", - "typeString": "contract OwnableOZ" - } - }, - "id": 286, - "nodeType": "InheritanceSpecifier", - "src": "127:9:3" - } - ], - "contractDependencies": [ - 279, - 3747 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 449, - "linearizedBaseContracts": [ - 449, - 3747 - ], - "name": "DatasetHub", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 289, - "libraryName": { - "contractScope": null, - "id": 287, - "name": "SafeMathOZ", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 3924, - "src": "170:10:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMathOZ_$3924", - "typeString": "library SafeMathOZ" - } - }, - "nodeType": "UsingForDirective", - "src": "164:29:3", - "typeName": { - "id": 288, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "185:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "constant": false, - "id": 293, - "name": "m_datasetCountByOwner", - "nodeType": "VariableDeclaration", - "scope": 449, - "src": "218:69:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 292, - "keyType": { - "id": 290, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "226:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "218:27:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 291, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "237:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 299, - "name": "m_datasetByOwnerByIndex", - "nodeType": "VariableDeclaration", - "scope": 449, - "src": "290:71:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_address_$_$", - "typeString": "mapping(address => mapping(uint256 => address))" - }, - "typeName": { - "id": 298, - "keyType": { - "id": 294, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "298:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "290:47:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_address_$_$", - "typeString": "mapping(address => mapping(uint256 => address))" - }, - "valueType": { - "id": 297, - "keyType": { - "id": 295, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "317:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "309:27:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - }, - "valueType": { - "id": 296, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "328:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 303, - "name": "m_datasetRegistered", - "nodeType": "VariableDeclaration", - "scope": 449, - "src": "364:67:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - }, - "typeName": { - "id": 302, - "keyType": { - "id": 300, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "372:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "364:24:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - }, - "valueType": { - "id": 301, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "383:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 307, - "name": "m_datasetByIndex", - "nodeType": "VariableDeclaration", - "scope": 449, - "src": "435:64:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - }, - "typeName": { - "id": 306, - "keyType": { - "id": 304, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "443:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "435:27:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - }, - "valueType": { - "id": 305, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "454:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 309, - "name": "m_totalDatasetCount", - "nodeType": "VariableDeclaration", - "scope": 449, - "src": "502:67:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 308, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "502:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "body": { - "id": 312, - "nodeType": "Block", - "src": "631:4:3", - "statements": [] - }, - "documentation": "Constructor", - "id": 313, - "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, - "modifiers": [], - "name": "DatasetHub", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 310, - "nodeType": "ParameterList", - "parameters": [], - "src": "620:2:3" - }, - "payable": false, - "returnParameters": { - "id": 311, - "nodeType": "ParameterList", - "parameters": [], - "src": "631:0:3" - }, - "scope": 449, - "src": "601:34:3", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 324, - "nodeType": "Block", - "src": "734:44:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 320, - "name": "m_datasetRegistered", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 303, - "src": "745:19:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 322, - "indexExpression": { - "argumentTypes": null, - "id": 321, - "name": "_dataset", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 315, - "src": "765:8:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "745:29:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 319, - "id": 323, - "nodeType": "Return", - "src": "738:36:3" - } - ] - }, - "documentation": "Methods", - "id": 325, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "isDatasetRegistred", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 316, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 315, - "name": "_dataset", - "nodeType": "VariableDeclaration", - "scope": 325, - "src": "688:16:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 314, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "688:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "687:18:3" - }, - "payable": false, - "returnParameters": { - "id": 319, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 318, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 325, - "src": "727:4:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 317, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "727:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "726:6:3" - }, - "scope": 449, - "src": "660:118:3", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 336, - "nodeType": "Block", - "src": "853:44:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 332, - "name": "m_datasetCountByOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 293, - "src": "864:21:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 334, - "indexExpression": { - "argumentTypes": null, - "id": 333, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 327, - "src": "886:6:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "864:29:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 331, - "id": 335, - "nodeType": "Return", - "src": "857:36:3" - } - ] - }, - "documentation": null, - "id": 337, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getDatasetsCount", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 328, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 327, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 337, - "src": "806:14:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 326, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "806:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "805:16:3" - }, - "payable": false, - "returnParameters": { - "id": 331, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 330, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 337, - "src": "843:7:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 329, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "843:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "842:9:3" - }, - "scope": 449, - "src": "780:117:3", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 352, - "nodeType": "Block", - "src": "982:54:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 346, - "name": "m_datasetByOwnerByIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 299, - "src": "993:23:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_address_$_$", - "typeString": "mapping(address => mapping(uint256 => address))" - } - }, - "id": 348, - "indexExpression": { - "argumentTypes": null, - "id": 347, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 339, - "src": "1017:6:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "993:31:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - } - }, - "id": 350, - "indexExpression": { - "argumentTypes": null, - "id": 349, - "name": "_index", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 341, - "src": "1025:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "993:39:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 345, - "id": 351, - "nodeType": "Return", - "src": "986:46:3" - } - ] - }, - "documentation": null, - "id": 353, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getDataset", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 342, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 339, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 353, - "src": "919:14:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 338, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "919:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 341, - "name": "_index", - "nodeType": "VariableDeclaration", - "scope": 353, - "src": "935:14:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 340, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "935:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "918:32:3" - }, - "payable": false, - "returnParameters": { - "id": 345, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 344, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 353, - "src": "972:7:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 343, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "972:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "971:9:3" - }, - "scope": 449, - "src": "899:137:3", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 364, - "nodeType": "Block", - "src": "1112:39:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 360, - "name": "m_datasetByIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 307, - "src": "1123:16:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - } - }, - "id": 362, - "indexExpression": { - "argumentTypes": null, - "id": 361, - "name": "_index", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 355, - "src": "1140:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1123:24:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 359, - "id": 363, - "nodeType": "Return", - "src": "1116:31:3" - } - ] - }, - "documentation": null, - "id": 365, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getDatasetByIndex", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 356, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 355, - "name": "_index", - "nodeType": "VariableDeclaration", - "scope": 365, - "src": "1065:14:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 354, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1065:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1064:16:3" - }, - "payable": false, - "returnParameters": { - "id": 359, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 358, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 365, - "src": "1102:7:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 357, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1102:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1101:9:3" - }, - "scope": 449, - "src": "1038:113:3", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 414, - "nodeType": "Block", - "src": "1218:332:3", - "statements": [ - { - "assignments": [ - 373 - ], - "declarations": [ - { - "constant": false, - "id": 373, - "name": "id", - "nodeType": "VariableDeclaration", - "scope": 415, - "src": "1222:7:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 372, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1222:4:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 380, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "31", - "id": 378, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1266:1:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 374, - "name": "m_datasetCountByOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 293, - "src": "1232:21:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 376, - "indexExpression": { - "argumentTypes": null, - "id": 375, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 367, - "src": "1254:6:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1232:29:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 377, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 3773, - "src": "1232:33:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 379, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1232:36:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1222:46:3" - }, - { - "expression": { - "argumentTypes": null, - "id": 386, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 381, - "name": "m_totalDatasetCount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 309, - "src": "1272:19:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "31", - "id": 384, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1318:1:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - } - ], - "expression": { - "argumentTypes": null, - "id": 382, - "name": "m_totalDatasetCount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 309, - "src": "1294:19:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 383, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 3773, - "src": "1294:23:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 385, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1294:26:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1272:48:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 387, - "nodeType": "ExpressionStatement", - "src": "1272:48:3" - }, - { - "expression": { - "argumentTypes": null, - "id": 392, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 388, - "name": "m_datasetByIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 307, - "src": "1324:16:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - } - }, - "id": 390, - "indexExpression": { - "argumentTypes": null, - "id": 389, - "name": "m_totalDatasetCount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 309, - "src": "1348:19:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1324:44:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 391, - "name": "_dataset", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 369, - "src": "1371:8:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1324:55:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 393, - "nodeType": "ExpressionStatement", - "src": "1324:55:3" - }, - { - "expression": { - "argumentTypes": null, - "id": 398, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 394, - "name": "m_datasetCountByOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 293, - "src": "1383:21:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 396, - "indexExpression": { - "argumentTypes": null, - "id": 395, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 367, - "src": "1407:6:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1383:31:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 397, - "name": "id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 373, - "src": "1430:2:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1383:49:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 399, - "nodeType": "ExpressionStatement", - "src": "1383:49:3" - }, - { - "expression": { - "argumentTypes": null, - "id": 406, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 400, - "name": "m_datasetByOwnerByIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 299, - "src": "1436:23:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_address_$_$", - "typeString": "mapping(address => mapping(uint256 => address))" - } - }, - "id": 403, - "indexExpression": { - "argumentTypes": null, - "id": 401, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 367, - "src": "1460:6:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1436:31:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - } - }, - "id": 404, - "indexExpression": { - "argumentTypes": null, - "id": 402, - "name": "id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 373, - "src": "1468:2:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1436:35:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 405, - "name": "_dataset", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 369, - "src": "1483:8:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1436:55:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 407, - "nodeType": "ExpressionStatement", - "src": "1436:55:3" - }, - { - "expression": { - "argumentTypes": null, - "id": 412, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 408, - "name": "m_datasetRegistered", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 303, - "src": "1495:19:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 410, - "indexExpression": { - "argumentTypes": null, - "id": 409, - "name": "_dataset", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 369, - "src": "1519:8:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1495:33:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 411, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1542:4:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "1495:51:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 413, - "nodeType": "ExpressionStatement", - "src": "1495:51:3" - } - ] - }, - "documentation": null, - "id": 415, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "addDataset", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 370, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 367, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 415, - "src": "1174:14:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 366, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1174:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 369, - "name": "_dataset", - "nodeType": "VariableDeclaration", - "scope": 415, - "src": "1190:16:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 368, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1190:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1173:34:3" - }, - "payable": false, - "returnParameters": { - "id": 371, - "nodeType": "ParameterList", - "parameters": [], - "src": "1218:0:3" - }, - "scope": 449, - "src": "1154:396:3", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 447, - "nodeType": "Block", - "src": "1724:223:3", - "statements": [ - { - "assignments": [ - 429 - ], - "declarations": [ - { - "constant": false, - "id": 429, - "name": "newDataset", - "nodeType": "VariableDeclaration", - "scope": 448, - "src": "1780:18:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 428, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1780:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 438, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 432, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "1817:3:3", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 433, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1817:10:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 434, - "name": "_datasetName", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 417, - "src": "1832:12:3", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 435, - "name": "_datasetPrice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 419, - "src": "1849:13:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 436, - "name": "_datasetParams", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 421, - "src": "1867:14:3", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 431, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "1801:11:3", - "typeDescriptions": { - "typeIdentifier": "t_function_creation_nonpayable$_t_address_$_t_string_memory_ptr_$_t_uint256_$_t_string_memory_ptr_$returns$_t_contract$_Dataset_$279_$", - "typeString": "function (address,string memory,uint256,string memory) returns (contract Dataset)" - }, - "typeName": { - "contractScope": null, - "id": 430, - "name": "Dataset", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 279, - "src": "1805:7:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Dataset_$279", - "typeString": "contract Dataset" - } - } - }, - "id": 437, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1801:84:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Dataset_$279", - "typeString": "contract Dataset" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1780:105:3" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 440, - "name": "tx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7018, - "src": "1900:2:3", - "typeDescriptions": { - "typeIdentifier": "t_magic_transaction", - "typeString": "tx" - } - }, - "id": 441, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "origin", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1900:9:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 442, - "name": "newDataset", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 429, - "src": "1911:10:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 439, - "name": "addDataset", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 415, - "src": "1889:10:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$returns$__$", - "typeString": "function (address,address)" - } - }, - "id": 443, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1889:33:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 444, - "nodeType": "ExpressionStatement", - "src": "1889:33:3" - }, - { - "expression": { - "argumentTypes": null, - "id": 445, - "name": "newDataset", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 429, - "src": "1933:10:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 427, - "id": 446, - "nodeType": "Return", - "src": "1926:17:3" - } - ] - }, - "documentation": null, - "id": 448, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [], - "id": 424, - "modifierName": { - "argumentTypes": null, - "id": 423, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3700, - "src": "1658:9:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "1658:9:3" - } - ], - "name": "createDataset", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 422, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 417, - "name": "_datasetName", - "nodeType": "VariableDeclaration", - "scope": 448, - "src": "1579:19:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - "typeName": { - "id": 416, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1579:6:3", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 419, - "name": "_datasetPrice", - "nodeType": "VariableDeclaration", - "scope": 448, - "src": "1602:21:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 418, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1602:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 421, - "name": "_datasetParams", - "nodeType": "VariableDeclaration", - "scope": 448, - "src": "1627:21:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - "typeName": { - "id": 420, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1627:6:3", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1575:74:3" - }, - "payable": false, - "returnParameters": { - "id": 427, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 426, - "name": "createdDataset", - "nodeType": "VariableDeclaration", - "scope": 448, - "src": "1699:22:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 425, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1699:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1698:24:3" - }, - "scope": 449, - "src": "1553:394:3", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 450, - "src": "104:1845:3" - } - ], - "src": "0:1950:3" - }, - "compiler": { - "name": "solc", - "version": "0.4.21+commit.dfe3193c.Emscripten.clang" - }, - "networks": { - "3": { - "events": { - "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - } - }, - "links": {}, - "address": "0xfe6a941ddfbfc6924ea64dc2e576de3b5be3e3a5", - "transactionHash": "0xc27db0fa2a75105be1ea4a7b96ca7be52eaadc64f672dd8445f474873c27619b" - }, - "4": { - "events": { - "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - } - }, - "links": {}, - "address": "0x82f858f32c8ee88772e296650667a838e5d1b961", - "transactionHash": "0x21d2603c066bfb6ad6de46f4f3256465afb4fd7b302a278204f67660b8246650" - }, - "42": { - "events": { - "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - } - }, - "links": {}, - "address": "0xdee768d9a781658503445cbe79e463bcf90538d5", - "transactionHash": "0xa8bf388244ce05017d4370878c8b1bcece8019f8c527668db213e473edad0cf9" - } - }, - "schemaVersion": "2.0.0", - "updatedAt": "2018-05-21T11:48:56.465Z" -} diff --git a/build/contracts/ERC20.json b/build/contracts/ERC20.json deleted file mode 100644 index 3474217e..00000000 --- a/build/contracts/ERC20.json +++ /dev/null @@ -1,1799 +0,0 @@ -{ - "contractName": "ERC20", - "abi": [ - { - "constant": true, - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "from", - "type": "address" - }, - { - "indexed": true, - "name": "to", - "type": "address" - }, - { - "indexed": false, - "name": "value", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "name": "spender", - "type": "address" - }, - { - "indexed": false, - "name": "value", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - { - "constant": true, - "inputs": [ - { - "name": "who", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "owner", - "type": "address" - }, - { - "name": "spender", - "type": "address" - } - ], - "name": "allowance", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "to", - "type": "address" - }, - { - "name": "value", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "name": "ok", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "from", - "type": "address" - }, - { - "name": "to", - "type": "address" - }, - { - "name": "value", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "name": "ok", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "spender", - "type": "address" - }, - { - "name": "value", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [ - { - "name": "ok", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x", - "deployedBytecode": "0x", - "sourceMap": "", - "deployedSourceMap": "", - "source": "pragma solidity ^0.4.8;\n\ncontract ERC20 {\n uint public totalSupply;\n function balanceOf(address who) constant returns (uint);\n function allowance(address owner, address spender) constant returns (uint);\n\n function transfer(address to, uint value) returns (bool ok);\n function transferFrom(address from, address to, uint value) returns (bool ok);\n function approve(address spender, uint value) returns (bool ok);\n event Transfer(address indexed from, address indexed to, uint value);\n event Approval(address indexed owner, address indexed spender, uint value);\n}\n", - "sourcePath": "rlc-token/contracts/ERC20.sol", - "ast": { - "absolutePath": "rlc-token/contracts/ERC20.sol", - "exportedSymbols": { - "ERC20": [ - 6415 - ] - }, - "id": 6416, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 6351, - "literals": [ - "solidity", - "^", - "0.4", - ".8" - ], - "nodeType": "PragmaDirective", - "src": "0:23:20" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": false, - "id": 6415, - "linearizedBaseContracts": [ - 6415 - ], - "name": "ERC20", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "id": 6353, - "name": "totalSupply", - "nodeType": "VariableDeclaration", - "scope": 6415, - "src": "44:23:20", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6352, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "44:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 6360, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6356, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6355, - "name": "who", - "nodeType": "VariableDeclaration", - "scope": 6360, - "src": "90:11:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6354, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "90:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "89:13:20" - }, - "payable": false, - "returnParameters": { - "id": 6359, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6358, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 6360, - "src": "121:4:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6357, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "121:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "120:6:20" - }, - "scope": 6415, - "src": "71:56:20", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 6369, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "allowance", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6365, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6362, - "name": "owner", - "nodeType": "VariableDeclaration", - "scope": 6369, - "src": "149:13:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6361, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "149:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6364, - "name": "spender", - "nodeType": "VariableDeclaration", - "scope": 6369, - "src": "164:15:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6363, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "164:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "148:32:20" - }, - "payable": false, - "returnParameters": { - "id": 6368, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6367, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 6369, - "src": "199:4:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6366, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "199:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "198:6:20" - }, - "scope": 6415, - "src": "130:75:20", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 6378, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6374, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6371, - "name": "to", - "nodeType": "VariableDeclaration", - "scope": 6378, - "src": "227:10:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6370, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "227:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6373, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 6378, - "src": "239:10:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6372, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "239:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "226:24:20" - }, - "payable": false, - "returnParameters": { - "id": 6377, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6376, - "name": "ok", - "nodeType": "VariableDeclaration", - "scope": 6378, - "src": "260:7:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 6375, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "260:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "259:9:20" - }, - "scope": 6415, - "src": "209:60:20", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 6389, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6385, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6380, - "name": "from", - "nodeType": "VariableDeclaration", - "scope": 6389, - "src": "294:12:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6379, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "294:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6382, - "name": "to", - "nodeType": "VariableDeclaration", - "scope": 6389, - "src": "308:10:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6381, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "308:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6384, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 6389, - "src": "320:10:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6383, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "320:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "293:38:20" - }, - "payable": false, - "returnParameters": { - "id": 6388, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6387, - "name": "ok", - "nodeType": "VariableDeclaration", - "scope": 6389, - "src": "341:7:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 6386, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "341:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "340:9:20" - }, - "scope": 6415, - "src": "272:78:20", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 6398, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6394, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6391, - "name": "spender", - "nodeType": "VariableDeclaration", - "scope": 6398, - "src": "370:15:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6390, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "370:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6393, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 6398, - "src": "387:10:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6392, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "387:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "369:29:20" - }, - "payable": false, - "returnParameters": { - "id": 6397, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6396, - "name": "ok", - "nodeType": "VariableDeclaration", - "scope": 6398, - "src": "408:7:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 6395, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "408:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "407:9:20" - }, - "scope": 6415, - "src": "353:64:20", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "anonymous": false, - "documentation": null, - "id": 6406, - "name": "Transfer", - "nodeType": "EventDefinition", - "parameters": { - "id": 6405, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6400, - "indexed": true, - "name": "from", - "nodeType": "VariableDeclaration", - "scope": 6406, - "src": "435:20:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6399, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "435:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6402, - "indexed": true, - "name": "to", - "nodeType": "VariableDeclaration", - "scope": 6406, - "src": "457:18:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6401, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "457:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6404, - "indexed": false, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 6406, - "src": "477:10:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6403, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "477:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "434:54:20" - }, - "src": "420:69:20" - }, - { - "anonymous": false, - "documentation": null, - "id": 6414, - "name": "Approval", - "nodeType": "EventDefinition", - "parameters": { - "id": 6413, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6408, - "indexed": true, - "name": "owner", - "nodeType": "VariableDeclaration", - "scope": 6414, - "src": "507:21:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6407, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "507:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6410, - "indexed": true, - "name": "spender", - "nodeType": "VariableDeclaration", - "scope": 6414, - "src": "530:23:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6409, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "530:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6412, - "indexed": false, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 6414, - "src": "555:10:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6411, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "555:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "506:60:20" - }, - "src": "492:75:20" - } - ], - "scope": 6416, - "src": "25:544:20" - } - ], - "src": "0:570:20" - }, - "legacyAST": { - "absolutePath": "rlc-token/contracts/ERC20.sol", - "exportedSymbols": { - "ERC20": [ - 6415 - ] - }, - "id": 6416, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 6351, - "literals": [ - "solidity", - "^", - "0.4", - ".8" - ], - "nodeType": "PragmaDirective", - "src": "0:23:20" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": false, - "id": 6415, - "linearizedBaseContracts": [ - 6415 - ], - "name": "ERC20", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "id": 6353, - "name": "totalSupply", - "nodeType": "VariableDeclaration", - "scope": 6415, - "src": "44:23:20", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6352, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "44:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 6360, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6356, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6355, - "name": "who", - "nodeType": "VariableDeclaration", - "scope": 6360, - "src": "90:11:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6354, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "90:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "89:13:20" - }, - "payable": false, - "returnParameters": { - "id": 6359, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6358, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 6360, - "src": "121:4:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6357, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "121:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "120:6:20" - }, - "scope": 6415, - "src": "71:56:20", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 6369, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "allowance", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6365, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6362, - "name": "owner", - "nodeType": "VariableDeclaration", - "scope": 6369, - "src": "149:13:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6361, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "149:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6364, - "name": "spender", - "nodeType": "VariableDeclaration", - "scope": 6369, - "src": "164:15:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6363, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "164:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "148:32:20" - }, - "payable": false, - "returnParameters": { - "id": 6368, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6367, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 6369, - "src": "199:4:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6366, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "199:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "198:6:20" - }, - "scope": 6415, - "src": "130:75:20", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 6378, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6374, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6371, - "name": "to", - "nodeType": "VariableDeclaration", - "scope": 6378, - "src": "227:10:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6370, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "227:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6373, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 6378, - "src": "239:10:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6372, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "239:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "226:24:20" - }, - "payable": false, - "returnParameters": { - "id": 6377, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6376, - "name": "ok", - "nodeType": "VariableDeclaration", - "scope": 6378, - "src": "260:7:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 6375, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "260:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "259:9:20" - }, - "scope": 6415, - "src": "209:60:20", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 6389, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6385, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6380, - "name": "from", - "nodeType": "VariableDeclaration", - "scope": 6389, - "src": "294:12:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6379, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "294:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6382, - "name": "to", - "nodeType": "VariableDeclaration", - "scope": 6389, - "src": "308:10:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6381, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "308:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6384, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 6389, - "src": "320:10:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6383, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "320:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "293:38:20" - }, - "payable": false, - "returnParameters": { - "id": 6388, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6387, - "name": "ok", - "nodeType": "VariableDeclaration", - "scope": 6389, - "src": "341:7:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 6386, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "341:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "340:9:20" - }, - "scope": 6415, - "src": "272:78:20", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 6398, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6394, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6391, - "name": "spender", - "nodeType": "VariableDeclaration", - "scope": 6398, - "src": "370:15:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6390, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "370:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6393, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 6398, - "src": "387:10:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6392, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "387:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "369:29:20" - }, - "payable": false, - "returnParameters": { - "id": 6397, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6396, - "name": "ok", - "nodeType": "VariableDeclaration", - "scope": 6398, - "src": "408:7:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 6395, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "408:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "407:9:20" - }, - "scope": 6415, - "src": "353:64:20", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "anonymous": false, - "documentation": null, - "id": 6406, - "name": "Transfer", - "nodeType": "EventDefinition", - "parameters": { - "id": 6405, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6400, - "indexed": true, - "name": "from", - "nodeType": "VariableDeclaration", - "scope": 6406, - "src": "435:20:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6399, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "435:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6402, - "indexed": true, - "name": "to", - "nodeType": "VariableDeclaration", - "scope": 6406, - "src": "457:18:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6401, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "457:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6404, - "indexed": false, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 6406, - "src": "477:10:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6403, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "477:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "434:54:20" - }, - "src": "420:69:20" - }, - { - "anonymous": false, - "documentation": null, - "id": 6414, - "name": "Approval", - "nodeType": "EventDefinition", - "parameters": { - "id": 6413, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6408, - "indexed": true, - "name": "owner", - "nodeType": "VariableDeclaration", - "scope": 6414, - "src": "507:21:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6407, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "507:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6410, - "indexed": true, - "name": "spender", - "nodeType": "VariableDeclaration", - "scope": 6414, - "src": "530:23:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6409, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "530:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6412, - "indexed": false, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 6414, - "src": "555:10:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6411, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "555:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "506:60:20" - }, - "src": "492:75:20" - } - ], - "scope": 6416, - "src": "25:544:20" - } - ], - "src": "0:570:20" - }, - "compiler": { - "name": "solc", - "version": "0.4.21+commit.dfe3193c.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "2.0.0", - "updatedAt": "2018-05-20T20:12:33.576Z" -} diff --git a/build/contracts/IexecAPI.json b/build/contracts/IexecAPI.json deleted file mode 100644 index 1e58e391..00000000 --- a/build/contracts/IexecAPI.json +++ /dev/null @@ -1,6854 +0,0 @@ -{ - "contractName": "IexecAPI", - "abi": [ - { - "constant": false, - "inputs": [ - { - "name": "_newOwner", - "type": "address" - } - ], - "name": "setImmutableOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "m_callbackProofAddress", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "m_owner", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "m_changeable", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "name": "_iexecHubAddress", - "type": "address" - }, - { - "name": "_callbackProofAddress", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "woid", - "type": "address" - } - ], - "name": "WorkOrderActivated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "to", - "type": "address" - }, - { - "indexed": false, - "name": "amount", - "type": "uint256" - } - ], - "name": "WithdrawRLCFromIexecAPI", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "iexecHub", - "type": "address" - }, - { - "indexed": false, - "name": "amount", - "type": "uint256" - } - ], - "name": "ApproveIexecHub", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "iexecHub", - "type": "address" - }, - { - "indexed": false, - "name": "amount", - "type": "uint256" - } - ], - "name": "DepositRLCOnIexecHub", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "iexecHub", - "type": "address" - }, - { - "indexed": false, - "name": "amount", - "type": "uint256" - } - ], - "name": "WithdrawRLCFromIexecHub", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "woid", - "type": "address" - }, - { - "indexed": false, - "name": "stdout", - "type": "string" - }, - { - "indexed": false, - "name": "stderr", - "type": "string" - }, - { - "indexed": false, - "name": "uri", - "type": "string" - } - ], - "name": "WorkOrderCallback", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "constant": false, - "inputs": [ - { - "name": "_marketorderIdx", - "type": "uint256" - }, - { - "name": "_workerpool", - "type": "address" - }, - { - "name": "_app", - "type": "address" - }, - { - "name": "_dataset", - "type": "address" - }, - { - "name": "_params", - "type": "string" - }, - { - "name": "_callback", - "type": "address" - }, - { - "name": "_beneficiary", - "type": "address" - } - ], - "name": "buyForWorkOrder", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_woid", - "type": "address" - }, - { - "name": "_stdout", - "type": "string" - }, - { - "name": "_stderr", - "type": "string" - }, - { - "name": "_uri", - "type": "string" - } - ], - "name": "workOrderCallback", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "amount", - "type": "uint256" - } - ], - "name": "approveIexecHub", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "amount", - "type": "uint256" - } - ], - "name": "withdrawRLCFromIexecAPI", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "amount", - "type": "uint256" - } - ], - "name": "depositRLCOnIexecHub", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "amount", - "type": "uint256" - } - ], - "name": "withdrawRLCFromIexecHub", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x6060604052341561000f57600080fd5b604051604080610c2883398101604052808051919060200180516000805460a060020a60ff0219600160a060020a03338116600160a060020a0319909316929092171674010000000000000000000000000000000000000000179091559092508391508116151561007f57600080fd5b60018054600160a060020a03928316600160a060020a0319918216179091556002805493909216921691909117905550610b6a806100be6000396000f30060606040526004361061008a5763ffffffff60e060020a6000350416634c0f5342811461008f578063514d7067146100b9578063536e28001461019c57806356af48ca1461022057806379117b2e14610236578063a56620f71461024c578063bbac78a914610262578063c2cc421414610281578063deff41c1146102b0578063e21b9d08146102c3575b600080fd5b341561009a57600080fd5b6100a56004356102d6565b604051901515815260200160405180910390f35b34156100c457600080fd5b6100a560048035600160a060020a03169060446024803590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052818152929190602084018383808284375094965061042195505050505050565b34156101a757600080fd5b61021e6004803590600160a060020a0360248035821692604435831692606435169160a49060843590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284375094965050600160a060020a038535811695602001351693506105c992505050565b005b341561022b57600080fd5b6100a560043561071b565b341561024157600080fd5b6100a56004356107f9565b341561025757600080fd5b6100a56004356108eb565b341561026d57600080fd5b61021e600160a060020a0360043516610a23565b341561028c57600080fd5b610294610aff565b604051600160a060020a03909116815260200160405180910390f35b34156102bb57600080fd5b610294610b0e565b34156102ce57600080fd5b6100a5610b1d565b60008054819033600160a060020a039081169116146102f457600080fd5b600154600160a060020a031663b017c0366040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561033357600080fd5b5af1151561034057600080fd5b5050506040518051600154909250600160a060020a03808416925063095ea7b391168560405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b15156103a657600080fd5b5af115156103b357600080fd5b5050506040518051905015156103c857600080fd5b6001547f5e9a23944fb3d019925ad84f8e1696436c1c7229787674a8ef8e08c776050df590600160a060020a031684604051600160a060020a03909216825260208201526040908101905180910390a150600192915050565b60025460009033600160a060020a0390811691161461043f57600080fd5b7f708463eccdafadafbe7022c0f4909af2e585cd08c63eaefa786159e156227e3785858585604051600160a060020a03851681526080602082018181529060408301906060840190840187818151815260200191508051906020019080838360005b838110156104b95780820151838201526020016104a1565b50505050905090810190601f1680156104e65780820380516001836020036101000a031916815260200191505b50848103835286818151815260200191508051906020019080838360005b8381101561051c578082015183820152602001610504565b50505050905090810190601f1680156105495780820380516001836020036101000a031916815260200191505b50848103825285818151815260200191508051906020019080838360005b8381101561057f578082015183820152602001610567565b50505050905090810190601f1680156105ac5780820380516001836020036101000a031916815260200191505b5097505050505050505060405180910390a1506001949350505050565b600154600090600160a060020a031663536e28008989898989898960405160e060020a63ffffffff8a1602815260048101888152600160a060020a0380891660248401528781166044840152868116606484015284811660a4840152831660c483015260e060848301908152909160e40185818151815260200191508051906020019080838360005b8381101561066a578082015183820152602001610652565b50505050905090810190601f1680156106975780820380516001836020036101000a031916815260200191505b5098505050505050505050602060405180830381600087803b15156106bb57600080fd5b5af115156106c857600080fd5b5050506040518051905090507f97bc1c5737260b338426a9a41398356e2567bfb662ff28845fb5cb3e6cdfee9181604051600160a060020a03909116815260200160405180910390a15050505050505050565b6000805433600160a060020a0390811691161461073757600080fd5b600154600160a060020a031663b6b55f258360405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b151561077f57600080fd5b5af1151561078c57600080fd5b5050506040518051905015156107a157600080fd5b6001547fbaa053b1e17bc83190da4939238743339cd734d83d7413a6d3c117df790dd1a590600160a060020a031683604051600160a060020a03909216825260208201526040908101905180910390a1506001919050565b6000805433600160a060020a0390811691161461081557600080fd5b600154600160a060020a0316632e1a7d4d8360405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b151561085d57600080fd5b5af1151561086a57600080fd5b50505060405180519050151561087f57600080fd5b610888826108eb565b151561089357600080fd5b6001547f2114edfbc766dd13ecebe139c59b657991c87b94518361feb5db86f05b0570f190600160a060020a031683604051600160a060020a03909216825260208201526040908101905180910390a1506001919050565b60008054819033600160a060020a0390811691161461090957600080fd5b600154600160a060020a031663b017c0366040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561094857600080fd5b5af1151561095557600080fd5b5050506040518051915050600160a060020a03811663a9059cbb338560405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b15156109b457600080fd5b5af115156109c157600080fd5b5050506040518051905015156109d657600080fd5b7f3cab9babe8fba8f5cfad7cac37057781ced585f6af63c4e64aedbb12a5c96d993384604051600160a060020a03909216825260208201526040908101905180910390a150600192915050565b60005433600160a060020a03908116911614610a3e57600080fd5b60005474010000000000000000000000000000000000000000900460ff161515610a6757600080fd5b600160a060020a0381161515610a7c57600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911774ff000000000000000000000000000000000000000019169055565b600254600160a060020a031681565b600054600160a060020a031681565b60005474010000000000000000000000000000000000000000900460ff16815600a165627a7a723058203c5f00edf167da00906749313aaa54bb10b6fb41b4d3297b9bb90c7027adf5c70029", - "deployedBytecode": "0x60606040526004361061008a5763ffffffff60e060020a6000350416634c0f5342811461008f578063514d7067146100b9578063536e28001461019c57806356af48ca1461022057806379117b2e14610236578063a56620f71461024c578063bbac78a914610262578063c2cc421414610281578063deff41c1146102b0578063e21b9d08146102c3575b600080fd5b341561009a57600080fd5b6100a56004356102d6565b604051901515815260200160405180910390f35b34156100c457600080fd5b6100a560048035600160a060020a03169060446024803590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052818152929190602084018383808284375094965061042195505050505050565b34156101a757600080fd5b61021e6004803590600160a060020a0360248035821692604435831692606435169160a49060843590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284375094965050600160a060020a038535811695602001351693506105c992505050565b005b341561022b57600080fd5b6100a560043561071b565b341561024157600080fd5b6100a56004356107f9565b341561025757600080fd5b6100a56004356108eb565b341561026d57600080fd5b61021e600160a060020a0360043516610a23565b341561028c57600080fd5b610294610aff565b604051600160a060020a03909116815260200160405180910390f35b34156102bb57600080fd5b610294610b0e565b34156102ce57600080fd5b6100a5610b1d565b60008054819033600160a060020a039081169116146102f457600080fd5b600154600160a060020a031663b017c0366040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561033357600080fd5b5af1151561034057600080fd5b5050506040518051600154909250600160a060020a03808416925063095ea7b391168560405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b15156103a657600080fd5b5af115156103b357600080fd5b5050506040518051905015156103c857600080fd5b6001547f5e9a23944fb3d019925ad84f8e1696436c1c7229787674a8ef8e08c776050df590600160a060020a031684604051600160a060020a03909216825260208201526040908101905180910390a150600192915050565b60025460009033600160a060020a0390811691161461043f57600080fd5b7f708463eccdafadafbe7022c0f4909af2e585cd08c63eaefa786159e156227e3785858585604051600160a060020a03851681526080602082018181529060408301906060840190840187818151815260200191508051906020019080838360005b838110156104b95780820151838201526020016104a1565b50505050905090810190601f1680156104e65780820380516001836020036101000a031916815260200191505b50848103835286818151815260200191508051906020019080838360005b8381101561051c578082015183820152602001610504565b50505050905090810190601f1680156105495780820380516001836020036101000a031916815260200191505b50848103825285818151815260200191508051906020019080838360005b8381101561057f578082015183820152602001610567565b50505050905090810190601f1680156105ac5780820380516001836020036101000a031916815260200191505b5097505050505050505060405180910390a1506001949350505050565b600154600090600160a060020a031663536e28008989898989898960405160e060020a63ffffffff8a1602815260048101888152600160a060020a0380891660248401528781166044840152868116606484015284811660a4840152831660c483015260e060848301908152909160e40185818151815260200191508051906020019080838360005b8381101561066a578082015183820152602001610652565b50505050905090810190601f1680156106975780820380516001836020036101000a031916815260200191505b5098505050505050505050602060405180830381600087803b15156106bb57600080fd5b5af115156106c857600080fd5b5050506040518051905090507f97bc1c5737260b338426a9a41398356e2567bfb662ff28845fb5cb3e6cdfee9181604051600160a060020a03909116815260200160405180910390a15050505050505050565b6000805433600160a060020a0390811691161461073757600080fd5b600154600160a060020a031663b6b55f258360405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b151561077f57600080fd5b5af1151561078c57600080fd5b5050506040518051905015156107a157600080fd5b6001547fbaa053b1e17bc83190da4939238743339cd734d83d7413a6d3c117df790dd1a590600160a060020a031683604051600160a060020a03909216825260208201526040908101905180910390a1506001919050565b6000805433600160a060020a0390811691161461081557600080fd5b600154600160a060020a0316632e1a7d4d8360405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b151561085d57600080fd5b5af1151561086a57600080fd5b50505060405180519050151561087f57600080fd5b610888826108eb565b151561089357600080fd5b6001547f2114edfbc766dd13ecebe139c59b657991c87b94518361feb5db86f05b0570f190600160a060020a031683604051600160a060020a03909216825260208201526040908101905180910390a1506001919050565b60008054819033600160a060020a0390811691161461090957600080fd5b600154600160a060020a031663b017c0366040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561094857600080fd5b5af1151561095557600080fd5b5050506040518051915050600160a060020a03811663a9059cbb338560405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b15156109b457600080fd5b5af115156109c157600080fd5b5050506040518051905015156109d657600080fd5b7f3cab9babe8fba8f5cfad7cac37057781ced585f6af63c4e64aedbb12a5c96d993384604051600160a060020a03909216825260208201526040908101905180910390a150600192915050565b60005433600160a060020a03908116911614610a3e57600080fd5b60005474010000000000000000000000000000000000000000900460ff161515610a6757600080fd5b600160a060020a0381161515610a7c57600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911774ff000000000000000000000000000000000000000019169055565b600254600160a060020a031681565b600054600160a060020a031681565b60005474010000000000000000000000000000000000000000900460ff16815600a165627a7a723058203c5f00edf167da00906749313aaa54bb10b6fb41b4d3297b9bb90c7027adf5c70029", - "sourceMap": "163:2197:4:-;;;607:174;;;;;;;;;;;;;;;;;;;;;;;;;;;;667:7:14;:25;;-1:-1:-1;;;;;;;;;;;682:10:14;667:25;;-1:-1:-1;;;;;;667:25:14;;;;;;;696:19;;;;;;607:174:4;;-1:-1:-1;700:16:4;;-1:-1:-1;300:30:7;;;;292:39;;;;;;335:17;:55;;-1:-1:-1;;;;;335:55:7;;;-1:-1:-1;;;;;;335:55:7;;;;;;;731:22:4;:46;;;;;;;;;;;;;;-1:-1:-1;163:2197:4;;;;;;", - "deployedSourceMap": "163:2197:4:-;;;;;;;;;-1:-1:-1;;;163:2197:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1392:250;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1141:248;;;;;;;;;;;;;-1:-1:-1;;;;;1141:248:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1141:248:4;;-1:-1:-1;1141:248:4;;-1:-1:-1;;;;;;1141:248:4;784:354;;;;;;;;;;;;;;-1:-1:-1;;;;;784:354:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;784:354:4;;-1:-1:-1;;;;;;;784:354:4;;;;;;;;;;-1:-1:-1;784:354:4;;-1:-1:-1;;;784:354:4;;;1883:209;;;;;;;;;;;;;;2095:260;;;;;;;;;;;;;;1645:235;;;;;;;;;;;;;;876:234:14;;;;;;;;;;-1:-1:-1;;;;;876:234:14;;;;;550:37:4;;;;;;;;;;;;;;;-1:-1:-1;;;;;550:37:4;;;;;;;;;;;;;;238:22:14;;;;;;;;;;;;263:27;;;;;;;;;;;;1392:250:4;1459:4;502:7:14;;1459:4:4;;488:10:14;-1:-1:-1;;;;;488:21:14;;;502:7;;488:21;480:30;;;;;;1480:17:4;;-1:-1:-1;;;;;1480:17:4;:21;:23;;;;;-1:-1:-1;;;1480:23:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1535:17;;1480:23;;-1:-1:-1;;;;;;1515:11:4;;;;-1:-1:-1;1515:11:4;;1535:17;1555:6;1515:47;;-1:-1:-1;;;1515:47:4;;;;;;-1:-1:-1;;;;;1515:47:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1507:56;;;;;;;;1596:17;;1572:51;;-1:-1:-1;;;;;1596:17:4;1616:6;1572:51;;-1:-1:-1;;;;;1572:51:4;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1634:4:4;;1392:250;-1:-1:-1;;1392:250:4:o;1141:248::-;1290:22;;1257:4;;1276:10;-1:-1:-1;;;;;1276:36:4;;;1290:22;;1276:36;1268:45;;;;;;1322:48;1340:5;1347:7;1356;1365:4;1322:48;;-1:-1:-1;;;;;1322:48:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;1322:48:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;1322:48:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;1322:48:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1381:4:4;1141:248;;;;;;:::o;784:354::-;988:17;;973:12;;-1:-1:-1;;;;;988:17:4;:33;1022:15;1039:11;1052:4;1058:8;1068:7;1077:9;1088:12;988:113;;-1:-1:-1;;;988:113:4;;;;;;;;;;;;-1:-1:-1;;;;;988:113:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;988:113:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;973:128;;1110:24;1129:4;1110:24;;-1:-1:-1;;;;;1110:24:4;;;;;;;;;;;;;;784:354;;;;;;;;:::o;1883:209::-;1955:4;502:7:14;;488:10;-1:-1:-1;;;;;488:21:14;;;502:7;;488:21;480:30;;;;;;1974:17:4;;-1:-1:-1;;;;;1974:17:4;:25;2000:6;1974:33;;-1:-1:-1;;;1974:33:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1966:42;;;;;;;;2046:17;;2017:56;;-1:-1:-1;;;;;2046:17:4;2066:6;2017:56;;-1:-1:-1;;;;;2017:56:4;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2084:4:4;1883:209;;;:::o;2095:260::-;2170:4;502:7:14;;488:10;-1:-1:-1;;;;;488:21:14;;;502:7;;488:21;480:30;;;;;;2189:17:4;;-1:-1:-1;;;;;2189:17:4;:26;2216:6;2189:34;;-1:-1:-1;;;2189:34:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2181:43;;;;;;;;2236:31;2260:6;2236:23;:31::i;:::-;2228:40;;;;;;;;2309:17;;2277:59;;-1:-1:-1;;;;;2309:17:4;2329:6;2277:59;;-1:-1:-1;;;;;2277:59:4;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2347:4:4;2095:260;;;:::o;1645:235::-;1720:4;502:7:14;;1720:4:4;;488:10:14;-1:-1:-1;;;;;488:21:14;;;502:7;;488:21;480:30;;;;;;1741:17:4;;-1:-1:-1;;;;;1741:17:4;:21;:23;;;;;-1:-1:-1;;;1741:23:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;1776:12:4;;;1789:10;1801:6;1776:32;;-1:-1:-1;;;1776:32:4;;;;;;-1:-1:-1;;;;;1776:32:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1768:41;;;;;;;;1818:43;1842:10;1854:6;1818:43;;-1:-1:-1;;;;;1818:43:4;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1872:4:4;;1645:235;-1:-1:-1;;1645:235:4:o;876:234:14:-;502:7;;488:10;-1:-1:-1;;;;;488:21:14;;;502:7;;488:21;480:30;;;;;;956:12;;;;;;;948:21;;;;;;;;-1:-1:-1;;;;;981:23:14;;;;973:32;;;;;;1035:7;;-1:-1:-1;;;;;1014:40:14;;;;1035:7;1014:40;;;;;;;;;;1058:7;:24;;-1:-1:-1;;1058:24:14;-1:-1:-1;;;;;1058:24:14;;;;;;;;-1:-1:-1;;1086:20:14;;;876:234::o;550:37:4:-;;;-1:-1:-1;;;;;550:37:4;;:::o;238:22:14:-;;;-1:-1:-1;;;;;238:22:14;;:::o;263:27::-;;;;;;;;;:::o", - "source": "pragma solidity ^0.4.21;\nimport './OwnableOZ.sol';\nimport './IexecHubAccessor.sol';\nimport './IexecCallbackInterface.sol';\nimport \"rlc-token/contracts/RLC.sol\";\n\n\ncontract IexecAPI is OwnableOZ, IexecHubAccessor, IexecCallbackInterface\n{\n\tevent WorkOrderActivated (address woid);\n\tevent WithdrawRLCFromIexecAPI(address to, uint256 amount);\n\tevent ApproveIexecHub (address iexecHub, uint256 amount);\n\tevent DepositRLCOnIexecHub (address iexecHub, uint256 amount);\n\tevent WithdrawRLCFromIexecHub(address iexecHub, uint256 amount);\n\n\taddress public m_callbackProofAddress;\n\n\t// Constructor\n\tfunction IexecAPI(address _iexecHubAddress, address _callbackProofAddress)\n\tIexecHubAccessor(_iexecHubAddress)\n\tpublic\n\t{\n\t\tm_callbackProofAddress = _callbackProofAddress;\n\t}\n\n\tfunction buyForWorkOrder(\n\t\tuint256 _marketorderIdx,\n\t\taddress _workerpool,\n\t\taddress _app,\n\t\taddress _dataset,\n\t\tstring _params,\n\t\taddress _callback,\n\t\taddress _beneficiary)\n\tpublic\n\t{\n\t\taddress woid = iexecHubInterface.buyForWorkOrder(_marketorderIdx, _workerpool, _app, _dataset, _params, _callback, _beneficiary);\n\t\temit WorkOrderActivated(woid);\n\t}\n\n\tfunction workOrderCallback(\n\t\taddress _woid,\n\t\tstring _stdout,\n\t\tstring _stderr,\n\t\tstring _uri)\n\tpublic returns (bool)\n\t{\n\t\trequire(msg.sender == m_callbackProofAddress);\n\t\temit WorkOrderCallback(_woid, _stdout, _stderr, _uri);\n\t\treturn true;\n\t}\n\n\tfunction approveIexecHub(uint256 amount) public onlyOwner returns (bool)\n\t{\n\t\tRLC rlc = iexecHubInterface.rlc();\n\t\trequire(rlc.approve(address(iexecHubInterface), amount));\n\t\temit ApproveIexecHub(address(iexecHubInterface), amount);\n\t\treturn true;\n\t}\n\n\tfunction withdrawRLCFromIexecAPI(uint256 amount) public onlyOwner returns (bool)\n\t{\n\t\tRLC rlc = iexecHubInterface.rlc();\n\t\trequire(rlc.transfer(msg.sender, amount));\n\t\temit WithdrawRLCFromIexecAPI(msg.sender, amount);\n\t\treturn true;\n\t}\n\n\tfunction depositRLCOnIexecHub(uint256 amount) public onlyOwner returns (bool)\n\t{\n\t\trequire(iexecHubInterface.deposit(amount));\n\t\temit DepositRLCOnIexecHub(address(iexecHubInterface), amount);\n\t\treturn true;\n\t}\n\n\tfunction withdrawRLCFromIexecHub(uint256 amount) public onlyOwner returns (bool)\n\t{\n\t\trequire(iexecHubInterface.withdraw(amount));\n\t\trequire(withdrawRLCFromIexecAPI(amount));\n\t\temit WithdrawRLCFromIexecHub(address(iexecHubInterface), amount);\n\t\treturn true;\n\t}\n\n\n\n}\n", - "sourcePath": "/Users/fbranci/iexecdev/PoCo/contracts/IexecAPI.sol", - "ast": { - "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/IexecAPI.sol", - "exportedSymbols": { - "IexecAPI": [ - 698 - ] - }, - "id": 699, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 451, - "literals": [ - "solidity", - "^", - "0.4", - ".21" - ], - "nodeType": "PragmaDirective", - "src": "0:24:4" - }, - { - "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/OwnableOZ.sol", - "file": "./OwnableOZ.sol", - "id": 452, - "nodeType": "ImportDirective", - "scope": 699, - "sourceUnit": 3748, - "src": "25:25:4", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/IexecHubAccessor.sol", - "file": "./IexecHubAccessor.sol", - "id": 453, - "nodeType": "ImportDirective", - "scope": 699, - "sourceUnit": 2476, - "src": "51:32:4", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/IexecCallbackInterface.sol", - "file": "./IexecCallbackInterface.sol", - "id": 454, - "nodeType": "ImportDirective", - "scope": 699, - "sourceUnit": 725, - "src": "84:38:4", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "rlc-token/contracts/RLC.sol", - "file": "rlc-token/contracts/RLC.sol", - "id": 455, - "nodeType": "ImportDirective", - "scope": 699, - "sourceUnit": 6786, - "src": "123:37:4", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [ - { - "arguments": [], - "baseName": { - "contractScope": null, - "id": 456, - "name": "OwnableOZ", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 3747, - "src": "184:9:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_OwnableOZ_$3747", - "typeString": "contract OwnableOZ" - } - }, - "id": 457, - "nodeType": "InheritanceSpecifier", - "src": "184:9:4" - }, - { - "arguments": [], - "baseName": { - "contractScope": null, - "id": 458, - "name": "IexecHubAccessor", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2475, - "src": "195:16:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IexecHubAccessor_$2475", - "typeString": "contract IexecHubAccessor" - } - }, - "id": 459, - "nodeType": "InheritanceSpecifier", - "src": "195:16:4" - }, - { - "arguments": [], - "baseName": { - "contractScope": null, - "id": 460, - "name": "IexecCallbackInterface", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 724, - "src": "213:22:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IexecCallbackInterface_$724", - "typeString": "contract IexecCallbackInterface" - } - }, - "id": 461, - "nodeType": "InheritanceSpecifier", - "src": "213:22:4" - } - ], - "contractDependencies": [ - 724, - 2475, - 3747 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 698, - "linearizedBaseContracts": [ - 698, - 724, - 2475, - 3747 - ], - "name": "IexecAPI", - "nodeType": "ContractDefinition", - "nodes": [ - { - "anonymous": false, - "documentation": null, - "id": 465, - "name": "WorkOrderActivated", - "nodeType": "EventDefinition", - "parameters": { - "id": 464, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 463, - "indexed": false, - "name": "woid", - "nodeType": "VariableDeclaration", - "scope": 465, - "src": "269:12:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 462, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "269:7:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "268:14:4" - }, - "src": "239:44:4" - }, - { - "anonymous": false, - "documentation": null, - "id": 471, - "name": "WithdrawRLCFromIexecAPI", - "nodeType": "EventDefinition", - "parameters": { - "id": 470, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 467, - "indexed": false, - "name": "to", - "nodeType": "VariableDeclaration", - "scope": 471, - "src": "315:10:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 466, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "315:7:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 469, - "indexed": false, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 471, - "src": "333:14:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 468, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "333:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "314:34:4" - }, - "src": "285:64:4" - }, - { - "anonymous": false, - "documentation": null, - "id": 477, - "name": "ApproveIexecHub", - "nodeType": "EventDefinition", - "parameters": { - "id": 476, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 473, - "indexed": false, - "name": "iexecHub", - "nodeType": "VariableDeclaration", - "scope": 477, - "src": "381:16:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 472, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "381:7:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 475, - "indexed": false, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 477, - "src": "399:14:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 474, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "399:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "380:34:4" - }, - "src": "351:64:4" - }, - { - "anonymous": false, - "documentation": null, - "id": 483, - "name": "DepositRLCOnIexecHub", - "nodeType": "EventDefinition", - "parameters": { - "id": 482, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 479, - "indexed": false, - "name": "iexecHub", - "nodeType": "VariableDeclaration", - "scope": 483, - "src": "447:16:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 478, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "447:7:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 481, - "indexed": false, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 483, - "src": "465:14:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 480, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "465:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "446:34:4" - }, - "src": "417:64:4" - }, - { - "anonymous": false, - "documentation": null, - "id": 489, - "name": "WithdrawRLCFromIexecHub", - "nodeType": "EventDefinition", - "parameters": { - "id": 488, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 485, - "indexed": false, - "name": "iexecHub", - "nodeType": "VariableDeclaration", - "scope": 489, - "src": "513:16:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 484, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "513:7:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 487, - "indexed": false, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 489, - "src": "531:14:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 486, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "531:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "512:34:4" - }, - "src": "483:64:4" - }, - { - "constant": false, - "id": 491, - "name": "m_callbackProofAddress", - "nodeType": "VariableDeclaration", - "scope": 698, - "src": "550:37:4", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 490, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "550:7:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "body": { - "id": 505, - "nodeType": "Block", - "src": "727:54:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 503, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 501, - "name": "m_callbackProofAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 491, - "src": "731:22:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 502, - "name": "_callbackProofAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 495, - "src": "756:21:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "731:46:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 504, - "nodeType": "ExpressionStatement", - "src": "731:46:4" - } - ] - }, - "documentation": null, - "id": 506, - "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 498, - "name": "_iexecHubAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 493, - "src": "700:16:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "id": 499, - "modifierName": { - "argumentTypes": null, - "id": 497, - "name": "IexecHubAccessor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2475, - "src": "683:16:4", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IexecHubAccessor_$2475_$", - "typeString": "type(contract IexecHubAccessor)" - } - }, - "nodeType": "ModifierInvocation", - "src": "683:34:4" - } - ], - "name": "IexecAPI", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 496, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 493, - "name": "_iexecHubAddress", - "nodeType": "VariableDeclaration", - "scope": 506, - "src": "625:24:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 492, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "625:7:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 495, - "name": "_callbackProofAddress", - "nodeType": "VariableDeclaration", - "scope": 506, - "src": "651:29:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 494, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "651:7:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "624:57:4" - }, - "payable": false, - "returnParameters": { - "id": 500, - "nodeType": "ParameterList", - "parameters": [], - "src": "727:0:4" - }, - "scope": 698, - "src": "607:174:4", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 540, - "nodeType": "Block", - "src": "969:169:4", - "statements": [ - { - "assignments": [ - 524 - ], - "declarations": [ - { - "constant": false, - "id": 524, - "name": "woid", - "nodeType": "VariableDeclaration", - "scope": 541, - "src": "973:12:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 523, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "973:7:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 535, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 527, - "name": "_marketorderIdx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 508, - "src": "1022:15:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 528, - "name": "_workerpool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 510, - "src": "1039:11:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 529, - "name": "_app", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 512, - "src": "1052:4:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 530, - "name": "_dataset", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 514, - "src": "1058:8:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 531, - "name": "_params", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 516, - "src": "1068:7:4", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 532, - "name": "_callback", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 518, - "src": "1077:9:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 533, - "name": "_beneficiary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 520, - "src": "1088:12:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 525, - "name": "iexecHubInterface", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2441, - "src": "988:17:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IexecHubInterface_$2802", - "typeString": "contract IexecHubInterface" - } - }, - "id": 526, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "buyForWorkOrder", - "nodeType": "MemberAccess", - "referencedDeclaration": 2563, - "src": "988:33:4", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_address_$_t_address_$_t_address_$_t_string_memory_ptr_$_t_address_$_t_address_$returns$_t_address_$", - "typeString": "function (uint256,address,address,address,string memory,address,address) external returns (address)" - } - }, - "id": 534, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "988:113:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "973:128:4" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 537, - "name": "woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 524, - "src": "1129:4:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 536, - "name": "WorkOrderActivated", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 465, - "src": "1110:18:4", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 538, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1110:24:4", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 539, - "nodeType": "EmitStatement", - "src": "1105:29:4" - } - ] - }, - "documentation": null, - "id": 541, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "buyForWorkOrder", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 521, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 508, - "name": "_marketorderIdx", - "nodeType": "VariableDeclaration", - "scope": 541, - "src": "812:23:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 507, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "812:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 510, - "name": "_workerpool", - "nodeType": "VariableDeclaration", - "scope": 541, - "src": "839:19:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 509, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "839:7:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 512, - "name": "_app", - "nodeType": "VariableDeclaration", - "scope": 541, - "src": "862:12:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 511, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "862:7:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 514, - "name": "_dataset", - "nodeType": "VariableDeclaration", - "scope": 541, - "src": "878:16:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 513, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "878:7:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 516, - "name": "_params", - "nodeType": "VariableDeclaration", - "scope": 541, - "src": "898:15:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - "typeName": { - "id": 515, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "898:6:4", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 518, - "name": "_callback", - "nodeType": "VariableDeclaration", - "scope": 541, - "src": "917:17:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 517, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "917:7:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 520, - "name": "_beneficiary", - "nodeType": "VariableDeclaration", - "scope": 541, - "src": "938:20:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 519, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "938:7:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "808:151:4" - }, - "payable": false, - "returnParameters": { - "id": 522, - "nodeType": "ParameterList", - "parameters": [], - "src": "969:0:4" - }, - "scope": 698, - "src": "784:354:4", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 570, - "nodeType": "Block", - "src": "1264:125:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 558, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 555, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "1276:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 556, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1276:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 557, - "name": "m_callbackProofAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 491, - "src": "1290:22:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1276:36:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 554, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "1268:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 559, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1268:45:4", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 560, - "nodeType": "ExpressionStatement", - "src": "1268:45:4" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 562, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 543, - "src": "1340:5:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 563, - "name": "_stdout", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 545, - "src": "1347:7:4", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 564, - "name": "_stderr", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 547, - "src": "1356:7:4", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 565, - "name": "_uri", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 549, - "src": "1365:4:4", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 561, - "name": "WorkOrderCallback", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 723, - "src": "1322:17:4", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (address,string memory,string memory,string memory)" - } - }, - "id": 566, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1322:48:4", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 567, - "nodeType": "EmitStatement", - "src": "1317:53:4" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 568, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1381:4:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 553, - "id": 569, - "nodeType": "Return", - "src": "1374:11:4" - } - ] - }, - "documentation": null, - "id": 571, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "workOrderCallback", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 550, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 543, - "name": "_woid", - "nodeType": "VariableDeclaration", - "scope": 571, - "src": "1171:13:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 542, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1171:7:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 545, - "name": "_stdout", - "nodeType": "VariableDeclaration", - "scope": 571, - "src": "1188:15:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - "typeName": { - "id": 544, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1188:6:4", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 547, - "name": "_stderr", - "nodeType": "VariableDeclaration", - "scope": 571, - "src": "1207:15:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - "typeName": { - "id": 546, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1207:6:4", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 549, - "name": "_uri", - "nodeType": "VariableDeclaration", - "scope": 571, - "src": "1226:12:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - "typeName": { - "id": 548, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1226:6:4", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1167:72:4" - }, - "payable": false, - "returnParameters": { - "id": 553, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 552, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 571, - "src": "1257:4:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 551, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1257:4:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1256:6:4" - }, - "scope": 698, - "src": "1141:248:4", - "stateMutability": "nonpayable", - "superFunction": 713, - "visibility": "public" - }, - { - "body": { - "id": 605, - "nodeType": "Block", - "src": "1466:176:4", - "statements": [ - { - "assignments": [ - 581 - ], - "declarations": [ - { - "constant": false, - "id": 581, - "name": "rlc", - "nodeType": "VariableDeclaration", - "scope": 606, - "src": "1470:7:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RLC_$6785", - "typeString": "contract RLC" - }, - "typeName": { - "contractScope": null, - "id": 580, - "name": "RLC", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6785, - "src": "1470:3:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RLC_$6785", - "typeString": "contract RLC" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 585, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 582, - "name": "iexecHubInterface", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2441, - "src": "1480:17:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IexecHubInterface_$2802", - "typeString": "contract IexecHubInterface" - } - }, - "id": 583, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "rlc", - "nodeType": "MemberAccess", - "referencedDeclaration": 2480, - "src": "1480:21:4", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_contract$_RLC_$6785_$", - "typeString": "function () view external returns (contract RLC)" - } - }, - "id": 584, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1480:23:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RLC_$6785", - "typeString": "contract RLC" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1470:33:4" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 590, - "name": "iexecHubInterface", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2441, - "src": "1535:17:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IexecHubInterface_$2802", - "typeString": "contract IexecHubInterface" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IexecHubInterface_$2802", - "typeString": "contract IexecHubInterface" - } - ], - "id": 589, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1527:7:4", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 591, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1527:26:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 592, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 573, - "src": "1555:6:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 587, - "name": "rlc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 581, - "src": "1515:3:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RLC_$6785", - "typeString": "contract RLC" - } - }, - "id": 588, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "approve", - "nodeType": "MemberAccess", - "referencedDeclaration": 6736, - "src": "1515:11:4", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 593, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1515:47:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 586, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "1507:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 594, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1507:56:4", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 595, - "nodeType": "ExpressionStatement", - "src": "1507:56:4" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 598, - "name": "iexecHubInterface", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2441, - "src": "1596:17:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IexecHubInterface_$2802", - "typeString": "contract IexecHubInterface" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IexecHubInterface_$2802", - "typeString": "contract IexecHubInterface" - } - ], - "id": 597, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1588:7:4", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 599, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1588:26:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 600, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 573, - "src": "1616:6:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 596, - "name": "ApproveIexecHub", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 477, - "src": "1572:15:4", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 601, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1572:51:4", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 602, - "nodeType": "EmitStatement", - "src": "1567:56:4" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 603, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1634:4:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 579, - "id": 604, - "nodeType": "Return", - "src": "1627:11:4" - } - ] - }, - "documentation": null, - "id": 606, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [], - "id": 576, - "modifierName": { - "argumentTypes": null, - "id": 575, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3700, - "src": "1440:9:4", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "1440:9:4" - } - ], - "name": "approveIexecHub", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 574, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 573, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 606, - "src": "1417:14:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 572, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1417:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1416:16:4" - }, - "payable": false, - "returnParameters": { - "id": 579, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 578, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 606, - "src": "1459:4:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 577, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1459:4:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1458:6:4" - }, - "scope": 698, - "src": "1392:250:4", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 638, - "nodeType": "Block", - "src": "1727:153:4", - "statements": [ - { - "assignments": [ - 616 - ], - "declarations": [ - { - "constant": false, - "id": 616, - "name": "rlc", - "nodeType": "VariableDeclaration", - "scope": 639, - "src": "1731:7:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RLC_$6785", - "typeString": "contract RLC" - }, - "typeName": { - "contractScope": null, - "id": 615, - "name": "RLC", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6785, - "src": "1731:3:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RLC_$6785", - "typeString": "contract RLC" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 620, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 617, - "name": "iexecHubInterface", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2441, - "src": "1741:17:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IexecHubInterface_$2802", - "typeString": "contract IexecHubInterface" - } - }, - "id": 618, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "rlc", - "nodeType": "MemberAccess", - "referencedDeclaration": 2480, - "src": "1741:21:4", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_contract$_RLC_$6785_$", - "typeString": "function () view external returns (contract RLC)" - } - }, - "id": 619, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1741:23:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RLC_$6785", - "typeString": "contract RLC" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1731:33:4" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 624, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "1789:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 625, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1789:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 626, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 608, - "src": "1801:6:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 622, - "name": "rlc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 616, - "src": "1776:3:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RLC_$6785", - "typeString": "contract RLC" - } - }, - "id": 623, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 6632, - "src": "1776:12:4", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 627, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1776:32:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 621, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "1768:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 628, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1768:41:4", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 629, - "nodeType": "ExpressionStatement", - "src": "1768:41:4" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 631, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "1842:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 632, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1842:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 633, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 608, - "src": "1854:6:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 630, - "name": "WithdrawRLCFromIexecAPI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 471, - "src": "1818:23:4", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 634, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1818:43:4", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 635, - "nodeType": "EmitStatement", - "src": "1813:48:4" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 636, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1872:4:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 614, - "id": 637, - "nodeType": "Return", - "src": "1865:11:4" - } - ] - }, - "documentation": null, - "id": 639, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [], - "id": 611, - "modifierName": { - "argumentTypes": null, - "id": 610, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3700, - "src": "1701:9:4", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "1701:9:4" - } - ], - "name": "withdrawRLCFromIexecAPI", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 609, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 608, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 639, - "src": "1678:14:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 607, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1678:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1677:16:4" - }, - "payable": false, - "returnParameters": { - "id": 614, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 613, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 639, - "src": "1720:4:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 612, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1720:4:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1719:6:4" - }, - "scope": 698, - "src": "1645:235:4", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 664, - "nodeType": "Block", - "src": "1962:130:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 651, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 641, - "src": "2000:6:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 649, - "name": "iexecHubInterface", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2441, - "src": "1974:17:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IexecHubInterface_$2802", - "typeString": "contract IexecHubInterface" - } - }, - "id": 650, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "deposit", - "nodeType": "MemberAccess", - "referencedDeclaration": 2749, - "src": "1974:25:4", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) external returns (bool)" - } - }, - "id": 652, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1974:33:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 648, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "1966:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 653, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1966:42:4", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 654, - "nodeType": "ExpressionStatement", - "src": "1966:42:4" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 657, - "name": "iexecHubInterface", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2441, - "src": "2046:17:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IexecHubInterface_$2802", - "typeString": "contract IexecHubInterface" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IexecHubInterface_$2802", - "typeString": "contract IexecHubInterface" - } - ], - "id": 656, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2038:7:4", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 658, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2038:26:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 659, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 641, - "src": "2066:6:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 655, - "name": "DepositRLCOnIexecHub", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 483, - "src": "2017:20:4", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 660, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2017:56:4", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 661, - "nodeType": "EmitStatement", - "src": "2012:61:4" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 662, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2084:4:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 647, - "id": 663, - "nodeType": "Return", - "src": "2077:11:4" - } - ] - }, - "documentation": null, - "id": 665, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [], - "id": 644, - "modifierName": { - "argumentTypes": null, - "id": 643, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3700, - "src": "1936:9:4", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "1936:9:4" - } - ], - "name": "depositRLCOnIexecHub", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 642, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 641, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 665, - "src": "1913:14:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 640, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1913:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1912:16:4" - }, - "payable": false, - "returnParameters": { - "id": 647, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 646, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 665, - "src": "1955:4:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 645, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1955:4:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1954:6:4" - }, - "scope": 698, - "src": "1883:209:4", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 696, - "nodeType": "Block", - "src": "2177:178:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 677, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 667, - "src": "2216:6:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 675, - "name": "iexecHubInterface", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2441, - "src": "2189:17:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IexecHubInterface_$2802", - "typeString": "contract IexecHubInterface" - } - }, - "id": 676, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "withdraw", - "nodeType": "MemberAccess", - "referencedDeclaration": 2756, - "src": "2189:26:4", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) external returns (bool)" - } - }, - "id": 678, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2189:34:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 674, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "2181:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 679, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2181:43:4", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 680, - "nodeType": "ExpressionStatement", - "src": "2181:43:4" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 683, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 667, - "src": "2260:6:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 682, - "name": "withdrawRLCFromIexecAPI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 639, - "src": "2236:23:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) returns (bool)" - } - }, - "id": 684, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2236:31:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 681, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "2228:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 685, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2228:40:4", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 686, - "nodeType": "ExpressionStatement", - "src": "2228:40:4" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 689, - "name": "iexecHubInterface", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2441, - "src": "2309:17:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IexecHubInterface_$2802", - "typeString": "contract IexecHubInterface" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IexecHubInterface_$2802", - "typeString": "contract IexecHubInterface" - } - ], - "id": 688, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2301:7:4", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 690, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2301:26:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 691, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 667, - "src": "2329:6:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 687, - "name": "WithdrawRLCFromIexecHub", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 489, - "src": "2277:23:4", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 692, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2277:59:4", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 693, - "nodeType": "EmitStatement", - "src": "2272:64:4" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 694, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2347:4:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 673, - "id": 695, - "nodeType": "Return", - "src": "2340:11:4" - } - ] - }, - "documentation": null, - "id": 697, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [], - "id": 670, - "modifierName": { - "argumentTypes": null, - "id": 669, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3700, - "src": "2151:9:4", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "2151:9:4" - } - ], - "name": "withdrawRLCFromIexecHub", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 668, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 667, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 697, - "src": "2128:14:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 666, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2128:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2127:16:4" - }, - "payable": false, - "returnParameters": { - "id": 673, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 672, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 697, - "src": "2170:4:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 671, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2170:4:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2169:6:4" - }, - "scope": 698, - "src": "2095:260:4", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 699, - "src": "163:2197:4" - } - ], - "src": "0:2361:4" - }, - "legacyAST": { - "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/IexecAPI.sol", - "exportedSymbols": { - "IexecAPI": [ - 698 - ] - }, - "id": 699, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 451, - "literals": [ - "solidity", - "^", - "0.4", - ".21" - ], - "nodeType": "PragmaDirective", - "src": "0:24:4" - }, - { - "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/OwnableOZ.sol", - "file": "./OwnableOZ.sol", - "id": 452, - "nodeType": "ImportDirective", - "scope": 699, - "sourceUnit": 3748, - "src": "25:25:4", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/IexecHubAccessor.sol", - "file": "./IexecHubAccessor.sol", - "id": 453, - "nodeType": "ImportDirective", - "scope": 699, - "sourceUnit": 2476, - "src": "51:32:4", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/IexecCallbackInterface.sol", - "file": "./IexecCallbackInterface.sol", - "id": 454, - "nodeType": "ImportDirective", - "scope": 699, - "sourceUnit": 725, - "src": "84:38:4", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "rlc-token/contracts/RLC.sol", - "file": "rlc-token/contracts/RLC.sol", - "id": 455, - "nodeType": "ImportDirective", - "scope": 699, - "sourceUnit": 6786, - "src": "123:37:4", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [ - { - "arguments": [], - "baseName": { - "contractScope": null, - "id": 456, - "name": "OwnableOZ", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 3747, - "src": "184:9:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_OwnableOZ_$3747", - "typeString": "contract OwnableOZ" - } - }, - "id": 457, - "nodeType": "InheritanceSpecifier", - "src": "184:9:4" - }, - { - "arguments": [], - "baseName": { - "contractScope": null, - "id": 458, - "name": "IexecHubAccessor", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2475, - "src": "195:16:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IexecHubAccessor_$2475", - "typeString": "contract IexecHubAccessor" - } - }, - "id": 459, - "nodeType": "InheritanceSpecifier", - "src": "195:16:4" - }, - { - "arguments": [], - "baseName": { - "contractScope": null, - "id": 460, - "name": "IexecCallbackInterface", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 724, - "src": "213:22:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IexecCallbackInterface_$724", - "typeString": "contract IexecCallbackInterface" - } - }, - "id": 461, - "nodeType": "InheritanceSpecifier", - "src": "213:22:4" - } - ], - "contractDependencies": [ - 724, - 2475, - 3747 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 698, - "linearizedBaseContracts": [ - 698, - 724, - 2475, - 3747 - ], - "name": "IexecAPI", - "nodeType": "ContractDefinition", - "nodes": [ - { - "anonymous": false, - "documentation": null, - "id": 465, - "name": "WorkOrderActivated", - "nodeType": "EventDefinition", - "parameters": { - "id": 464, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 463, - "indexed": false, - "name": "woid", - "nodeType": "VariableDeclaration", - "scope": 465, - "src": "269:12:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 462, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "269:7:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "268:14:4" - }, - "src": "239:44:4" - }, - { - "anonymous": false, - "documentation": null, - "id": 471, - "name": "WithdrawRLCFromIexecAPI", - "nodeType": "EventDefinition", - "parameters": { - "id": 470, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 467, - "indexed": false, - "name": "to", - "nodeType": "VariableDeclaration", - "scope": 471, - "src": "315:10:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 466, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "315:7:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 469, - "indexed": false, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 471, - "src": "333:14:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 468, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "333:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "314:34:4" - }, - "src": "285:64:4" - }, - { - "anonymous": false, - "documentation": null, - "id": 477, - "name": "ApproveIexecHub", - "nodeType": "EventDefinition", - "parameters": { - "id": 476, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 473, - "indexed": false, - "name": "iexecHub", - "nodeType": "VariableDeclaration", - "scope": 477, - "src": "381:16:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 472, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "381:7:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 475, - "indexed": false, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 477, - "src": "399:14:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 474, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "399:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "380:34:4" - }, - "src": "351:64:4" - }, - { - "anonymous": false, - "documentation": null, - "id": 483, - "name": "DepositRLCOnIexecHub", - "nodeType": "EventDefinition", - "parameters": { - "id": 482, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 479, - "indexed": false, - "name": "iexecHub", - "nodeType": "VariableDeclaration", - "scope": 483, - "src": "447:16:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 478, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "447:7:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 481, - "indexed": false, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 483, - "src": "465:14:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 480, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "465:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "446:34:4" - }, - "src": "417:64:4" - }, - { - "anonymous": false, - "documentation": null, - "id": 489, - "name": "WithdrawRLCFromIexecHub", - "nodeType": "EventDefinition", - "parameters": { - "id": 488, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 485, - "indexed": false, - "name": "iexecHub", - "nodeType": "VariableDeclaration", - "scope": 489, - "src": "513:16:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 484, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "513:7:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 487, - "indexed": false, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 489, - "src": "531:14:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 486, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "531:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "512:34:4" - }, - "src": "483:64:4" - }, - { - "constant": false, - "id": 491, - "name": "m_callbackProofAddress", - "nodeType": "VariableDeclaration", - "scope": 698, - "src": "550:37:4", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 490, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "550:7:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "body": { - "id": 505, - "nodeType": "Block", - "src": "727:54:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 503, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 501, - "name": "m_callbackProofAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 491, - "src": "731:22:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 502, - "name": "_callbackProofAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 495, - "src": "756:21:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "731:46:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 504, - "nodeType": "ExpressionStatement", - "src": "731:46:4" - } - ] - }, - "documentation": null, - "id": 506, - "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 498, - "name": "_iexecHubAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 493, - "src": "700:16:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "id": 499, - "modifierName": { - "argumentTypes": null, - "id": 497, - "name": "IexecHubAccessor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2475, - "src": "683:16:4", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IexecHubAccessor_$2475_$", - "typeString": "type(contract IexecHubAccessor)" - } - }, - "nodeType": "ModifierInvocation", - "src": "683:34:4" - } - ], - "name": "IexecAPI", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 496, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 493, - "name": "_iexecHubAddress", - "nodeType": "VariableDeclaration", - "scope": 506, - "src": "625:24:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 492, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "625:7:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 495, - "name": "_callbackProofAddress", - "nodeType": "VariableDeclaration", - "scope": 506, - "src": "651:29:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 494, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "651:7:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "624:57:4" - }, - "payable": false, - "returnParameters": { - "id": 500, - "nodeType": "ParameterList", - "parameters": [], - "src": "727:0:4" - }, - "scope": 698, - "src": "607:174:4", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 540, - "nodeType": "Block", - "src": "969:169:4", - "statements": [ - { - "assignments": [ - 524 - ], - "declarations": [ - { - "constant": false, - "id": 524, - "name": "woid", - "nodeType": "VariableDeclaration", - "scope": 541, - "src": "973:12:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 523, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "973:7:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 535, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 527, - "name": "_marketorderIdx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 508, - "src": "1022:15:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 528, - "name": "_workerpool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 510, - "src": "1039:11:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 529, - "name": "_app", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 512, - "src": "1052:4:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 530, - "name": "_dataset", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 514, - "src": "1058:8:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 531, - "name": "_params", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 516, - "src": "1068:7:4", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 532, - "name": "_callback", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 518, - "src": "1077:9:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 533, - "name": "_beneficiary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 520, - "src": "1088:12:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 525, - "name": "iexecHubInterface", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2441, - "src": "988:17:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IexecHubInterface_$2802", - "typeString": "contract IexecHubInterface" - } - }, - "id": 526, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "buyForWorkOrder", - "nodeType": "MemberAccess", - "referencedDeclaration": 2563, - "src": "988:33:4", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_address_$_t_address_$_t_address_$_t_string_memory_ptr_$_t_address_$_t_address_$returns$_t_address_$", - "typeString": "function (uint256,address,address,address,string memory,address,address) external returns (address)" - } - }, - "id": 534, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "988:113:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "973:128:4" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 537, - "name": "woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 524, - "src": "1129:4:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 536, - "name": "WorkOrderActivated", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 465, - "src": "1110:18:4", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 538, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1110:24:4", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 539, - "nodeType": "EmitStatement", - "src": "1105:29:4" - } - ] - }, - "documentation": null, - "id": 541, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "buyForWorkOrder", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 521, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 508, - "name": "_marketorderIdx", - "nodeType": "VariableDeclaration", - "scope": 541, - "src": "812:23:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 507, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "812:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 510, - "name": "_workerpool", - "nodeType": "VariableDeclaration", - "scope": 541, - "src": "839:19:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 509, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "839:7:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 512, - "name": "_app", - "nodeType": "VariableDeclaration", - "scope": 541, - "src": "862:12:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 511, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "862:7:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 514, - "name": "_dataset", - "nodeType": "VariableDeclaration", - "scope": 541, - "src": "878:16:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 513, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "878:7:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 516, - "name": "_params", - "nodeType": "VariableDeclaration", - "scope": 541, - "src": "898:15:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - "typeName": { - "id": 515, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "898:6:4", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 518, - "name": "_callback", - "nodeType": "VariableDeclaration", - "scope": 541, - "src": "917:17:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 517, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "917:7:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 520, - "name": "_beneficiary", - "nodeType": "VariableDeclaration", - "scope": 541, - "src": "938:20:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 519, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "938:7:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "808:151:4" - }, - "payable": false, - "returnParameters": { - "id": 522, - "nodeType": "ParameterList", - "parameters": [], - "src": "969:0:4" - }, - "scope": 698, - "src": "784:354:4", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 570, - "nodeType": "Block", - "src": "1264:125:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 558, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 555, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "1276:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 556, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1276:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 557, - "name": "m_callbackProofAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 491, - "src": "1290:22:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1276:36:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 554, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "1268:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 559, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1268:45:4", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 560, - "nodeType": "ExpressionStatement", - "src": "1268:45:4" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 562, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 543, - "src": "1340:5:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 563, - "name": "_stdout", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 545, - "src": "1347:7:4", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 564, - "name": "_stderr", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 547, - "src": "1356:7:4", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 565, - "name": "_uri", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 549, - "src": "1365:4:4", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 561, - "name": "WorkOrderCallback", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 723, - "src": "1322:17:4", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (address,string memory,string memory,string memory)" - } - }, - "id": 566, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1322:48:4", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 567, - "nodeType": "EmitStatement", - "src": "1317:53:4" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 568, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1381:4:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 553, - "id": 569, - "nodeType": "Return", - "src": "1374:11:4" - } - ] - }, - "documentation": null, - "id": 571, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "workOrderCallback", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 550, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 543, - "name": "_woid", - "nodeType": "VariableDeclaration", - "scope": 571, - "src": "1171:13:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 542, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1171:7:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 545, - "name": "_stdout", - "nodeType": "VariableDeclaration", - "scope": 571, - "src": "1188:15:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - "typeName": { - "id": 544, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1188:6:4", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 547, - "name": "_stderr", - "nodeType": "VariableDeclaration", - "scope": 571, - "src": "1207:15:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - "typeName": { - "id": 546, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1207:6:4", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 549, - "name": "_uri", - "nodeType": "VariableDeclaration", - "scope": 571, - "src": "1226:12:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - "typeName": { - "id": 548, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1226:6:4", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1167:72:4" - }, - "payable": false, - "returnParameters": { - "id": 553, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 552, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 571, - "src": "1257:4:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 551, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1257:4:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1256:6:4" - }, - "scope": 698, - "src": "1141:248:4", - "stateMutability": "nonpayable", - "superFunction": 713, - "visibility": "public" - }, - { - "body": { - "id": 605, - "nodeType": "Block", - "src": "1466:176:4", - "statements": [ - { - "assignments": [ - 581 - ], - "declarations": [ - { - "constant": false, - "id": 581, - "name": "rlc", - "nodeType": "VariableDeclaration", - "scope": 606, - "src": "1470:7:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RLC_$6785", - "typeString": "contract RLC" - }, - "typeName": { - "contractScope": null, - "id": 580, - "name": "RLC", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6785, - "src": "1470:3:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RLC_$6785", - "typeString": "contract RLC" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 585, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 582, - "name": "iexecHubInterface", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2441, - "src": "1480:17:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IexecHubInterface_$2802", - "typeString": "contract IexecHubInterface" - } - }, - "id": 583, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "rlc", - "nodeType": "MemberAccess", - "referencedDeclaration": 2480, - "src": "1480:21:4", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_contract$_RLC_$6785_$", - "typeString": "function () view external returns (contract RLC)" - } - }, - "id": 584, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1480:23:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RLC_$6785", - "typeString": "contract RLC" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1470:33:4" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 590, - "name": "iexecHubInterface", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2441, - "src": "1535:17:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IexecHubInterface_$2802", - "typeString": "contract IexecHubInterface" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IexecHubInterface_$2802", - "typeString": "contract IexecHubInterface" - } - ], - "id": 589, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1527:7:4", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 591, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1527:26:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 592, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 573, - "src": "1555:6:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 587, - "name": "rlc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 581, - "src": "1515:3:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RLC_$6785", - "typeString": "contract RLC" - } - }, - "id": 588, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "approve", - "nodeType": "MemberAccess", - "referencedDeclaration": 6736, - "src": "1515:11:4", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 593, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1515:47:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 586, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "1507:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 594, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1507:56:4", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 595, - "nodeType": "ExpressionStatement", - "src": "1507:56:4" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 598, - "name": "iexecHubInterface", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2441, - "src": "1596:17:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IexecHubInterface_$2802", - "typeString": "contract IexecHubInterface" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IexecHubInterface_$2802", - "typeString": "contract IexecHubInterface" - } - ], - "id": 597, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1588:7:4", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 599, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1588:26:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 600, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 573, - "src": "1616:6:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 596, - "name": "ApproveIexecHub", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 477, - "src": "1572:15:4", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 601, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1572:51:4", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 602, - "nodeType": "EmitStatement", - "src": "1567:56:4" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 603, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1634:4:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 579, - "id": 604, - "nodeType": "Return", - "src": "1627:11:4" - } - ] - }, - "documentation": null, - "id": 606, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [], - "id": 576, - "modifierName": { - "argumentTypes": null, - "id": 575, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3700, - "src": "1440:9:4", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "1440:9:4" - } - ], - "name": "approveIexecHub", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 574, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 573, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 606, - "src": "1417:14:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 572, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1417:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1416:16:4" - }, - "payable": false, - "returnParameters": { - "id": 579, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 578, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 606, - "src": "1459:4:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 577, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1459:4:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1458:6:4" - }, - "scope": 698, - "src": "1392:250:4", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 638, - "nodeType": "Block", - "src": "1727:153:4", - "statements": [ - { - "assignments": [ - 616 - ], - "declarations": [ - { - "constant": false, - "id": 616, - "name": "rlc", - "nodeType": "VariableDeclaration", - "scope": 639, - "src": "1731:7:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RLC_$6785", - "typeString": "contract RLC" - }, - "typeName": { - "contractScope": null, - "id": 615, - "name": "RLC", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6785, - "src": "1731:3:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RLC_$6785", - "typeString": "contract RLC" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 620, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 617, - "name": "iexecHubInterface", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2441, - "src": "1741:17:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IexecHubInterface_$2802", - "typeString": "contract IexecHubInterface" - } - }, - "id": 618, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "rlc", - "nodeType": "MemberAccess", - "referencedDeclaration": 2480, - "src": "1741:21:4", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_contract$_RLC_$6785_$", - "typeString": "function () view external returns (contract RLC)" - } - }, - "id": 619, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1741:23:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RLC_$6785", - "typeString": "contract RLC" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1731:33:4" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 624, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "1789:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 625, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1789:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 626, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 608, - "src": "1801:6:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 622, - "name": "rlc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 616, - "src": "1776:3:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RLC_$6785", - "typeString": "contract RLC" - } - }, - "id": 623, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 6632, - "src": "1776:12:4", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 627, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1776:32:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 621, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "1768:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 628, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1768:41:4", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 629, - "nodeType": "ExpressionStatement", - "src": "1768:41:4" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 631, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "1842:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 632, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1842:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 633, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 608, - "src": "1854:6:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 630, - "name": "WithdrawRLCFromIexecAPI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 471, - "src": "1818:23:4", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 634, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1818:43:4", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 635, - "nodeType": "EmitStatement", - "src": "1813:48:4" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 636, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1872:4:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 614, - "id": 637, - "nodeType": "Return", - "src": "1865:11:4" - } - ] - }, - "documentation": null, - "id": 639, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [], - "id": 611, - "modifierName": { - "argumentTypes": null, - "id": 610, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3700, - "src": "1701:9:4", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "1701:9:4" - } - ], - "name": "withdrawRLCFromIexecAPI", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 609, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 608, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 639, - "src": "1678:14:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 607, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1678:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1677:16:4" - }, - "payable": false, - "returnParameters": { - "id": 614, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 613, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 639, - "src": "1720:4:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 612, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1720:4:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1719:6:4" - }, - "scope": 698, - "src": "1645:235:4", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 664, - "nodeType": "Block", - "src": "1962:130:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 651, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 641, - "src": "2000:6:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 649, - "name": "iexecHubInterface", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2441, - "src": "1974:17:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IexecHubInterface_$2802", - "typeString": "contract IexecHubInterface" - } - }, - "id": 650, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "deposit", - "nodeType": "MemberAccess", - "referencedDeclaration": 2749, - "src": "1974:25:4", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) external returns (bool)" - } - }, - "id": 652, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1974:33:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 648, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "1966:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 653, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1966:42:4", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 654, - "nodeType": "ExpressionStatement", - "src": "1966:42:4" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 657, - "name": "iexecHubInterface", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2441, - "src": "2046:17:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IexecHubInterface_$2802", - "typeString": "contract IexecHubInterface" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IexecHubInterface_$2802", - "typeString": "contract IexecHubInterface" - } - ], - "id": 656, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2038:7:4", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 658, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2038:26:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 659, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 641, - "src": "2066:6:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 655, - "name": "DepositRLCOnIexecHub", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 483, - "src": "2017:20:4", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 660, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2017:56:4", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 661, - "nodeType": "EmitStatement", - "src": "2012:61:4" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 662, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2084:4:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 647, - "id": 663, - "nodeType": "Return", - "src": "2077:11:4" - } - ] - }, - "documentation": null, - "id": 665, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [], - "id": 644, - "modifierName": { - "argumentTypes": null, - "id": 643, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3700, - "src": "1936:9:4", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "1936:9:4" - } - ], - "name": "depositRLCOnIexecHub", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 642, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 641, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 665, - "src": "1913:14:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 640, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1913:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1912:16:4" - }, - "payable": false, - "returnParameters": { - "id": 647, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 646, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 665, - "src": "1955:4:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 645, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1955:4:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1954:6:4" - }, - "scope": 698, - "src": "1883:209:4", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 696, - "nodeType": "Block", - "src": "2177:178:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 677, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 667, - "src": "2216:6:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 675, - "name": "iexecHubInterface", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2441, - "src": "2189:17:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IexecHubInterface_$2802", - "typeString": "contract IexecHubInterface" - } - }, - "id": 676, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "withdraw", - "nodeType": "MemberAccess", - "referencedDeclaration": 2756, - "src": "2189:26:4", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) external returns (bool)" - } - }, - "id": 678, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2189:34:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 674, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "2181:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 679, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2181:43:4", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 680, - "nodeType": "ExpressionStatement", - "src": "2181:43:4" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 683, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 667, - "src": "2260:6:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 682, - "name": "withdrawRLCFromIexecAPI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 639, - "src": "2236:23:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) returns (bool)" - } - }, - "id": 684, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2236:31:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 681, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "2228:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 685, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2228:40:4", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 686, - "nodeType": "ExpressionStatement", - "src": "2228:40:4" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 689, - "name": "iexecHubInterface", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2441, - "src": "2309:17:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IexecHubInterface_$2802", - "typeString": "contract IexecHubInterface" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IexecHubInterface_$2802", - "typeString": "contract IexecHubInterface" - } - ], - "id": 688, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2301:7:4", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 690, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2301:26:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 691, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 667, - "src": "2329:6:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 687, - "name": "WithdrawRLCFromIexecHub", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 489, - "src": "2277:23:4", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 692, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2277:59:4", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 693, - "nodeType": "EmitStatement", - "src": "2272:64:4" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 694, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2347:4:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 673, - "id": 695, - "nodeType": "Return", - "src": "2340:11:4" - } - ] - }, - "documentation": null, - "id": 697, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [], - "id": 670, - "modifierName": { - "argumentTypes": null, - "id": 669, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3700, - "src": "2151:9:4", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "2151:9:4" - } - ], - "name": "withdrawRLCFromIexecHub", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 668, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 667, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 697, - "src": "2128:14:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 666, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2128:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2127:16:4" - }, - "payable": false, - "returnParameters": { - "id": 673, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 672, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 697, - "src": "2170:4:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 671, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2170:4:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2169:6:4" - }, - "scope": 698, - "src": "2095:260:4", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 699, - "src": "163:2197:4" - } - ], - "src": "0:2361:4" - }, - "compiler": { - "name": "solc", - "version": "0.4.21+commit.dfe3193c.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "2.0.0", - "updatedAt": "2018-05-20T20:12:33.543Z" -} diff --git a/build/contracts/IexecCallbackInterface.json b/build/contracts/IexecCallbackInterface.json deleted file mode 100644 index e957a25e..00000000 --- a/build/contracts/IexecCallbackInterface.json +++ /dev/null @@ -1,726 +0,0 @@ -{ - "contractName": "IexecCallbackInterface", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "woid", - "type": "address" - }, - { - "indexed": false, - "name": "stdout", - "type": "string" - }, - { - "indexed": false, - "name": "stderr", - "type": "string" - }, - { - "indexed": false, - "name": "uri", - "type": "string" - } - ], - "name": "WorkOrderCallback", - "type": "event" - }, - { - "constant": false, - "inputs": [ - { - "name": "_woid", - "type": "address" - }, - { - "name": "_stdout", - "type": "string" - }, - { - "name": "_stderr", - "type": "string" - }, - { - "name": "_uri", - "type": "string" - } - ], - "name": "workOrderCallback", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x", - "deployedBytecode": "0x", - "sourceMap": "", - "deployedSourceMap": "", - "source": "pragma solidity ^0.4.21;\n\ncontract IexecCallbackInterface\n{\n\t\n\tfunction workOrderCallback(\n\t\taddress _woid,\n\t\tstring _stdout,\n\t\tstring _stderr,\n\t\tstring _uri) public returns (bool);\n\n\tevent WorkOrderCallback(address woid, string stdout, string stderr, string uri);\n}\n", - "sourcePath": "/Users/fbranci/iexecdev/PoCo/contracts/IexecCallbackInterface.sol", - "ast": { - "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/IexecCallbackInterface.sol", - "exportedSymbols": { - "IexecCallbackInterface": [ - 724 - ] - }, - "id": 725, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 700, - "literals": [ - "solidity", - "^", - "0.4", - ".21" - ], - "nodeType": "PragmaDirective", - "src": "0:24:5" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": false, - "id": 724, - "linearizedBaseContracts": [ - 724 - ], - "name": "IexecCallbackInterface", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "id": 713, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "workOrderCallback", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 709, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 702, - "name": "_woid", - "nodeType": "VariableDeclaration", - "scope": 713, - "src": "93:13:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 701, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "93:7:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 704, - "name": "_stdout", - "nodeType": "VariableDeclaration", - "scope": 713, - "src": "110:15:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - "typeName": { - "id": 703, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "110:6:5", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 706, - "name": "_stderr", - "nodeType": "VariableDeclaration", - "scope": 713, - "src": "129:15:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - "typeName": { - "id": 705, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "129:6:5", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 708, - "name": "_uri", - "nodeType": "VariableDeclaration", - "scope": 713, - "src": "148:12:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - "typeName": { - "id": 707, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "148:6:5", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "89:72:5" - }, - "payable": false, - "returnParameters": { - "id": 712, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 711, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 713, - "src": "178:4:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 710, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "178:4:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "177:6:5" - }, - "scope": 724, - "src": "63:121:5", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "anonymous": false, - "documentation": null, - "id": 723, - "name": "WorkOrderCallback", - "nodeType": "EventDefinition", - "parameters": { - "id": 722, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 715, - "indexed": false, - "name": "woid", - "nodeType": "VariableDeclaration", - "scope": 723, - "src": "211:12:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 714, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "211:7:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 717, - "indexed": false, - "name": "stdout", - "nodeType": "VariableDeclaration", - "scope": 723, - "src": "225:13:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - "typeName": { - "id": 716, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "225:6:5", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 719, - "indexed": false, - "name": "stderr", - "nodeType": "VariableDeclaration", - "scope": 723, - "src": "240:13:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - "typeName": { - "id": 718, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "240:6:5", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 721, - "indexed": false, - "name": "uri", - "nodeType": "VariableDeclaration", - "scope": 723, - "src": "255:10:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - "typeName": { - "id": 720, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "255:6:5", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "210:56:5" - }, - "src": "187:80:5" - } - ], - "scope": 725, - "src": "26:243:5" - } - ], - "src": "0:270:5" - }, - "legacyAST": { - "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/IexecCallbackInterface.sol", - "exportedSymbols": { - "IexecCallbackInterface": [ - 724 - ] - }, - "id": 725, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 700, - "literals": [ - "solidity", - "^", - "0.4", - ".21" - ], - "nodeType": "PragmaDirective", - "src": "0:24:5" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": false, - "id": 724, - "linearizedBaseContracts": [ - 724 - ], - "name": "IexecCallbackInterface", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "id": 713, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "workOrderCallback", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 709, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 702, - "name": "_woid", - "nodeType": "VariableDeclaration", - "scope": 713, - "src": "93:13:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 701, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "93:7:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 704, - "name": "_stdout", - "nodeType": "VariableDeclaration", - "scope": 713, - "src": "110:15:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - "typeName": { - "id": 703, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "110:6:5", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 706, - "name": "_stderr", - "nodeType": "VariableDeclaration", - "scope": 713, - "src": "129:15:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - "typeName": { - "id": 705, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "129:6:5", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 708, - "name": "_uri", - "nodeType": "VariableDeclaration", - "scope": 713, - "src": "148:12:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - "typeName": { - "id": 707, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "148:6:5", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "89:72:5" - }, - "payable": false, - "returnParameters": { - "id": 712, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 711, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 713, - "src": "178:4:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 710, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "178:4:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "177:6:5" - }, - "scope": 724, - "src": "63:121:5", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "anonymous": false, - "documentation": null, - "id": 723, - "name": "WorkOrderCallback", - "nodeType": "EventDefinition", - "parameters": { - "id": 722, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 715, - "indexed": false, - "name": "woid", - "nodeType": "VariableDeclaration", - "scope": 723, - "src": "211:12:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 714, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "211:7:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 717, - "indexed": false, - "name": "stdout", - "nodeType": "VariableDeclaration", - "scope": 723, - "src": "225:13:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - "typeName": { - "id": 716, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "225:6:5", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 719, - "indexed": false, - "name": "stderr", - "nodeType": "VariableDeclaration", - "scope": 723, - "src": "240:13:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - "typeName": { - "id": 718, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "240:6:5", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 721, - "indexed": false, - "name": "uri", - "nodeType": "VariableDeclaration", - "scope": 723, - "src": "255:10:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - "typeName": { - "id": 720, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "255:6:5", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "210:56:5" - }, - "src": "187:80:5" - } - ], - "scope": 725, - "src": "26:243:5" - } - ], - "src": "0:270:5" - }, - "compiler": { - "name": "solc", - "version": "0.4.21+commit.dfe3193c.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "2.0.0", - "updatedAt": "2018-05-20T20:12:33.544Z" -} diff --git a/build/contracts/IexecHub.json b/build/contracts/IexecHub.json deleted file mode 100644 index 02b3b958..00000000 --- a/build/contracts/IexecHub.json +++ /dev/null @@ -1,48207 +0,0 @@ -{ - "contractName": "IexecHub", - "abi": [ - { - "constant": true, - "inputs": [], - "name": "m_contributionHistory", - "outputs": [ - { - "name": "success", - "type": "uint256" - }, - { - "name": "failed", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "appHub", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "STAKE_BONUS_MIN_THRESHOLD", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "", - "type": "address" - } - ], - "name": "m_scores", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "workerPoolHub", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "SCORE_UNITARY_SLASH", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "STAKE_BONUS_RATIO", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "m_categoriesCount", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "marketplace", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "rlc", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "m_categoriesCreator", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "datasetHub", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "", - "type": "address" - } - ], - "name": "m_accounts", - "outputs": [ - { - "name": "stake", - "type": "uint256" - }, - { - "name": "locked", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "", - "type": "address" - } - ], - "name": "m_woidRegistered", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "", - "type": "uint256" - } - ], - "name": "m_categories", - "outputs": [ - { - "name": "catid", - "type": "uint256" - }, - { - "name": "name", - "type": "string" - }, - { - "name": "description", - "type": "string" - }, - { - "name": "workClockTimeRef", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "woid", - "type": "address" - }, - { - "indexed": true, - "name": "workerPool", - "type": "address" - } - ], - "name": "WorkOrderActivated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "woid", - "type": "address" - }, - { - "indexed": false, - "name": "workerPool", - "type": "address" - } - ], - "name": "WorkOrderClaimed", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "woid", - "type": "address" - }, - { - "indexed": false, - "name": "workerPool", - "type": "address" - } - ], - "name": "WorkOrderCompleted", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "appOwner", - "type": "address" - }, - { - "indexed": true, - "name": "app", - "type": "address" - }, - { - "indexed": false, - "name": "appName", - "type": "string" - }, - { - "indexed": false, - "name": "appPrice", - "type": "uint256" - }, - { - "indexed": false, - "name": "appParams", - "type": "string" - } - ], - "name": "CreateApp", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "datasetOwner", - "type": "address" - }, - { - "indexed": true, - "name": "dataset", - "type": "address" - }, - { - "indexed": false, - "name": "datasetName", - "type": "string" - }, - { - "indexed": false, - "name": "datasetPrice", - "type": "uint256" - }, - { - "indexed": false, - "name": "datasetParams", - "type": "string" - } - ], - "name": "CreateDataset", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "workerPoolOwner", - "type": "address" - }, - { - "indexed": true, - "name": "workerPool", - "type": "address" - }, - { - "indexed": false, - "name": "workerPoolDescription", - "type": "string" - } - ], - "name": "CreateWorkerPool", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "catid", - "type": "uint256" - }, - { - "indexed": false, - "name": "name", - "type": "string" - }, - { - "indexed": false, - "name": "description", - "type": "string" - }, - { - "indexed": false, - "name": "workClockTimeRef", - "type": "uint256" - } - ], - "name": "CreateCategory", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "workerPool", - "type": "address" - }, - { - "indexed": false, - "name": "worker", - "type": "address" - } - ], - "name": "WorkerPoolSubscription", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "workerPool", - "type": "address" - }, - { - "indexed": false, - "name": "worker", - "type": "address" - } - ], - "name": "WorkerPoolUnsubscription", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "workerPool", - "type": "address" - }, - { - "indexed": false, - "name": "worker", - "type": "address" - } - ], - "name": "WorkerPoolEviction", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "woid", - "type": "address" - }, - { - "indexed": true, - "name": "worker", - "type": "address" - } - ], - "name": "AccurateContribution", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "woid", - "type": "address" - }, - { - "indexed": true, - "name": "worker", - "type": "address" - } - ], - "name": "FaultyContribution", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "owner", - "type": "address" - }, - { - "indexed": false, - "name": "amount", - "type": "uint256" - } - ], - "name": "Deposit", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "owner", - "type": "address" - }, - { - "indexed": false, - "name": "amount", - "type": "uint256" - } - ], - "name": "Withdraw", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "user", - "type": "address" - }, - { - "indexed": false, - "name": "amount", - "type": "uint256" - } - ], - "name": "Reward", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "user", - "type": "address" - }, - { - "indexed": false, - "name": "amount", - "type": "uint256" - } - ], - "name": "Seize", - "type": "event" - }, - { - "constant": false, - "inputs": [ - { - "name": "_tokenAddress", - "type": "address" - }, - { - "name": "_marketplaceAddress", - "type": "address" - }, - { - "name": "_workerPoolHubAddress", - "type": "address" - }, - { - "name": "_appHubAddress", - "type": "address" - }, - { - "name": "_datasetHubAddress", - "type": "address" - } - ], - "name": "attachContracts", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_categoriesCreator", - "type": "address" - } - ], - "name": "setCategoriesCreator", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_name", - "type": "string" - }, - { - "name": "_description", - "type": "string" - }, - { - "name": "_workClockTimeRef", - "type": "uint256" - } - ], - "name": "createCategory", - "outputs": [ - { - "name": "catid", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_description", - "type": "string" - }, - { - "name": "_subscriptionLockStakePolicy", - "type": "uint256" - }, - { - "name": "_subscriptionMinimumStakePolicy", - "type": "uint256" - }, - { - "name": "_subscriptionMinimumScorePolicy", - "type": "uint256" - } - ], - "name": "createWorkerPool", - "outputs": [ - { - "name": "createdWorkerPool", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_appName", - "type": "string" - }, - { - "name": "_appPrice", - "type": "uint256" - }, - { - "name": "_appParams", - "type": "string" - } - ], - "name": "createApp", - "outputs": [ - { - "name": "createdApp", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_datasetName", - "type": "string" - }, - { - "name": "_datasetPrice", - "type": "uint256" - }, - { - "name": "_datasetParams", - "type": "string" - } - ], - "name": "createDataset", - "outputs": [ - { - "name": "createdDataset", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_marketorderIdx", - "type": "uint256" - }, - { - "name": "_workerpool", - "type": "address" - }, - { - "name": "_app", - "type": "address" - }, - { - "name": "_dataset", - "type": "address" - }, - { - "name": "_params", - "type": "string" - }, - { - "name": "_callback", - "type": "address" - }, - { - "name": "_beneficiary", - "type": "address" - } - ], - "name": "buyForWorkOrder", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_woid", - "type": "address" - } - ], - "name": "isWoidRegistred", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_woid", - "type": "address" - } - ], - "name": "claimFailedConsensus", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_woid", - "type": "address" - }, - { - "name": "_stdout", - "type": "string" - }, - { - "name": "_stderr", - "type": "string" - }, - { - "name": "_uri", - "type": "string" - } - ], - "name": "finalizeWorkOrder", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_catId", - "type": "uint256" - } - ], - "name": "getCategoryWorkClockTimeRef", - "outputs": [ - { - "name": "workClockTimeRef", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_catId", - "type": "uint256" - } - ], - "name": "existingCategory", - "outputs": [ - { - "name": "categoryExist", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_catId", - "type": "uint256" - } - ], - "name": "getCategory", - "outputs": [ - { - "name": "catid", - "type": "uint256" - }, - { - "name": "name", - "type": "string" - }, - { - "name": "description", - "type": "string" - }, - { - "name": "workClockTimeRef", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_worker", - "type": "address" - } - ], - "name": "getWorkerStatus", - "outputs": [ - { - "name": "workerPool", - "type": "address" - }, - { - "name": "workerScore", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_worker", - "type": "address" - } - ], - "name": "getWorkerScore", - "outputs": [ - { - "name": "workerScore", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_worker", - "type": "address" - } - ], - "name": "registerToPool", - "outputs": [ - { - "name": "subscribed", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_worker", - "type": "address" - } - ], - "name": "unregisterFromPool", - "outputs": [ - { - "name": "unsubscribed", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_worker", - "type": "address" - } - ], - "name": "evictWorker", - "outputs": [ - { - "name": "unsubscribed", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_user", - "type": "address" - }, - { - "name": "_amount", - "type": "uint256" - } - ], - "name": "lockForOrder", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_user", - "type": "address" - }, - { - "name": "_amount", - "type": "uint256" - } - ], - "name": "unlockForOrder", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_woid", - "type": "address" - }, - { - "name": "_user", - "type": "address" - }, - { - "name": "_amount", - "type": "uint256" - } - ], - "name": "lockForWork", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_woid", - "type": "address" - }, - { - "name": "_user", - "type": "address" - }, - { - "name": "_amount", - "type": "uint256" - } - ], - "name": "unlockForWork", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_woid", - "type": "address" - }, - { - "name": "_worker", - "type": "address" - }, - { - "name": "_amount", - "type": "uint256" - }, - { - "name": "_reputation", - "type": "bool" - } - ], - "name": "rewardForWork", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_woid", - "type": "address" - }, - { - "name": "_worker", - "type": "address" - }, - { - "name": "_amount", - "type": "uint256" - }, - { - "name": "_reputation", - "type": "bool" - } - ], - "name": "seizeForWork", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_amount", - "type": "uint256" - } - ], - "name": "deposit", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_amount", - "type": "uint256" - } - ], - "name": "withdraw", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_owner", - "type": "address" - } - ], - "name": "checkBalance", - "outputs": [ - { - "name": "stake", - "type": "uint256" - }, - { - "name": "locked", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x6060604052341561000f57600080fd5b60078054600160a060020a03191633600160a060020a0316179055614408806100396000396000f300606060405260043610620002155763ffffffff60e060020a6000350416630800b89e81146200021a5780630c91f2d0146200023e57806310793b5014620002825780631708d72514620002b05780631f87172614620002d2578063234a0ee714620002fd578063298503d9146200032f5780632e1a7d4d14620003c757806332baa8d914620003e057806332ca558714620003f957806339b73122146200041b5780634f73b8e6146200044c578063536e280014620004625780635f51522614620004ac57806366de5a4f14620004ce57806369e99b5c14620004f95780636b4f6865146200051b5780636e885bd71462000546578063747bcd72146200055c578063817e83321462000572578063835436b414620005885780638981d07714620005aa5780638986916314620005d55780638c0f8e1114620005f75780639fdf96251462000619578063a0efe2551462000649578063abc8c7af146200065f578063ac26109e1462000675578063b017c036146200069a578063b218cf1514620006b0578063b6b55f2514620006d2578063b6b57ebd14620006eb578063b6b8c3cd14620007d1578063b7b6e97814620007e7578063bc04d77b146200080c578063be02ee6e1462000822578063ddaeb6001462000844578063e760a11a1462000866578063eeeb2ba014620008a0578063f3052d2614620009ae578063f69f190c14620009c7578063fc06a8771462000a0b575b600080fd5b34156200022657600080fd5b6200023c600160a060020a036004351662000a3c565b005b34156200024a57600080fd5b6200026e600160a060020a0360043581169060243516604435606435151562000a87565b604051901515815260200160405180910390f35b34156200028e57600080fd5b6200029862000bf4565b60405191825260208201526040908101905180910390f35b3415620002bc57600080fd5b6200026e600160a060020a036004351662000bfd565b3415620002de57600080fd5b620002eb60043562000c66565b60405190815260200160405180910390f35b34156200030957600080fd5b6200031362000c95565b604051600160a060020a03909116815260200160405180910390f35b34156200033b57600080fd5b620002eb60046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528181529291906020840183838082843750949650509335935062000ca492505050565b3415620003d357600080fd5b6200026e60043562000e52565b3415620003ec57600080fd5b6200026e60043562000f5a565b34156200040557600080fd5b6200026e600160a060020a036004351662000f6d565b34156200042757600080fd5b6200031360246004803582810192908201359181359160443590810191013562000f8b565b34156200045857600080fd5b620002eb620010c9565b34156200046e57600080fd5b620003136004803590600160a060020a03602480358216926044358316926064358116926084359081019201359060a43581169060c43516620010cf565b3415620004b857600080fd5b62000298600160a060020a0360043516620012f9565b3415620004da57600080fd5b620003136024600480358281019291013590356044356064356200131c565b34156200050557600080fd5b620002eb600160a060020a036004351662001449565b34156200052757600080fd5b6200026e600160a060020a03600435811690602435166044356200145b565b34156200055257600080fd5b620003136200151e565b34156200056857600080fd5b620002eb6200152d565b34156200057e57600080fd5b620002eb62001532565b34156200059457600080fd5b6200026e600160a060020a036004351662001537565b3415620005b657600080fd5b6200026e600160a060020a0360043581169060243516604435620015a0565b3415620005e157600080fd5b6200026e600160a060020a03600435166200164c565b34156200060357600080fd5b620002eb600160a060020a036004351662001bbd565b34156200062557600080fd5b6200026e600160a060020a0360043581169060243516604435606435151562001bd8565b34156200065557600080fd5b620002eb62001d6f565b34156200066b57600080fd5b6200031362001d75565b34156200068157600080fd5b6200026e600160a060020a036004351660243562001d84565b3415620006a657600080fd5b6200031362001dc4565b3415620006bc57600080fd5b6200026e600160a060020a036004351662001dd3565b3415620006de57600080fd5b6200026e6004356200207d565b3415620006f757600080fd5b6200026e60048035600160a060020a03169060446024803590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405281815292919060208401838380828437509496506200219b95505050505050565b3415620007dd57600080fd5b62000313620029e9565b3415620007f357600080fd5b6200026e600160a060020a0360043516602435620029f8565b34156200081857600080fd5b6200031362002a23565b34156200082e57600080fd5b62000298600160a060020a036004351662002a32565b34156200085057600080fd5b6200026e600160a060020a036004351662002a4b565b34156200087257600080fd5b6200023c600160a060020a036004358116906024358116906044358116906064358116906084351662002a60565b3415620008ac57600080fd5b620008b960043562002aff565b604051808581526020018060200180602001848152602001838103835286818151815260200191508051906020019080838360005b8381101562000908578082015183820152602001620008ee565b50505050905090810190601f168015620009365780820380516001836020036101000a031916815260200191505b50838103825285818151815260200191508051906020019080838360005b838110156200096e57808201518382015260200162000954565b50505050905090810190601f1680156200099c5780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390f35b3415620009ba57600080fd5b620008b960043562002c67565b3415620009d357600080fd5b620009e9600160a060020a036004351662002e0d565b604051600160a060020a03909216825260208201526040908101905180910390f35b341562000a1757600080fd5b6200031360246004803582810192908201359181359160443590810191013562002e9c565b60075433600160a060020a0390811691161462000a5857600080fd5b6007805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600160a060020a038416600090815260096020526040812054859060ff16151562000ab157600080fd5b33600160a060020a031686600160a060020a0316630690e5b86040518163ffffffff1660e060020a028152600401602060405180830381600087803b151562000af957600080fd5b5af1151562000b0757600080fd5b50505060405180519050600160a060020a031614151562000b2757600080fd5b62000b33858562002fda565b151562000b3f57600080fd5b821562000be857600b5462000b5c90600163ffffffff6200307116565b600b55600160a060020a0385166000908152600a602052604090205462000b8b90600163ffffffff6200307116565b600160a060020a0386166000818152600a60205260409081902092909255907f98b231d22df4a95e9d99b5d3f4d25fab5a821c22d7f517a522731c2892ed453590889051600160a060020a03909116815260200160405180910390a25b50600195945050505050565b600b54600c5482565b600062000c0b33836200308c565b151562000c1757600080fd5b33600160a060020a03167f9644170e77fec17243f5fdc3519cba6d2162d1dda59af75508fd9a2005aeb78483604051600160a060020a03909116815260200160405180910390a2506001919050565b600062000c738262000f5a565b151562000c7f57600080fd5b5060009081526005602052604090206003015490565b600154600160a060020a031681565b600754600090819033600160a060020a0390811691161462000cc557600080fd5b60065462000cdb90600163ffffffff6200307116565b6006819055600081815260056020526040902090815590506001810185805162000d0a929160200190620036ba565b506002810184805162000d22929160200190620036ba565b50600381018390556006547f62bf08360c9d561749c54eaf4f8bf8cb6c8b6f4f40607bcec39a8172e714d25c90868686604051808581526020018060200180602001848152602001838103835286818151815260200191508051906020019080838360005b8381101562000da157808201518382015260200162000d87565b50505050905090810190601f16801562000dcf5780820380516001836020036101000a031916815260200191505b50838103825285818151815260200191508051906020019080838360005b8381101562000e0757808201518382015260200162000ded565b50505050905090810190601f16801562000e355780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390a150506006549392505050565b600160a060020a03331660009081526008602052604081205462000e7d908363ffffffff620031fa16565b33600160a060020a038181166000908152600860205260408082209490945554169163a9059cbb919085905160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151562000eea57600080fd5b5af1151562000ef857600080fd5b50505060405180519050151562000f0e57600080fd5b7f884edad9ce6fa2440d8a54cc123490eb96d2768479d49ff9c7366125a94243643383604051600160a060020a03909216825260208201526040908101905180910390a1506001919050565b6000908152600560205260408120541190565b600160a060020a031660009081526009602052604090205460ff1690565b6002546000908190600160a060020a03166339b7312288888888886040518663ffffffff1660e060020a0281526004018080602001858152602001806020018381038352888882818152602001925080828437909101848103835285815260200190508585808284378201915050975050505050505050602060405180830381600087803b15156200101c57600080fd5b5af115156200102a57600080fd5b50505060405180519050905080600160a060020a031632600160a060020a03167f49413c774d3fe9c92f6ada69299963d9b4b1c13a1f2a95a019188e2c161ed1438989898989604051602081018490526060808252810185905280604081016080820188888082843790910184810383528581526020019050858580828437820191505097505050505050505060405180910390a39695505050505050565b6103e881565b600454600090339082908190600160a060020a03166302a63c288d858e60405160e060020a63ffffffff86160281526004810193909352600160a060020a039182166024840152166044820152606401602060405180830381600087803b15156200113957600080fd5b5af115156200114757600080fd5b5050506040518051905015156200115d57600080fd5b6200116b838c8c8c6200320d565b91508b838b8b8e868d8d8d8d620011816200373f565b8a8152600160a060020a03808b16602083015289811660408301528881166060830152878116608083015260a0820187905283811660e0830152821661010082015261012060c08201818152908201859052610140820186868082843782019150509b505050505050505050505050604051809103906000f08015156200120757600080fd5b600160a060020a0380821660009081526009602052604090819020805460ff191660011790559192508c1690637919233f9083908f905160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b15156200127f57600080fd5b5af115156200128d57600080fd5b505050604051805190501515620012a357600080fd5b8a600160a060020a03167f359f2105b31d71ee8e2315c3dc3427b3f7297dcc85dd3883d4554e67f1f22d0082604051600160a060020a03909116815260200160405180910390a29b9a5050505050505050505050565b600160a060020a0316600090815260086020526040902080546001909101549091565b6003546004546000918291600160a060020a039182169163215bd303918a918a918a918a918a91166040518763ffffffff1660e060020a028152600401808060200186815260200185815260200184815260200183600160a060020a0316600160a060020a0316815260200182810382528888828181526020019250808284378201915050975050505050505050602060405180830381600087803b1515620013c457600080fd5b5af11515620013d257600080fd5b50505060405180519050905080600160a060020a031632600160a060020a03167f3c29f4ff1e741e465a1ad9cc4c0b8e51c046c021ca9e77172d812ae667f566f889896040516020808252810182905280604081018484808284378201915050935050505060405180910390a39695505050505050565b600a6020526000908152604090205481565b600160a060020a038316600090815260096020526040812054849060ff1615156200148557600080fd5b33600160a060020a031685600160a060020a0316630690e5b86040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515620014cd57600080fd5b5af11515620014db57600080fd5b50505060405180519050600160a060020a0316141515620014fb57600080fd5b6200150784846200346c565b15156200151357600080fd5b506001949350505050565b600354600160a060020a031681565b603281565b600a81565b60006200154533836200308c565b15156200155157600080fd5b33600160a060020a03167f5580db655b3146ef4d1fdba3305cf74dbc3f29126c7a3832533f84e00d149ee383604051600160a060020a03909116815260200160405180910390a2506001919050565b600160a060020a038316600090815260096020526040812054849060ff161515620015ca57600080fd5b33600160a060020a031685600160a060020a0316630690e5b86040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156200161257600080fd5b5af115156200162057600080fd5b50505060405180519050600160a060020a03161415156200164057600080fd5b620015078484620034ef565b600160a060020a038116600090815260096020526040812054819081908190819081908190889060ff1615156200168257600080fd5b88965033600160a060020a031687600160a060020a0316635f44910c6040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515620016cd57600080fd5b5af11515620016db57600080fd5b50505060405180519050600160a060020a0316141515620016fb57600080fd5b86600160a060020a0316630690e5b86040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156200173957600080fd5b5af115156200174757600080fd5b5050506040518051965050600160a060020a03871663e329c4786040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156200179057600080fd5b5af115156200179e57600080fd5b5050506040518051955060019050856004811115620017b957fe5b1480620017d257506002856004811115620017d057fe5b145b1515620017de57600080fd5b85600160a060020a031663898691638a60405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b15156200182d57600080fd5b5af115156200183b57600080fd5b5050506040518051905015156200185157600080fd5b86600160a060020a0316634e71d92d6040518163ffffffff1660e060020a028152600401600060405180830381600087803b15156200188f57600080fd5b5af115156200189d57600080fd5b5050600454600160a060020a03908116915063eb3721be90891663ecc40f646040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515620018eb57600080fd5b5af11515620018f957600080fd5b5050506040518051905060405160e060020a63ffffffff8416028152600481019190915260240161010060405180830381600087803b15156200193b57600080fd5b5af115156200194957600080fd5b5050506040518051906020018051906020018051906020018051906020018051906020018051906020018051906020018051600454959c509a50620019f6975050600160a060020a039093169450636b14ea369350604092505050518163ffffffff1660e060020a028152600401602060405180830381600087803b1515620019d157600080fd5b5af11515620019df57600080fd5b505050604051805186915063ffffffff6200357416565b915062001abf87600160a060020a0316635f44910c6040518163ffffffff1660e060020a028152600401602060405180830381600087803b151562001a3a57600080fd5b5af1151562001a4857600080fd5b5050506040518051905062001ab989600160a060020a0316638628aaff6040518163ffffffff1660e060020a028152600401602060405180830381600087803b151562001a9457600080fd5b5af1151562001aa257600080fd5b505050604051805188915063ffffffff6200307116565b6200346c565b151562001acb57600080fd5b62001ad783836200358b565b151562001ae357600080fd5b62001aef308362002fda565b151562001afb57600080fd5b62001b073083620034ef565b151562001b1357600080fd5b7fb3cae8ec1c2754530963fb2e254826aae88dda74178f1a0c5656776941e604b88988600160a060020a0316630690e5b86040518163ffffffff1660e060020a028152600401602060405180830381600087803b151562001b7357600080fd5b5af1151562001b8157600080fd5b50505060405180519050604051600160a060020a039283168152911660208201526040908101905180910390a150600198975050505050505050565b600160a060020a03166000908152600a602052604090205490565b600160a060020a038416600090815260096020526040812054859060ff16151562001c0257600080fd5b33600160a060020a031686600160a060020a0316630690e5b86040518163ffffffff1660e060020a028152600401602060405180830381600087803b151562001c4a57600080fd5b5af1151562001c5857600080fd5b50505060405180519050600160a060020a031614151562001c7857600080fd5b62001c8485856200358b565b151562001c9057600080fd5b821562000be857600c5462001cad90600163ffffffff6200307116565b600c55600160a060020a0385166000908152600a602052604090205462001d079062001ce190603263ffffffff6200362816565b600160a060020a0387166000908152600a60205260409020549063ffffffff620031fa16565b600160a060020a0386166000818152600a60205260409081902092909255907fd21e70eb7104cb6f403402b79fe1c088dc56b69ecb7474ae68a3e861a5a6d49990889051600160a060020a03909116815260200160405180910390a250600195945050505050565b60065481565b600454600160a060020a031681565b60045460009033600160a060020a0390811691161462001da357600080fd5b62001daf8383620034ef565b151562001dbb57600080fd5b50600192915050565b600054600160a060020a031681565b6003546000903390600160a060020a03166368c197dd8260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151562001e2957600080fd5b5af1151562001e3757600080fd5b50505060405180519050151562001e4d57600080fd5b62001eae8382600160a060020a031663e2d36ef56040518163ffffffff1660e060020a028152600401602060405180830381600087803b151562001e9057600080fd5b5af1151562001e9e57600080fd5b50505060405180519050620034ef565b151562001eba57600080fd5b80600160a060020a0316636ab6936a6040518163ffffffff1660e060020a028152600401602060405180830381600087803b151562001ef857600080fd5b5af1151562001f0657600080fd5b5050506040518051600160a060020a0385166000908152600860205260409020541015905062001f3557600080fd5b80600160a060020a031663cc6f06a36040518163ffffffff1660e060020a028152600401602060405180830381600087803b151562001f7357600080fd5b5af1151562001f8157600080fd5b5050506040518051600160a060020a0385166000908152600a60205260409020541015905062001fb057600080fd5b600354600160a060020a0316631884c517338560405160e060020a63ffffffff8516028152600160a060020a03928316600482015291166024820152604401602060405180830381600087803b15156200200957600080fd5b5af115156200201757600080fd5b5050506040518051905015156200202d57600080fd5b33600160a060020a03167fd3548f8b6a2a11c4a35ef5a16dbf7142c9db5163c7d46e7f66482664277cff0784604051600160a060020a03909116815260200160405180910390a250600192915050565b60008054600160a060020a03166323b872dd33308560405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b1515620020e257600080fd5b5af11515620020f057600080fd5b5050506040518051905015156200210657600080fd5b600160a060020a03331660009081526008602052604090205462002131908363ffffffff6200307116565b33600160a060020a03811660009081526008602052604090819020929092557fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c91849051600160a060020a03909216825260208201526040908101905180910390a1506001919050565b600160a060020a038416600090815260096020526040812054819081908190819081908190819081908d9060ff161515620021d557600080fd5b8d985033600160a060020a031689600160a060020a0316630690e5b86040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156200222057600080fd5b5af115156200222e57600080fd5b50505060405180519050600160a060020a03161415156200224e57600080fd5b600289600160a060020a031663e329c4786040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156200228e57600080fd5b5af115156200229c57600080fd5b505050604051805190506004811115620022b257fe5b14620022bd57600080fd5b88600160a060020a0316636946f6926040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515620022fb57600080fd5b5af115156200230957600080fd5b5050506040518051985050600160a060020a0388166326137e6b6040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156200235257600080fd5b5af115156200236057600080fd5b50505060405180519750506000871115620023e257620023d688600160a060020a031663deff41c16040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515620023b757600080fd5b5af11515620023c557600080fd5b505050604051805190508862002fda565b1515620023e257600080fd5b88600160a060020a03166371a599ca6040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156200242057600080fd5b5af115156200242e57600080fd5b5050506040518051965050600160a060020a03861615620025175785600160a060020a03166362d598eb6040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156200248757600080fd5b5af115156200249557600080fd5b5050506040518051955050600085111562002517576200250b86600160a060020a031663deff41c16040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515620024ec57600080fd5b5af11515620024fa57600080fd5b505050604051805190508662002fda565b15156200251757600080fd5b600454600160a060020a039081169063eb3721be908b1663ecc40f646040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156200256257600080fd5b5af115156200257057600080fd5b5050506040518051905060405160e060020a63ffffffff8416028152600481019190915260240161010060405180830381600087803b1515620025b257600080fd5b5af11515620025c057600080fd5b5050506040518051906020018051906020018051906020018051906020018051906020018051906020018051906020018051600454959c509a5062002648975050600160a060020a039093169450636b14ea369350604092505050518163ffffffff1660e060020a028152600401602060405180830381600087803b1515620019d157600080fd5b9150620026ec89600160a060020a0316635f44910c6040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156200268c57600080fd5b5af115156200269a57600080fd5b50505060405180519050620026e68b600160a060020a0316638628aaff6040518163ffffffff1660e060020a028152600401602060405180830381600087803b151562001a9457600080fd5b6200358b565b1515620026f857600080fd5b6200270483836200346c565b15156200271057600080fd5b88600160a060020a031663d5fdfdbc8e8e8e6040518463ffffffff1660e060020a02815260040180806020018060200180602001848103845287818151815260200191508051906020019080838360005b838110156200277b57808201518382015260200162002761565b50505050905090810190601f168015620027a95780820380516001836020036101000a031916815260200191505b50848103835286818151815260200191508051906020019080838360005b83811015620027e1578082015183820152602001620027c7565b50505050905090810190601f1680156200280f5780820380516001836020036101000a031916815260200191505b50848103825285818151815260200191508051906020019080838360005b83811015620028475780820151838201526020016200282d565b50505050905090810190601f168015620028755780820380516001836020036101000a031916815260200191505b509650505050505050600060405180830381600087803b15156200289857600080fd5b5af11515620028a657600080fd5b505050600160a060020a03301660009081526008602052604081206001015494508411156200293a5762002908620028fa6103e8620028ed87600a63ffffffff6200357416565b9063ffffffff6200364016565b859063ffffffff6200362816565b93506200291630856200358b565b15156200292257600080fd5b6200292e838562002fda565b15156200293a57600080fd5b7fed236d0a24cb7a32c76960696e44bac711b80ef76780688405dc96c2495b75f98e8a600160a060020a0316630690e5b86040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156200299a57600080fd5b5af11515620029a857600080fd5b50505060405180519050604051600160a060020a039283168152911660208201526040908101905180910390a15060019d9c50505050505050505050505050565b600754600160a060020a031681565b60045460009033600160a060020a0390811691161462002a1757600080fd5b62001daf83836200346c565b600254600160a060020a031681565b6008602052600090815260409020805460019091015482565b60096020526000908152604090205460ff1681565b60075433600160a060020a0390811691161462002a7c57600080fd5b600054600160a060020a03161562002a9357600080fd5b6000805473ffffffffffffffffffffffffffffffffffffffff19908116600160a060020a03978816179091556004805482169587169590951790945560038054851693861693909317909255600180548416918516919091179055600280549092169216919091179055565b6005602052806000526040600020600091509050806000015490806001018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801562002bb55780601f1062002b895761010080835404028352916020019162002bb5565b820191906000526020600020905b81548152906001019060200180831162002b9757829003601f168201915b505050505090806002018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801562002c575780601f1062002c2b5761010080835404028352916020019162002c57565b820191906000526020600020905b81548152906001019060200180831162002c3957829003601f168201915b5050505050908060030154905084565b600062002c7362003750565b62002c7d62003750565b600062002c8a8562000f5a565b151562002c9657600080fd5b60008581526005602090815260409182902080546003820154600180840180549396909560029586019593948794938116156101000260001901169290920491601f83018190048102019051908101604052809291908181526020018280546001816001161561010002031660029004801562002d575780601f1062002d2b5761010080835404028352916020019162002d57565b820191906000526020600020905b81548152906001019060200180831162002d3957829003601f168201915b50505050509250818054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801562002df75780601f1062002dcb5761010080835404028352916020019162002df7565b820191906000526020600020905b81548152906001019060200180831162002dd957829003601f168201915b5050505050915093509350935093509193509193565b6003546000908190600160a060020a031663d440c6f38460405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151562002e6357600080fd5b5af1151562002e7157600080fd5b5050506040518051600160a060020a03949094166000908152600a6020526040902054939492505050565b6001546000908190600160a060020a031663fc06a87788888888886040518663ffffffff1660e060020a0281526004018080602001858152602001806020018381038352888882818152602001925080828437909101848103835285815260200190508585808284378201915050975050505050505050602060405180830381600087803b151562002f2d57600080fd5b5af1151562002f3b57600080fd5b50505060405180519050905080600160a060020a031632600160a060020a03167f03d3b6187bbe7d21aa3cf229e292ba41fa8bca6ec2128c0f1625178b8191cdc28989898989604051602081018490526060808252810185905280604081016080820188888082843790910184810383528581526020019050858580828437820191505097505050505050505060405180910390a39695505050505050565b600160a060020a03821660009081526008602052604081205462003005908363ffffffff6200307116565b600160a060020a03841660009081526008602052604090819020919091557f619caafabdd75649b302ba8419e48cccf64f37f1983ac4727cfb38b57703ffc9908490849051600160a060020a03909216825260208201526040908101905180910390a150600192915050565b6000828201838110156200308157fe5b8091505b5092915050565b6003546000908390600160a060020a03166368c197dd8260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515620030e257600080fd5b5af11515620030f057600080fd5b5050506040518051905015156200310657600080fd5b620031678382600160a060020a031663e2d36ef56040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156200314957600080fd5b5af115156200315757600080fd5b505050604051805190506200346c565b15156200317357600080fd5b600354600160a060020a0316630b00de8d858560405160e060020a63ffffffff8516028152600160a060020a03928316600482015291166024820152604401602060405180830381600087803b1515620031cc57600080fd5b5af11515620031da57600080fd5b505050604051805190501515620031f057600080fd5b5060019392505050565b6000828211156200320757fe5b50900390565b600154600090839082908190600160a060020a0316638403be918460405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b15156200326757600080fd5b5af115156200327557600080fd5b5050506040518051905015156200328b57600080fd5b82600160a060020a03166326137e6b6040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515620032c957600080fd5b5af11515620032d757600080fd5b5050506040518051925050600160a060020a03851615620033d457506002548490600160a060020a03166316265b4e8260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b15156200334657600080fd5b5af115156200335457600080fd5b5050506040518051905015156200336a57600080fd5b620033d181600160a060020a03166362d598eb6040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515620033ac57600080fd5b5af11515620033ba57600080fd5b505050604051805184915063ffffffff6200307116565b91505b600354600160a060020a03166368c197dd8860405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b15156200342557600080fd5b5af115156200343357600080fd5b5050506040518051905015156200344957600080fd5b620034558883620034ef565b15156200346157600080fd5b509695505050505050565b600160a060020a0382166000908152600860205260408120600101546200349a908363ffffffff620031fa16565b600160a060020a0384166000908152600860205260409020600181019190915554620034cd908363ffffffff6200307116565b600160a060020a03841660009081526008602052604090205550600192915050565b600160a060020a0382166000908152600860205260408120546200351a908363ffffffff620031fa16565b600160a060020a0384166000908152600860205260409020908155600101546200354b908363ffffffff6200307116565b600160a060020a0384166000908152600860205260409020600190810191909155905092915050565b6000620035848383606462003652565b9392505050565b600160a060020a038216600090815260086020526040812060010154620035b9908363ffffffff620031fa16565b600160a060020a03841660009081526008602052604090819020600101919091557f4051ba94e08bb094159fc38391422b4b8ccfd2b1f8919c0eb37bb042d4b9cd8e908490849051600160a060020a03909216825260208201526040908101905180910390a150600192915050565b600081831062003639578162003584565b5090919050565b60008183101562003639578162003584565b60006200366b62003664858562003673565b83620036a2565b949350505050565b60008083151562003688576000915062003085565b508282028284828115156200369957fe5b04146200308157fe5b6000808284811515620036b157fe5b04949350505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620036fd57805160ff19168380011785556200372d565b828001600101855582156200372d579182015b828111156200372d57825182559160200191906001019062003710565b506200373b92915062003762565b5090565b604051610c5a806200378383390190565b60206040519081016040526000815290565b6200377f91905b808211156200373b576000815560010162003769565b9056006060604052341561000f57600080fd5b604051610c5a380380610c5a8339810160405280805191906020018051919060200180519190602001805191906020018051919060200180519190602001805182019190602001805191906020018051600e8054600160a060020a03191633600160a060020a039081169190911790915590925089161515905061009257600080fd5b6000805460ff1916600190811790915589905560028054600160a060020a0319908116600160a060020a038a81169190911790925560038054821689841617905560048054821688841617905560058054909116918a1691909117905560068490556007838051610107929160200190610141565b5060088054600160a060020a03938416600160a060020a03199182161790915560098054929093169116179055506101dc95505050505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061018257805160ff19168380011785556101af565b828001600101855582156101af579182015b828111156101af578251825591602001919060010190610194565b506101bb9291506101bf565b5090565b6101d991905b808211156101bb57600081556001016101c5565b90565b610a6f806101eb6000396000f3006060604052600436106101065763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630690e5b8811461010b57806315298c771461013a5780631a514d97146101c45780632d4d671f146101eb5780634e71d92d146101fe5780635f44910c146102135780636946f6921461022657806371a599ca146102395780638628aaff1461024c5780639c4a856114610271578063cc3a2dfa14610284578063d3281fd614610297578063d3a69e01146102aa578063d5fdfdbc146102bd578063da1fea2814610392578063e329c478146103a5578063ecc40f64146103dc578063f3859f57146103ef578063f6a5b13e14610402575b600080fd5b341561011657600080fd5b61011e610415565b604051600160a060020a03909116815260200160405180910390f35b341561014557600080fd5b61014d610424565b60405160208082528190810183818151815260200191508051906020019080838360005b83811015610189578082015183820152602001610171565b50505050905090810190601f1680156101b65780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156101cf57600080fd5b6101d76104c2565b604051901515815260200160405180910390f35b34156101f657600080fd5b6101d761053d565b341561020957600080fd5b6102116105b7565b005b341561021e57600080fd5b61011e610647565b341561023157600080fd5b61011e610656565b341561024457600080fd5b61011e610665565b341561025757600080fd5b61025f610674565b60405190815260200160405180910390f35b341561027c57600080fd5b61014d61067a565b341561028f57600080fd5b61014d6106e5565b34156102a257600080fd5b61025f610750565b34156102b557600080fd5b61011e610756565b34156102c857600080fd5b61021160046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052818152929190602084018383808284375094965061076595505050505050565b341561039d57600080fd5b61011e610913565b34156103b057600080fd5b6103b8610922565b604051808260048111156103c857fe5b60ff16815260200191505060405180910390f35b34156103e757600080fd5b61025f61092b565b34156103fa57600080fd5b61014d610931565b341561040d57600080fd5b61011e61099c565b600454600160a060020a031681565b60078054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156104ba5780601f1061048f576101008083540402835291602001916104ba565b820191906000526020600020905b81548152906001019060200180831161049d57829003601f168201915b505050505081565b60045460009033600160a060020a039081169116146104e057600080fd5b600260005460ff1660048111156104f357fe5b146104fd57600080fd5b6000805460ff191660011790557f06c42818c4ab74dff6aec55942f601c2e9b7f2aa4321ee71690b125eacfe465460405160405180910390a15060015b90565b60045460009033600160a060020a0390811691161461055b57600080fd5b600160005460ff16600481111561056e57fe5b1461057857600080fd5b6000805460ff191660021790557f2b0cab0be6d82b2661b3b789c540ec9c7223aac635ac8e59a1e71e1137f2dd7760405160405180910390a150600190565b600e5433600160a060020a039081169116146105d257600080fd5b600160005460ff1660048111156105e557fe5b14806106015750600260005460ff1660048111156105ff57fe5b145b151561060c57600080fd5b6000805460ff191660031790557f1938697ee29e363ecda49e464c6d2aae25f0974bd1f2c81a91c21e13ad8dbf7760405160405180910390a1565b600554600160a060020a031681565b600254600160a060020a031681565b600354600160a060020a031681565b60065481565b600d8054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156104ba5780601f1061048f576101008083540402835291602001916104ba565b600b8054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156104ba5780601f1061048f576101008083540402835291602001916104ba565b600a5481565b600e54600160a060020a031681565b600e5433600160a060020a0390811691161461078057600080fd5b600260005460ff16600481111561079357fe5b1461079d57600080fd5b6000805460ff19166004179055600b8380516107bd9291602001906109ab565b50600c8280516107d19291602001906109ab565b50600d8180516107e59291602001906109ab565b508282826040518084805190602001908083835b602083106108185780518252601f1990920191602091820191016107f9565b6001836020036101000a038019825116818451161790925250505091909101905083805190602001908083835b602083106108645780518252601f199092019160209182019101610845565b6001836020036101000a038019825116818451161790925250505091909101905082805190602001908083835b602083106108b05780518252601f199092019160209182019101610891565b6001836020036101000a03801982511681845116179092525050509190910194506040935050505051908190039020600a557f777f59509d985349c80271b657d2649b218bc6f075a4625821b64448cc235b8660405160405180910390a1505050565b600854600160a060020a031681565b60005460ff1681565b60015481565b600c8054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156104ba5780601f1061048f576101008083540402835291602001916104ba565b600954600160a060020a031681565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106109ec57805160ff1916838001178555610a19565b82800160010185558215610a19579182015b82811115610a195782518255916020019190600101906109fe565b50610a25929150610a29565b5090565b61053a91905b80821115610a255760008155600101610a2f5600a165627a7a72305820aab9d309bae837f3417f3dc81c0f650543365c210e440786b5dfc09f1981eba70029a165627a7a723058208b35e6ede3f96a784d6f976885ab01319f919cd17a134bcc7123f62ab2cd8ec00029", - "deployedBytecode": "0x606060405260043610620002155763ffffffff60e060020a6000350416630800b89e81146200021a5780630c91f2d0146200023e57806310793b5014620002825780631708d72514620002b05780631f87172614620002d2578063234a0ee714620002fd578063298503d9146200032f5780632e1a7d4d14620003c757806332baa8d914620003e057806332ca558714620003f957806339b73122146200041b5780634f73b8e6146200044c578063536e280014620004625780635f51522614620004ac57806366de5a4f14620004ce57806369e99b5c14620004f95780636b4f6865146200051b5780636e885bd71462000546578063747bcd72146200055c578063817e83321462000572578063835436b414620005885780638981d07714620005aa5780638986916314620005d55780638c0f8e1114620005f75780639fdf96251462000619578063a0efe2551462000649578063abc8c7af146200065f578063ac26109e1462000675578063b017c036146200069a578063b218cf1514620006b0578063b6b55f2514620006d2578063b6b57ebd14620006eb578063b6b8c3cd14620007d1578063b7b6e97814620007e7578063bc04d77b146200080c578063be02ee6e1462000822578063ddaeb6001462000844578063e760a11a1462000866578063eeeb2ba014620008a0578063f3052d2614620009ae578063f69f190c14620009c7578063fc06a8771462000a0b575b600080fd5b34156200022657600080fd5b6200023c600160a060020a036004351662000a3c565b005b34156200024a57600080fd5b6200026e600160a060020a0360043581169060243516604435606435151562000a87565b604051901515815260200160405180910390f35b34156200028e57600080fd5b6200029862000bf4565b60405191825260208201526040908101905180910390f35b3415620002bc57600080fd5b6200026e600160a060020a036004351662000bfd565b3415620002de57600080fd5b620002eb60043562000c66565b60405190815260200160405180910390f35b34156200030957600080fd5b6200031362000c95565b604051600160a060020a03909116815260200160405180910390f35b34156200033b57600080fd5b620002eb60046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528181529291906020840183838082843750949650509335935062000ca492505050565b3415620003d357600080fd5b6200026e60043562000e52565b3415620003ec57600080fd5b6200026e60043562000f5a565b34156200040557600080fd5b6200026e600160a060020a036004351662000f6d565b34156200042757600080fd5b6200031360246004803582810192908201359181359160443590810191013562000f8b565b34156200045857600080fd5b620002eb620010c9565b34156200046e57600080fd5b620003136004803590600160a060020a03602480358216926044358316926064358116926084359081019201359060a43581169060c43516620010cf565b3415620004b857600080fd5b62000298600160a060020a0360043516620012f9565b3415620004da57600080fd5b620003136024600480358281019291013590356044356064356200131c565b34156200050557600080fd5b620002eb600160a060020a036004351662001449565b34156200052757600080fd5b6200026e600160a060020a03600435811690602435166044356200145b565b34156200055257600080fd5b620003136200151e565b34156200056857600080fd5b620002eb6200152d565b34156200057e57600080fd5b620002eb62001532565b34156200059457600080fd5b6200026e600160a060020a036004351662001537565b3415620005b657600080fd5b6200026e600160a060020a0360043581169060243516604435620015a0565b3415620005e157600080fd5b6200026e600160a060020a03600435166200164c565b34156200060357600080fd5b620002eb600160a060020a036004351662001bbd565b34156200062557600080fd5b6200026e600160a060020a0360043581169060243516604435606435151562001bd8565b34156200065557600080fd5b620002eb62001d6f565b34156200066b57600080fd5b6200031362001d75565b34156200068157600080fd5b6200026e600160a060020a036004351660243562001d84565b3415620006a657600080fd5b6200031362001dc4565b3415620006bc57600080fd5b6200026e600160a060020a036004351662001dd3565b3415620006de57600080fd5b6200026e6004356200207d565b3415620006f757600080fd5b6200026e60048035600160a060020a03169060446024803590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405281815292919060208401838380828437509496506200219b95505050505050565b3415620007dd57600080fd5b62000313620029e9565b3415620007f357600080fd5b6200026e600160a060020a0360043516602435620029f8565b34156200081857600080fd5b6200031362002a23565b34156200082e57600080fd5b62000298600160a060020a036004351662002a32565b34156200085057600080fd5b6200026e600160a060020a036004351662002a4b565b34156200087257600080fd5b6200023c600160a060020a036004358116906024358116906044358116906064358116906084351662002a60565b3415620008ac57600080fd5b620008b960043562002aff565b604051808581526020018060200180602001848152602001838103835286818151815260200191508051906020019080838360005b8381101562000908578082015183820152602001620008ee565b50505050905090810190601f168015620009365780820380516001836020036101000a031916815260200191505b50838103825285818151815260200191508051906020019080838360005b838110156200096e57808201518382015260200162000954565b50505050905090810190601f1680156200099c5780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390f35b3415620009ba57600080fd5b620008b960043562002c67565b3415620009d357600080fd5b620009e9600160a060020a036004351662002e0d565b604051600160a060020a03909216825260208201526040908101905180910390f35b341562000a1757600080fd5b6200031360246004803582810192908201359181359160443590810191013562002e9c565b60075433600160a060020a0390811691161462000a5857600080fd5b6007805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600160a060020a038416600090815260096020526040812054859060ff16151562000ab157600080fd5b33600160a060020a031686600160a060020a0316630690e5b86040518163ffffffff1660e060020a028152600401602060405180830381600087803b151562000af957600080fd5b5af1151562000b0757600080fd5b50505060405180519050600160a060020a031614151562000b2757600080fd5b62000b33858562002fda565b151562000b3f57600080fd5b821562000be857600b5462000b5c90600163ffffffff6200307116565b600b55600160a060020a0385166000908152600a602052604090205462000b8b90600163ffffffff6200307116565b600160a060020a0386166000818152600a60205260409081902092909255907f98b231d22df4a95e9d99b5d3f4d25fab5a821c22d7f517a522731c2892ed453590889051600160a060020a03909116815260200160405180910390a25b50600195945050505050565b600b54600c5482565b600062000c0b33836200308c565b151562000c1757600080fd5b33600160a060020a03167f9644170e77fec17243f5fdc3519cba6d2162d1dda59af75508fd9a2005aeb78483604051600160a060020a03909116815260200160405180910390a2506001919050565b600062000c738262000f5a565b151562000c7f57600080fd5b5060009081526005602052604090206003015490565b600154600160a060020a031681565b600754600090819033600160a060020a0390811691161462000cc557600080fd5b60065462000cdb90600163ffffffff6200307116565b6006819055600081815260056020526040902090815590506001810185805162000d0a929160200190620036ba565b506002810184805162000d22929160200190620036ba565b50600381018390556006547f62bf08360c9d561749c54eaf4f8bf8cb6c8b6f4f40607bcec39a8172e714d25c90868686604051808581526020018060200180602001848152602001838103835286818151815260200191508051906020019080838360005b8381101562000da157808201518382015260200162000d87565b50505050905090810190601f16801562000dcf5780820380516001836020036101000a031916815260200191505b50838103825285818151815260200191508051906020019080838360005b8381101562000e0757808201518382015260200162000ded565b50505050905090810190601f16801562000e355780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390a150506006549392505050565b600160a060020a03331660009081526008602052604081205462000e7d908363ffffffff620031fa16565b33600160a060020a038181166000908152600860205260408082209490945554169163a9059cbb919085905160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151562000eea57600080fd5b5af1151562000ef857600080fd5b50505060405180519050151562000f0e57600080fd5b7f884edad9ce6fa2440d8a54cc123490eb96d2768479d49ff9c7366125a94243643383604051600160a060020a03909216825260208201526040908101905180910390a1506001919050565b6000908152600560205260408120541190565b600160a060020a031660009081526009602052604090205460ff1690565b6002546000908190600160a060020a03166339b7312288888888886040518663ffffffff1660e060020a0281526004018080602001858152602001806020018381038352888882818152602001925080828437909101848103835285815260200190508585808284378201915050975050505050505050602060405180830381600087803b15156200101c57600080fd5b5af115156200102a57600080fd5b50505060405180519050905080600160a060020a031632600160a060020a03167f49413c774d3fe9c92f6ada69299963d9b4b1c13a1f2a95a019188e2c161ed1438989898989604051602081018490526060808252810185905280604081016080820188888082843790910184810383528581526020019050858580828437820191505097505050505050505060405180910390a39695505050505050565b6103e881565b600454600090339082908190600160a060020a03166302a63c288d858e60405160e060020a63ffffffff86160281526004810193909352600160a060020a039182166024840152166044820152606401602060405180830381600087803b15156200113957600080fd5b5af115156200114757600080fd5b5050506040518051905015156200115d57600080fd5b6200116b838c8c8c6200320d565b91508b838b8b8e868d8d8d8d620011816200373f565b8a8152600160a060020a03808b16602083015289811660408301528881166060830152878116608083015260a0820187905283811660e0830152821661010082015261012060c08201818152908201859052610140820186868082843782019150509b505050505050505050505050604051809103906000f08015156200120757600080fd5b600160a060020a0380821660009081526009602052604090819020805460ff191660011790559192508c1690637919233f9083908f905160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b15156200127f57600080fd5b5af115156200128d57600080fd5b505050604051805190501515620012a357600080fd5b8a600160a060020a03167f359f2105b31d71ee8e2315c3dc3427b3f7297dcc85dd3883d4554e67f1f22d0082604051600160a060020a03909116815260200160405180910390a29b9a5050505050505050505050565b600160a060020a0316600090815260086020526040902080546001909101549091565b6003546004546000918291600160a060020a039182169163215bd303918a918a918a918a918a91166040518763ffffffff1660e060020a028152600401808060200186815260200185815260200184815260200183600160a060020a0316600160a060020a0316815260200182810382528888828181526020019250808284378201915050975050505050505050602060405180830381600087803b1515620013c457600080fd5b5af11515620013d257600080fd5b50505060405180519050905080600160a060020a031632600160a060020a03167f3c29f4ff1e741e465a1ad9cc4c0b8e51c046c021ca9e77172d812ae667f566f889896040516020808252810182905280604081018484808284378201915050935050505060405180910390a39695505050505050565b600a6020526000908152604090205481565b600160a060020a038316600090815260096020526040812054849060ff1615156200148557600080fd5b33600160a060020a031685600160a060020a0316630690e5b86040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515620014cd57600080fd5b5af11515620014db57600080fd5b50505060405180519050600160a060020a0316141515620014fb57600080fd5b6200150784846200346c565b15156200151357600080fd5b506001949350505050565b600354600160a060020a031681565b603281565b600a81565b60006200154533836200308c565b15156200155157600080fd5b33600160a060020a03167f5580db655b3146ef4d1fdba3305cf74dbc3f29126c7a3832533f84e00d149ee383604051600160a060020a03909116815260200160405180910390a2506001919050565b600160a060020a038316600090815260096020526040812054849060ff161515620015ca57600080fd5b33600160a060020a031685600160a060020a0316630690e5b86040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156200161257600080fd5b5af115156200162057600080fd5b50505060405180519050600160a060020a03161415156200164057600080fd5b620015078484620034ef565b600160a060020a038116600090815260096020526040812054819081908190819081908190889060ff1615156200168257600080fd5b88965033600160a060020a031687600160a060020a0316635f44910c6040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515620016cd57600080fd5b5af11515620016db57600080fd5b50505060405180519050600160a060020a0316141515620016fb57600080fd5b86600160a060020a0316630690e5b86040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156200173957600080fd5b5af115156200174757600080fd5b5050506040518051965050600160a060020a03871663e329c4786040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156200179057600080fd5b5af115156200179e57600080fd5b5050506040518051955060019050856004811115620017b957fe5b1480620017d257506002856004811115620017d057fe5b145b1515620017de57600080fd5b85600160a060020a031663898691638a60405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b15156200182d57600080fd5b5af115156200183b57600080fd5b5050506040518051905015156200185157600080fd5b86600160a060020a0316634e71d92d6040518163ffffffff1660e060020a028152600401600060405180830381600087803b15156200188f57600080fd5b5af115156200189d57600080fd5b5050600454600160a060020a03908116915063eb3721be90891663ecc40f646040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515620018eb57600080fd5b5af11515620018f957600080fd5b5050506040518051905060405160e060020a63ffffffff8416028152600481019190915260240161010060405180830381600087803b15156200193b57600080fd5b5af115156200194957600080fd5b5050506040518051906020018051906020018051906020018051906020018051906020018051906020018051906020018051600454959c509a50620019f6975050600160a060020a039093169450636b14ea369350604092505050518163ffffffff1660e060020a028152600401602060405180830381600087803b1515620019d157600080fd5b5af11515620019df57600080fd5b505050604051805186915063ffffffff6200357416565b915062001abf87600160a060020a0316635f44910c6040518163ffffffff1660e060020a028152600401602060405180830381600087803b151562001a3a57600080fd5b5af1151562001a4857600080fd5b5050506040518051905062001ab989600160a060020a0316638628aaff6040518163ffffffff1660e060020a028152600401602060405180830381600087803b151562001a9457600080fd5b5af1151562001aa257600080fd5b505050604051805188915063ffffffff6200307116565b6200346c565b151562001acb57600080fd5b62001ad783836200358b565b151562001ae357600080fd5b62001aef308362002fda565b151562001afb57600080fd5b62001b073083620034ef565b151562001b1357600080fd5b7fb3cae8ec1c2754530963fb2e254826aae88dda74178f1a0c5656776941e604b88988600160a060020a0316630690e5b86040518163ffffffff1660e060020a028152600401602060405180830381600087803b151562001b7357600080fd5b5af1151562001b8157600080fd5b50505060405180519050604051600160a060020a039283168152911660208201526040908101905180910390a150600198975050505050505050565b600160a060020a03166000908152600a602052604090205490565b600160a060020a038416600090815260096020526040812054859060ff16151562001c0257600080fd5b33600160a060020a031686600160a060020a0316630690e5b86040518163ffffffff1660e060020a028152600401602060405180830381600087803b151562001c4a57600080fd5b5af1151562001c5857600080fd5b50505060405180519050600160a060020a031614151562001c7857600080fd5b62001c8485856200358b565b151562001c9057600080fd5b821562000be857600c5462001cad90600163ffffffff6200307116565b600c55600160a060020a0385166000908152600a602052604090205462001d079062001ce190603263ffffffff6200362816565b600160a060020a0387166000908152600a60205260409020549063ffffffff620031fa16565b600160a060020a0386166000818152600a60205260409081902092909255907fd21e70eb7104cb6f403402b79fe1c088dc56b69ecb7474ae68a3e861a5a6d49990889051600160a060020a03909116815260200160405180910390a250600195945050505050565b60065481565b600454600160a060020a031681565b60045460009033600160a060020a0390811691161462001da357600080fd5b62001daf8383620034ef565b151562001dbb57600080fd5b50600192915050565b600054600160a060020a031681565b6003546000903390600160a060020a03166368c197dd8260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151562001e2957600080fd5b5af1151562001e3757600080fd5b50505060405180519050151562001e4d57600080fd5b62001eae8382600160a060020a031663e2d36ef56040518163ffffffff1660e060020a028152600401602060405180830381600087803b151562001e9057600080fd5b5af1151562001e9e57600080fd5b50505060405180519050620034ef565b151562001eba57600080fd5b80600160a060020a0316636ab6936a6040518163ffffffff1660e060020a028152600401602060405180830381600087803b151562001ef857600080fd5b5af1151562001f0657600080fd5b5050506040518051600160a060020a0385166000908152600860205260409020541015905062001f3557600080fd5b80600160a060020a031663cc6f06a36040518163ffffffff1660e060020a028152600401602060405180830381600087803b151562001f7357600080fd5b5af1151562001f8157600080fd5b5050506040518051600160a060020a0385166000908152600a60205260409020541015905062001fb057600080fd5b600354600160a060020a0316631884c517338560405160e060020a63ffffffff8516028152600160a060020a03928316600482015291166024820152604401602060405180830381600087803b15156200200957600080fd5b5af115156200201757600080fd5b5050506040518051905015156200202d57600080fd5b33600160a060020a03167fd3548f8b6a2a11c4a35ef5a16dbf7142c9db5163c7d46e7f66482664277cff0784604051600160a060020a03909116815260200160405180910390a250600192915050565b60008054600160a060020a03166323b872dd33308560405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b1515620020e257600080fd5b5af11515620020f057600080fd5b5050506040518051905015156200210657600080fd5b600160a060020a03331660009081526008602052604090205462002131908363ffffffff6200307116565b33600160a060020a03811660009081526008602052604090819020929092557fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c91849051600160a060020a03909216825260208201526040908101905180910390a1506001919050565b600160a060020a038416600090815260096020526040812054819081908190819081908190819081908d9060ff161515620021d557600080fd5b8d985033600160a060020a031689600160a060020a0316630690e5b86040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156200222057600080fd5b5af115156200222e57600080fd5b50505060405180519050600160a060020a03161415156200224e57600080fd5b600289600160a060020a031663e329c4786040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156200228e57600080fd5b5af115156200229c57600080fd5b505050604051805190506004811115620022b257fe5b14620022bd57600080fd5b88600160a060020a0316636946f6926040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515620022fb57600080fd5b5af115156200230957600080fd5b5050506040518051985050600160a060020a0388166326137e6b6040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156200235257600080fd5b5af115156200236057600080fd5b50505060405180519750506000871115620023e257620023d688600160a060020a031663deff41c16040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515620023b757600080fd5b5af11515620023c557600080fd5b505050604051805190508862002fda565b1515620023e257600080fd5b88600160a060020a03166371a599ca6040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156200242057600080fd5b5af115156200242e57600080fd5b5050506040518051965050600160a060020a03861615620025175785600160a060020a03166362d598eb6040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156200248757600080fd5b5af115156200249557600080fd5b5050506040518051955050600085111562002517576200250b86600160a060020a031663deff41c16040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515620024ec57600080fd5b5af11515620024fa57600080fd5b505050604051805190508662002fda565b15156200251757600080fd5b600454600160a060020a039081169063eb3721be908b1663ecc40f646040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156200256257600080fd5b5af115156200257057600080fd5b5050506040518051905060405160e060020a63ffffffff8416028152600481019190915260240161010060405180830381600087803b1515620025b257600080fd5b5af11515620025c057600080fd5b5050506040518051906020018051906020018051906020018051906020018051906020018051906020018051906020018051600454959c509a5062002648975050600160a060020a039093169450636b14ea369350604092505050518163ffffffff1660e060020a028152600401602060405180830381600087803b1515620019d157600080fd5b9150620026ec89600160a060020a0316635f44910c6040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156200268c57600080fd5b5af115156200269a57600080fd5b50505060405180519050620026e68b600160a060020a0316638628aaff6040518163ffffffff1660e060020a028152600401602060405180830381600087803b151562001a9457600080fd5b6200358b565b1515620026f857600080fd5b6200270483836200346c565b15156200271057600080fd5b88600160a060020a031663d5fdfdbc8e8e8e6040518463ffffffff1660e060020a02815260040180806020018060200180602001848103845287818151815260200191508051906020019080838360005b838110156200277b57808201518382015260200162002761565b50505050905090810190601f168015620027a95780820380516001836020036101000a031916815260200191505b50848103835286818151815260200191508051906020019080838360005b83811015620027e1578082015183820152602001620027c7565b50505050905090810190601f1680156200280f5780820380516001836020036101000a031916815260200191505b50848103825285818151815260200191508051906020019080838360005b83811015620028475780820151838201526020016200282d565b50505050905090810190601f168015620028755780820380516001836020036101000a031916815260200191505b509650505050505050600060405180830381600087803b15156200289857600080fd5b5af11515620028a657600080fd5b505050600160a060020a03301660009081526008602052604081206001015494508411156200293a5762002908620028fa6103e8620028ed87600a63ffffffff6200357416565b9063ffffffff6200364016565b859063ffffffff6200362816565b93506200291630856200358b565b15156200292257600080fd5b6200292e838562002fda565b15156200293a57600080fd5b7fed236d0a24cb7a32c76960696e44bac711b80ef76780688405dc96c2495b75f98e8a600160a060020a0316630690e5b86040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156200299a57600080fd5b5af11515620029a857600080fd5b50505060405180519050604051600160a060020a039283168152911660208201526040908101905180910390a15060019d9c50505050505050505050505050565b600754600160a060020a031681565b60045460009033600160a060020a0390811691161462002a1757600080fd5b62001daf83836200346c565b600254600160a060020a031681565b6008602052600090815260409020805460019091015482565b60096020526000908152604090205460ff1681565b60075433600160a060020a0390811691161462002a7c57600080fd5b600054600160a060020a03161562002a9357600080fd5b6000805473ffffffffffffffffffffffffffffffffffffffff19908116600160a060020a03978816179091556004805482169587169590951790945560038054851693861693909317909255600180548416918516919091179055600280549092169216919091179055565b6005602052806000526040600020600091509050806000015490806001018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801562002bb55780601f1062002b895761010080835404028352916020019162002bb5565b820191906000526020600020905b81548152906001019060200180831162002b9757829003601f168201915b505050505090806002018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801562002c575780601f1062002c2b5761010080835404028352916020019162002c57565b820191906000526020600020905b81548152906001019060200180831162002c3957829003601f168201915b5050505050908060030154905084565b600062002c7362003750565b62002c7d62003750565b600062002c8a8562000f5a565b151562002c9657600080fd5b60008581526005602090815260409182902080546003820154600180840180549396909560029586019593948794938116156101000260001901169290920491601f83018190048102019051908101604052809291908181526020018280546001816001161561010002031660029004801562002d575780601f1062002d2b5761010080835404028352916020019162002d57565b820191906000526020600020905b81548152906001019060200180831162002d3957829003601f168201915b50505050509250818054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801562002df75780601f1062002dcb5761010080835404028352916020019162002df7565b820191906000526020600020905b81548152906001019060200180831162002dd957829003601f168201915b5050505050915093509350935093509193509193565b6003546000908190600160a060020a031663d440c6f38460405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151562002e6357600080fd5b5af1151562002e7157600080fd5b5050506040518051600160a060020a03949094166000908152600a6020526040902054939492505050565b6001546000908190600160a060020a031663fc06a87788888888886040518663ffffffff1660e060020a0281526004018080602001858152602001806020018381038352888882818152602001925080828437909101848103835285815260200190508585808284378201915050975050505050505050602060405180830381600087803b151562002f2d57600080fd5b5af1151562002f3b57600080fd5b50505060405180519050905080600160a060020a031632600160a060020a03167f03d3b6187bbe7d21aa3cf229e292ba41fa8bca6ec2128c0f1625178b8191cdc28989898989604051602081018490526060808252810185905280604081016080820188888082843790910184810383528581526020019050858580828437820191505097505050505050505060405180910390a39695505050505050565b600160a060020a03821660009081526008602052604081205462003005908363ffffffff6200307116565b600160a060020a03841660009081526008602052604090819020919091557f619caafabdd75649b302ba8419e48cccf64f37f1983ac4727cfb38b57703ffc9908490849051600160a060020a03909216825260208201526040908101905180910390a150600192915050565b6000828201838110156200308157fe5b8091505b5092915050565b6003546000908390600160a060020a03166368c197dd8260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515620030e257600080fd5b5af11515620030f057600080fd5b5050506040518051905015156200310657600080fd5b620031678382600160a060020a031663e2d36ef56040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156200314957600080fd5b5af115156200315757600080fd5b505050604051805190506200346c565b15156200317357600080fd5b600354600160a060020a0316630b00de8d858560405160e060020a63ffffffff8516028152600160a060020a03928316600482015291166024820152604401602060405180830381600087803b1515620031cc57600080fd5b5af11515620031da57600080fd5b505050604051805190501515620031f057600080fd5b5060019392505050565b6000828211156200320757fe5b50900390565b600154600090839082908190600160a060020a0316638403be918460405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b15156200326757600080fd5b5af115156200327557600080fd5b5050506040518051905015156200328b57600080fd5b82600160a060020a03166326137e6b6040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515620032c957600080fd5b5af11515620032d757600080fd5b5050506040518051925050600160a060020a03851615620033d457506002548490600160a060020a03166316265b4e8260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b15156200334657600080fd5b5af115156200335457600080fd5b5050506040518051905015156200336a57600080fd5b620033d181600160a060020a03166362d598eb6040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515620033ac57600080fd5b5af11515620033ba57600080fd5b505050604051805184915063ffffffff6200307116565b91505b600354600160a060020a03166368c197dd8860405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b15156200342557600080fd5b5af115156200343357600080fd5b5050506040518051905015156200344957600080fd5b620034558883620034ef565b15156200346157600080fd5b509695505050505050565b600160a060020a0382166000908152600860205260408120600101546200349a908363ffffffff620031fa16565b600160a060020a0384166000908152600860205260409020600181019190915554620034cd908363ffffffff6200307116565b600160a060020a03841660009081526008602052604090205550600192915050565b600160a060020a0382166000908152600860205260408120546200351a908363ffffffff620031fa16565b600160a060020a0384166000908152600860205260409020908155600101546200354b908363ffffffff6200307116565b600160a060020a0384166000908152600860205260409020600190810191909155905092915050565b6000620035848383606462003652565b9392505050565b600160a060020a038216600090815260086020526040812060010154620035b9908363ffffffff620031fa16565b600160a060020a03841660009081526008602052604090819020600101919091557f4051ba94e08bb094159fc38391422b4b8ccfd2b1f8919c0eb37bb042d4b9cd8e908490849051600160a060020a03909216825260208201526040908101905180910390a150600192915050565b600081831062003639578162003584565b5090919050565b60008183101562003639578162003584565b60006200366b62003664858562003673565b83620036a2565b949350505050565b60008083151562003688576000915062003085565b508282028284828115156200369957fe5b04146200308157fe5b6000808284811515620036b157fe5b04949350505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620036fd57805160ff19168380011785556200372d565b828001600101855582156200372d579182015b828111156200372d57825182559160200191906001019062003710565b506200373b92915062003762565b5090565b604051610c5a806200378383390190565b60206040519081016040526000815290565b6200377f91905b808211156200373b576000815560010162003769565b9056006060604052341561000f57600080fd5b604051610c5a380380610c5a8339810160405280805191906020018051919060200180519190602001805191906020018051919060200180519190602001805182019190602001805191906020018051600e8054600160a060020a03191633600160a060020a039081169190911790915590925089161515905061009257600080fd5b6000805460ff1916600190811790915589905560028054600160a060020a0319908116600160a060020a038a81169190911790925560038054821689841617905560048054821688841617905560058054909116918a1691909117905560068490556007838051610107929160200190610141565b5060088054600160a060020a03938416600160a060020a03199182161790915560098054929093169116179055506101dc95505050505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061018257805160ff19168380011785556101af565b828001600101855582156101af579182015b828111156101af578251825591602001919060010190610194565b506101bb9291506101bf565b5090565b6101d991905b808211156101bb57600081556001016101c5565b90565b610a6f806101eb6000396000f3006060604052600436106101065763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630690e5b8811461010b57806315298c771461013a5780631a514d97146101c45780632d4d671f146101eb5780634e71d92d146101fe5780635f44910c146102135780636946f6921461022657806371a599ca146102395780638628aaff1461024c5780639c4a856114610271578063cc3a2dfa14610284578063d3281fd614610297578063d3a69e01146102aa578063d5fdfdbc146102bd578063da1fea2814610392578063e329c478146103a5578063ecc40f64146103dc578063f3859f57146103ef578063f6a5b13e14610402575b600080fd5b341561011657600080fd5b61011e610415565b604051600160a060020a03909116815260200160405180910390f35b341561014557600080fd5b61014d610424565b60405160208082528190810183818151815260200191508051906020019080838360005b83811015610189578082015183820152602001610171565b50505050905090810190601f1680156101b65780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156101cf57600080fd5b6101d76104c2565b604051901515815260200160405180910390f35b34156101f657600080fd5b6101d761053d565b341561020957600080fd5b6102116105b7565b005b341561021e57600080fd5b61011e610647565b341561023157600080fd5b61011e610656565b341561024457600080fd5b61011e610665565b341561025757600080fd5b61025f610674565b60405190815260200160405180910390f35b341561027c57600080fd5b61014d61067a565b341561028f57600080fd5b61014d6106e5565b34156102a257600080fd5b61025f610750565b34156102b557600080fd5b61011e610756565b34156102c857600080fd5b61021160046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052818152929190602084018383808284375094965061076595505050505050565b341561039d57600080fd5b61011e610913565b34156103b057600080fd5b6103b8610922565b604051808260048111156103c857fe5b60ff16815260200191505060405180910390f35b34156103e757600080fd5b61025f61092b565b34156103fa57600080fd5b61014d610931565b341561040d57600080fd5b61011e61099c565b600454600160a060020a031681565b60078054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156104ba5780601f1061048f576101008083540402835291602001916104ba565b820191906000526020600020905b81548152906001019060200180831161049d57829003601f168201915b505050505081565b60045460009033600160a060020a039081169116146104e057600080fd5b600260005460ff1660048111156104f357fe5b146104fd57600080fd5b6000805460ff191660011790557f06c42818c4ab74dff6aec55942f601c2e9b7f2aa4321ee71690b125eacfe465460405160405180910390a15060015b90565b60045460009033600160a060020a0390811691161461055b57600080fd5b600160005460ff16600481111561056e57fe5b1461057857600080fd5b6000805460ff191660021790557f2b0cab0be6d82b2661b3b789c540ec9c7223aac635ac8e59a1e71e1137f2dd7760405160405180910390a150600190565b600e5433600160a060020a039081169116146105d257600080fd5b600160005460ff1660048111156105e557fe5b14806106015750600260005460ff1660048111156105ff57fe5b145b151561060c57600080fd5b6000805460ff191660031790557f1938697ee29e363ecda49e464c6d2aae25f0974bd1f2c81a91c21e13ad8dbf7760405160405180910390a1565b600554600160a060020a031681565b600254600160a060020a031681565b600354600160a060020a031681565b60065481565b600d8054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156104ba5780601f1061048f576101008083540402835291602001916104ba565b600b8054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156104ba5780601f1061048f576101008083540402835291602001916104ba565b600a5481565b600e54600160a060020a031681565b600e5433600160a060020a0390811691161461078057600080fd5b600260005460ff16600481111561079357fe5b1461079d57600080fd5b6000805460ff19166004179055600b8380516107bd9291602001906109ab565b50600c8280516107d19291602001906109ab565b50600d8180516107e59291602001906109ab565b508282826040518084805190602001908083835b602083106108185780518252601f1990920191602091820191016107f9565b6001836020036101000a038019825116818451161790925250505091909101905083805190602001908083835b602083106108645780518252601f199092019160209182019101610845565b6001836020036101000a038019825116818451161790925250505091909101905082805190602001908083835b602083106108b05780518252601f199092019160209182019101610891565b6001836020036101000a03801982511681845116179092525050509190910194506040935050505051908190039020600a557f777f59509d985349c80271b657d2649b218bc6f075a4625821b64448cc235b8660405160405180910390a1505050565b600854600160a060020a031681565b60005460ff1681565b60015481565b600c8054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156104ba5780601f1061048f576101008083540402835291602001916104ba565b600954600160a060020a031681565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106109ec57805160ff1916838001178555610a19565b82800160010185558215610a19579182015b82811115610a195782518255916020019190600101906109fe565b50610a25929150610a29565b5090565b61053a91905b80821115610a255760008155600101610a2f5600a165627a7a72305820aab9d309bae837f3417f3dc81c0f650543365c210e440786b5dfc09f1981eba70029a165627a7a723058208b35e6ede3f96a784d6f976885ab01319f919cd17a134bcc7123f62ab2cd8ec00029", - "sourceMap": "281:17080:6:-;;;2896:69;;;;;;;;2929:19;:32;;-1:-1:-1;;;;;;2929:32:6;2951:10;-1:-1:-1;;;;;2929:32:6;;;;281:17080;;;-1:-1:-1;281:17080:6;;", - "deployedSourceMap": "281:17080:6:-;;;;;;;;;-1:-1:-1;;;281:17080:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3522:137;;;;;;;;;;-1:-1:-1;;;;;3522:137:6;;;;;;;14852:448;;;;;;;;;;-1:-1:-1;;;;;14852:448:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1499:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13056:254;;;;;;;;;;-1:-1:-1;;;;;13056:254:6;;;;;11323:190;;;;;;;;;;;;;;;;;;;;;;;;;;;;;603:27;;;;;;;;;;;;;;;-1:-1:-1;;;;;603:27:6;;;;;;;;;;;;;;3684:616;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3684:616:6;;-1:-1:-1;;3684:616:6;;;-1:-1:-1;3684:616:6;;-1:-1:-1;;;3684:616:6;16082:239;;;;;;;;;;;;;;11516:130;;;;;;;;;;;;;;6310:106;;;;;;;;;;-1:-1:-1;;;;;6310:106:6;;;;;5132:366;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;455:56;;;;;;;;;;;;5534:773;;;;;;;;;;;;;;-1:-1:-1;;;;;5534:773:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16323:159;;;;;;;;;;-1:-1:-1;;;;;16323:159:6;;;;;4303:526;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1452:44;;;;;;;;;;-1:-1:-1;;;;;1452:44:6;;;;;14619:231;;;;;;;;;;-1:-1:-1;;;;;14619:231:6;;;;;;;;;;;;667:34;;;;;;;;;;;;514:54;;;;;;;;;;;;398;;;;;;;;;;;;13313:241;;;;;;;;;;-1:-1:-1;;;;;13313:241:6;;;;;14390:227;;;;;;;;;;-1:-1:-1;;;;;14390:227:6;;;;;;;;;;;;7306:1561;;;;;;;;;;-1:-1:-1;;;;;7306:1561:6;;;;;12169:116;;;;;;;;;;-1:-1:-1;;;;;12169:116:6;;;;;15302:483;;;;;;;;;;-1:-1:-1;;;;;15302:483:6;;;;;;;;;;;;;;;;936:62;;;;;;;;;;;;732:30;;;;;;;;;;;;14079:145;;;;;;;;;;-1:-1:-1;;;;;14079:145:6;;;;;;;380:14;;;;;;;;;;;;12322:731;;;;;;;;;;-1:-1:-1;;;;;12322:731:6;;;;;15824:256;;;;;;;;;;;;;;8870:2430;;;;;;;;;;;;;-1:-1:-1;;;;;8870:2430:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8870:2430:6;;-1:-1:-1;8870:2430:6;;-1:-1:-1;;;;;;8870:2430:6;1001:64;;;;;;;;;;;;14226:150;;;;;;;;;;-1:-1:-1;;;;;14226:150:6;;;;;;;633:31;;;;;;;;;;;;1181:54;;;;;;;;;;-1:-1:-1;;;;;1181:54:6;;;;;1275:48;;;;;;;;;;-1:-1:-1;;;;;1275:48:6;;;;;2968:551;;;;;;;;;;-1:-1:-1;;;;;2968:551:6;;;;;;;;;;;;;;;;;;;;;;;;;876:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;876:57:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;876:57:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11649:330;;;;;;;;;;;;;;11982:184;;;;;;;;;;-1:-1:-1;;;;;11982:184:6;;;;;;;;-1:-1:-1;;;;;11982:184:6;;;;;;;;;;;;;;;;;;;;4832:297;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3522:137;1128:19;;1114:10;-1:-1:-1;;;;;1114:33:6;;;1128:19;;1114:33;1106:42;;;;;;3615:19;:40;;-1:-1:-1;;3615:40:6;-1:-1:-1;;;;;3615:40:6;;;;;;;;;;3522:137::o;14852:448::-;-1:-1:-1;;;;;1382:23:6;;14984:4;1382:23;;;:16;:23;;;;;;14968:5;;1382:23;;1374:32;;;;;;;;15038:10;-1:-1:-1;;;;;15003:45:6;15013:5;-1:-1:-1;;;;;15003:29:6;;:31;;;;;-1:-1:-1;;;15003:31:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15003:45:6;;14995:54;;;;;;;;15061:24;15068:7;15077;15061:6;:24::i;:::-;15053:33;;;;;;;;15094:11;15090:192;;;15146:21;:29;:36;;15180:1;15146:36;:33;:36;:::i;:::-;15114:21;:68;-1:-1:-1;;;;;15207:17:6;;15114:29;15207:17;;;:8;:17;;;;;;:24;;15229:1;15207:24;:21;:24;:::i;:::-;-1:-1:-1;;;;;15187:17:6;;;;;;:8;:17;;;;;;;:44;;;;:17;15241:36;;15262:5;;15241:36;-1:-1:-1;;;;;15241:36:6;;;;;;;;;;;;;;15090:192;-1:-1:-1;15292:4:6;;14852:448;-1:-1:-1;;;;;14852:448:6:o;1499:57::-;;;;;;:::o;13056:254::-;13117:17;13177:33;13190:10;13202:7;13177:12;:33::i;:::-;13169:42;;;;;;;;13271:10;-1:-1:-1;;;;;13246:45:6;;13283:7;13246:45;;-1:-1:-1;;;;;13246:45:6;;;;;;;;;;;;;;-1:-1:-1;13302:4:6;13056:254;;;:::o;11323:190::-;11397:24;11436;11453:6;11436:16;:24::i;:::-;11428:33;;;;;;;;-1:-1:-1;11472:20:6;;;;:12;:20;;;;;:37;;;;11323:190::o;603:27::-;;;-1:-1:-1;;;;;603:27:6;;:::o;3684:616::-;1128:19;;3818:13;;;;1114:10;-1:-1:-1;;;;;1114:33:6;;;1128:19;;1114:33;1106:42;;;;;;3875:17;;:24;;3897:1;3875:24;:21;:24;:::i;:::-;3838:17;:61;;;3940:31;;;;:12;:31;;;;;3975:54;;;3940:31;-1:-1:-1;4033:13:6;;;4070:5;;4033:42;;;;;;;;:::i;:::-;-1:-1:-1;4079:20:6;;;4116:12;;4079:49;;;;;;;;:::i;:::-;-1:-1:-1;4132:25:6;;;:54;;;4210:17;;4195:73;;4229:5;4236:12;4169:17;4195:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;4195:73:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;4195:73:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4279:17:6;;;3684:616;-1:-1:-1;;;3684:616:6:o;16082:239::-;-1:-1:-1;;;;;16188:10:6;16177:22;16135:4;16177:22;;;:10;:22;;;;;:28;:41;;16210:7;16177:41;:32;:41;:::i;:::-;16157:10;-1:-1:-1;;;;;16146:22:6;;;;;;;:10;:22;;;;;;:72;;;;16230:3;;;:12;;16157:10;16255:7;;16230:33;-1:-1:-1;;;16230:33:6;;;;;;-1:-1:-1;;;;;16230:33:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16222:42;;;;;;;;16273:29;16282:10;16294:7;16273:29;;-1:-1:-1;;;;;16273:29:6;;;;;;;;;;;;;;;;;;;;-1:-1:-1;16313:4:6;16082:239;;;:::o;11516:130::-;11580:18;11612:20;;;:12;:20;;;;;:26;:30;;11516:130::o;6310:106::-;-1:-1:-1;;;;;6389:23:6;6371:4;6389:23;;;:16;:23;;;;;;;;;6310:106::o;5132:366::-;5300:10;;5250:22;;;;-1:-1:-1;;;;;5300:10:6;:24;5329:12;;5346:13;5364:14;;5300:83;;;;;-1:-1:-1;;;5300:83:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5300:83:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5279:104;;5417:10;-1:-1:-1;;;;;5392:81:6;5406:9;-1:-1:-1;;;;;5392:81:6;;5429:12;;5443:13;5458:14;;5392:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5392:81:6;;;;;;;;;;;;;;;;;;;;;;;;;;;5484:10;5132:366;-1:-1:-1;;;;;;5132:366:6:o;455:56::-;507:4;455:56;:::o;5534:773::-;5785:11;;5729:7;;5763:10;;5729:7;;;;-1:-1:-1;;;;;5785:11:6;:33;5819:15;5763:10;5847:11;5785:74;;-1:-1:-1;;;5785:74:6;;;;;;;;;;;;;-1:-1:-1;;;;;5785:74:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5777:83;;;;;;;;5884:57;5902:9;5913:11;5926:4;5932:8;5884:17;:57::i;:::-;5865:76;;5986:15;6006:9;6020:4;6029:8;6042:11;6058:8;6071:7;;6083:9;6097:12;5968:145;;:::i;:::-;;;;-1:-1:-1;;;;;5968:145:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6118:27:6;;;;;;;:16;:27;;;;;;;:34;;-1:-1:-1;;6118:34:6;6148:4;6118:34;;;5946:167;;-1:-1:-1;6165:37:6;;;;;5946:167;;6214:15;;6165:65;-1:-1:-1;;;6165:65:6;;;;;;-1:-1:-1;;;;;6165:65:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6157:74;;;;;;;;6271:11;-1:-1:-1;;;;;6241:42:6;;6260:9;6241:42;;-1:-1:-1;;;;;6241:42:6;;;;;;;;;;;;;;6294:9;5534:773;-1:-1:-1;;;;;;;;;;;5534:773:6:o;16323:159::-;-1:-1:-1;;;;;16426:18:6;16382:13;16426:18;;;:10;:18;;;;;:24;;16452:25;;;;;16426:24;;16323:159::o;4303:526::-;4555:13;;4720:11;;4499:25;;;;-1:-1:-1;;;;;4555:13:6;;;;:30;;4590:12;;;;4607:28;;4640:31;;4676;;4720:11;4555:181;;;;;-1:-1:-1;;;4555:181:6;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4555:181:6;-1:-1:-1;;;;;4555:181:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4531:205;;4773:13;-1:-1:-1;;;;;4745:56:6;4762:9;-1:-1:-1;;;;;4745:56:6;;4788:12;;4745:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4812:13;4303:526;-1:-1:-1;;;;;;4303:526:6:o;1452:44::-;;;;;;;;;;;;;:::o;14619:231::-;-1:-1:-1;;;;;1382:23:6;;14731:4;1382:23;;;:16;:23;;;;;;14715:5;;1382:23;;1374:32;;;;;;;;14785:10;-1:-1:-1;;;;;14750:45:6;14760:5;-1:-1:-1;;;;;14750:29:6;;:31;;;;;-1:-1:-1;;;14750:31:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;14750:45:6;;14742:54;;;;;;;;14808:22;14815:5;14822:7;14808:6;:22::i;:::-;14800:31;;;;;;;;-1:-1:-1;14842:4:6;;14619:231;-1:-1:-1;;;;14619:231:6:o;667:34::-;;;-1:-1:-1;;;;;667:34:6;;:::o;514:54::-;566:2;514:54;:::o;398:::-;450:2;398:54;:::o;13313:241::-;13367:17;13427:33;13440:10;13452:7;13427:12;:33::i;:::-;13419:42;;;;;;;;13515:10;-1:-1:-1;;;;;13496:39:6;;13527:7;13496:39;;-1:-1:-1;;;;;13496:39:6;;;;;;;;;;;;;;-1:-1:-1;13546:4:6;13313:241;;;:::o;14390:227::-;-1:-1:-1;;;;;1382:23:6;;14500:4;1382:23;;;:16;:23;;;;;;14484:5;;1382:23;;1374:32;;;;;;;;14554:10;-1:-1:-1;;;;;14519:45:6;14529:5;-1:-1:-1;;;;;14519:29:6;;:31;;;;;-1:-1:-1;;;14519:31:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;14519:45:6;;14511:54;;;;;;;;14577:20;14582:5;14589:7;14577:4;:20::i;7306:1561::-;-1:-1:-1;;;;;1382:23:6;;7394:4;1382:23;;;:16;:23;;;;;;7394:4;;;;;;;;;;;;7378:5;;1382:23;;1374:32;;;;;;;;7439:5;7405:40;;7484:10;-1:-1:-1;;;;;7457:37:6;:9;-1:-1:-1;;;;;7457:21:6;;:23;;;;;-1:-1:-1;;;7457:23:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7457:37:6;;7449:46;;;;;;;;7534:9;-1:-1:-1;;;;;7534:22:6;;:24;;;;;-1:-1:-1;;;7534:24:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;7609:18:6;;;:20;;;;;-1:-1:-1;;;7609:20:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7658:35:6;;-1:-1:-1;7641:13:6;:52;;;;;;;;;:111;;;-1:-1:-1;7714:38:6;7697:13;:55;;;;;;;;;7641:111;7633:120;;;;;;;;7800:10;-1:-1:-1;;;;;7800:31:6;;7832:5;7800:38;;-1:-1:-1;;;7800:38:6;;;;;;-1:-1:-1;;;;;7800:38:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7792:47;;;;;;;;7843:9;-1:-1:-1;;;;;7843:15:6;;:17;;;;;-1:-1:-1;;;7843:17:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;8210:11:6;;-1:-1:-1;;;;;8210:11:6;;;;-1:-1:-1;8210:26:6;;8237;;;:28;;;;;-1:-1:-1;;;8237:28:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8210:56;;-1:-1:-1;;;8210:56:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8342:11;;8178:88;;-1:-1:-1;8210:56:6;-1:-1:-1;8325:47:6;;-1:-1:-1;;;;;;;8342:11:6;;;;-1:-1:-1;8342:27:6;;-1:-1:-1;8342:29:6;;-1:-1:-1;;;8342:29:6;;;;-1:-1:-1;;;8342:29:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8325:5;;-1:-1:-1;8325:47:6;:16;:47;:::i;:::-;8299:73;;8385:67;8393:9;-1:-1:-1;;;;;8393:21:6;;:23;;;;;-1:-1:-1;;;8393:23:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8418:33;8428:9;-1:-1:-1;;;;;8428:20:6;;:22;;;;;-1:-1:-1;;;8428:22:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8418:5;;-1:-1:-1;8418:33:6;:9;:33;:::i;:::-;8385:6;:67::i;:::-;8377:76;;;;;;;;8503:49;8511:15;8536;8503:5;:49::i;:::-;8495:58;;;;;;;;8676:49;8684:4;8709:15;8676:6;:49::i;:::-;8668:58;;;;;;;;8738:49;8746:4;8771:15;8738:4;:49::i;:::-;8730:58;;;;;;;;8799:49;8816:5;8823:9;-1:-1:-1;;;;;8823:22:6;;:24;;;;;-1:-1:-1;;;8823:24:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8799:49;;-1:-1:-1;;;;;8799:49:6;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8859:4:6;;7306:1561;-1:-1:-1;;;;;;;;7306:1561:6:o;12169:116::-;-1:-1:-1;;;;;12264:17:6;12231:19;12264:17;;;:8;:17;;;;;;;12169:116::o;15302:483::-;-1:-1:-1;;;;;1382:23:6;;15433:4;1382:23;;;:16;:23;;;;;;15417:5;;1382:23;;1374:32;;;;;;;;15487:10;-1:-1:-1;;;;;15452:45:6;15462:5;-1:-1:-1;;;;;15452:29:6;;:31;;;;;-1:-1:-1;;;15452:31:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15452:45:6;;15444:54;;;;;;;;15510:23;15516:7;15525;15510:5;:23::i;:::-;15502:32;;;;;;;;15542:11;15538:229;;;15593:28;;:35;;15626:1;15593:35;:32;:35;:::i;:::-;15562:28;:66;-1:-1:-1;;;;;15675:17:6;;;;;;:8;:17;;;;;;15653:65;;15675:42;;566:2;15675:42;:21;:42;:::i;:::-;-1:-1:-1;;;;;15653:17:6;;;;;;:8;:17;;;;;;;:65;:21;:65;:::i;:::-;-1:-1:-1;;;;;15633:17:6;;;;;;:8;:17;;;;;;;:85;;;;:17;15728:34;;15747:5;;15728:34;-1:-1:-1;;;;;15728:34:6;;;;;;;;;;;;;;-1:-1:-1;15777:4:6;;15302:483;-1:-1:-1;;;;;15302:483:6:o;936:62::-;;;;:::o;732:30::-;;;-1:-1:-1;;;;;732:30:6;;:::o;14079:145::-;827:11;;14165:4;;805:10;-1:-1:-1;;;;;805:34:6;;;827:11;;805:34;797:43;;;;;;14184:20;14189:5;14196:7;14184:4;:20::i;:::-;14176:29;;;;;;;;-1:-1:-1;14216:4:6;14079:145;;;;:::o;380:14::-;;;-1:-1:-1;;;;;380:14:6;;:::o;12322:731::-;12510:13;;12379:15;;12464:10;;-1:-1:-1;;;;;12510:13:6;:36;12464:10;12510:48;;-1:-1:-1;;;12510:48:6;;;;;;-1:-1:-1;;;;;12510:48:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12502:57;;;;;;;;12596;12601:7;12610:10;-1:-1:-1;;;;;12610:40:6;;:42;;;;;-1:-1:-1;;;12610:42:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12596:4;:57::i;:::-;12588:66;;;;;;;;12726:10;-1:-1:-1;;;;;12726:43:6;;:45;;;;;-1:-1:-1;;;12726:45:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;12697:19:6;;;;;;:10;:19;;;;;:25;:74;;;-1:-1:-1;12689:83:6;;;;;;12813:10;-1:-1:-1;;;;;12813:43:6;;:45;;;;;-1:-1:-1;;;12813:45:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;12784:17:6;;;;;;:8;:17;;;;;;:74;;;-1:-1:-1;12776:83:6;;;;;;12895:13;;-1:-1:-1;;;;;12895:13:6;:39;12935:10;12947:7;12895:60;;-1:-1:-1;;;12895:60:6;;;;;;-1:-1:-1;;;;;12895:60:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12887:69;;;;;;;;13014:10;-1:-1:-1;;;;;12991:43:6;;13026:7;12991:43;;-1:-1:-1;;;;;12991:43:6;;;;;;;;;;;;;;-1:-1:-1;13045:4:6;;12322:731;-1:-1:-1;;12322:731:6:o;15824:256::-;15876:4;15895:3;;-1:-1:-1;;;;;15895:3:6;:16;15912:10;15932:4;15939:7;15895:52;;-1:-1:-1;;;15895:52:6;;;;;;-1:-1:-1;;;;;15895:52:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15887:61;;;;;;;;-1:-1:-1;;;;;15994:10:6;15983:22;;;;;:10;:22;;;;;:28;:41;;16016:7;15983:41;:32;:41;:::i;:::-;15963:10;-1:-1:-1;;;;;15952:22:6;;;;;;:10;:22;;;;;;;:72;;;;16033:28;;16053:7;;16033:28;-1:-1:-1;;;;;16033:28:6;;;;;;;;;;;;;;;;;;;;-1:-1:-1;16072:4:6;15824:256;;;:::o;8870:2430::-;-1:-1:-1;;;;;1382:23:6;;9012:4;1382:23;;;:16;:23;;;;;;9012:4;;;;;;;;;;;;;;;;8996:5;;1382:23;;1374:32;;;;;;;;9055:5;9023:38;;9101:10;-1:-1:-1;;;;;9073:38:6;:9;-1:-1:-1;;;;;9073:22:6;;:24;;;;;-1:-1:-1;;;9073:24:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9073:38:6;;9065:47;;;;;;;;9152:38;9124:9;-1:-1:-1;;;;;9124:18:6;;:20;;;;;-1:-1:-1;;;9124:20:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:66;;;;;;;;;9116:75;;;;;;9228:9;-1:-1:-1;;;;;9228:15:6;;:17;;;;;-1:-1:-1;;;9228:17:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;9269:14:6;;;:16;;;;;-1:-1:-1;;;9269:16:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;9304:1:6;9293:12;;9289:70;;;9322:31;9329:3;-1:-1:-1;;;;;9329:11:6;;:13;;;;;-1:-1:-1;;;9329:13:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9344:8;9322:6;:31::i;:::-;9314:40;;;;;;;;9402:9;-1:-1:-1;;;;;9402:19:6;;:21;;;;;-1:-1:-1;;;9402:21:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;9432:21:6;;;9428:175;;9485:7;-1:-1:-1;;;;;9485:22:6;;:24;;;;;-1:-1:-1;;;9485:24:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;9533:1:6;9518:16;;9514:85;;;9553:39;9560:7;-1:-1:-1;;;;;9560:15:6;;:17;;;;;-1:-1:-1;;;9560:17:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9579:12;9553:6;:39::i;:::-;9545:48;;;;;;;;10148:11;;-1:-1:-1;;;;;10148:11:6;;;;:26;;10175;;;:28;;;;;-1:-1:-1;;;10175:28:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10148:56;;-1:-1:-1;;;10148:56:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10286:11;;10116:88;;-1:-1:-1;10148:56:6;-1:-1:-1;10269:47:6;;-1:-1:-1;;;;;;;10286:11:6;;;;-1:-1:-1;10286:27:6;;-1:-1:-1;10286:29:6;;-1:-1:-1;;;10286:29:6;;;;-1:-1:-1;;;10286:29:6;;;;;;;;;;;;;;;;;;;;;;;10269:47;10237:79;;10329:66;10336:9;-1:-1:-1;;;;;10336:21:6;;:23;;;;;-1:-1:-1;;;10336:23:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10361:33;10371:9;-1:-1:-1;;;;;10371:20:6;;:22;;;;;-1:-1:-1;;;10371:22:6;;;;;;;;;;;;;;;;;;;;;;;10361:33;10329:5;:66::i;:::-;10321:75;;;;;;;;10461:48;10468:15;10493;10461:6;:48::i;:::-;10453:57;;;;;;;;10560:9;-1:-1:-1;;;;;10560:19:6;;10580:7;10589;10598:4;10560:43;;;;;-1:-1:-1;;;10560:43:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;10560:43:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;10560:43:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;10560:43:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;10970:4:6;10959:16;;;;;:10;:16;;;;;:23;;;;-1:-1:-1;11025:9:6;;11022:199;;;11051:77;11061:66;507:4;11061:35;:5;450:2;11061:35;:16;:35;:::i;:::-;:39;:66;:39;:66;:::i;:::-;11051:5;;:77;:9;:77;:::i;:::-;11043:85;;11141:30;11147:4;11165:5;11141;:30::i;:::-;11133:39;;;;;;;;11185:30;11192:15;11209:5;11185:6;:30::i;:::-;11177:39;;;;;;;;11230:51;11249:5;11256:9;-1:-1:-1;;;;;11256:22:6;;:24;;;;;-1:-1:-1;;;11256:24:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11230:51;;-1:-1:-1;;;;;11230:51:6;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;11292:4:6;;8870:2430;-1:-1:-1;;;;;;;;;;;;;8870:2430:6:o;1001:64::-;;;-1:-1:-1;;;;;1001:64:6;;:::o;14226:150::-;827:11;;14315:4;;805:10;-1:-1:-1;;;;;805:34:6;;;827:11;;805:34;797:43;;;;;;14334:22;14341:5;14348:7;14334:6;:22::i;633:31::-;;;-1:-1:-1;;;;;633:31:6;;:::o;1181:54::-;;;;;;;;;;;;;;;;;;;:::o;1275:48::-;;;;;;;;;;;;;;;:::o;2968:551::-;1128:19;;1114:10;-1:-1:-1;;;;;1114:33:6;;;1128:19;;1114:33;1106:42;;;;;;3206:1;3190:3;-1:-1:-1;;;;;3190:3:6;3182:26;3174:35;;;;;;3213:3;:57;;-1:-1:-1;;3213:57:6;;;-1:-1:-1;;;;;3213:57:6;;;;;;;3274:11;:57;;;;;;;;;;;;;;3335:13;:57;;;;;;;;;;;;;;-1:-1:-1;3396:57:6;;;;;;;;;;;;;-1:-1:-1;3457:57:6;;;;;;;;;;;;;2968:551::o;876:57::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;11649:330::-;11707:13;11722:11;;:::i;:::-;11735:19;;:::i;:::-;11756:24;11795;11812:6;11795:16;:24::i;:::-;11787:33;;;;;;;;11836:20;;;;:12;:20;;;;;;;;;:26;;11934:37;;;;11867:25;;;;11824:151;;11836:26;;11867:25;;11897:32;;;;;11934:37;;11867:25;;11824:151;;;;;;-1:-1:-1;;11824:151:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11649:330;;;;;:::o;11982:184::-;12099:13;;12045:18;;;;-1:-1:-1;;;;;12099:13:6;:34;12134:7;12099:43;;-1:-1:-1;;;12099:43:6;;;;;;-1:-1:-1;;;;;12099:43:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;12144:17:6;;;;;;;;:8;:17;;;;;;12099:43;;11982:184;-1:-1:-1;;;11982:184:6:o;4832:297::-;4976:6;;4934:18;;;;-1:-1:-1;;;;;4976:6:6;:16;4997:8;;5010:9;5024:10;;4976:62;;;;;-1:-1:-1;;;4976:62:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4976:62:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4959:79;;5068:6;-1:-1:-1;;;;;5047:61:6;5057:9;-1:-1:-1;;;;;5047:61:6;;5076:8;;5086:9;5097:10;;5047:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5047:61:6;;;;;;;;;;;;;;;;;;;;;;;;;;;5119:6;4832:297;-1:-1:-1;;;;;;4832:297:6:o;16523:189::-;-1:-1:-1;;;;;16626:17:6;;16589:4;16626:17;;;:10;:17;;;;;:23;:36;;16654:7;16626:36;:27;:36;:::i;:::-;-1:-1:-1;;;;;16600:17:6;;;;;;:10;:17;;;;;;;:62;;;;16671:22;;16611:5;;16685:7;;16671:22;-1:-1:-1;;;;;16671:22:6;;;;;;;;;;;;;;;;;;;;-1:-1:-1;16704:4:6;16523:189;;;;:::o;405:123:15:-;463:7;489:5;;;505:6;;;;498:14;;;;523:1;516:8;;405:123;;;;;;:::o;13557:450:6:-;13741:13;;13635:17;;13694:11;;-1:-1:-1;;;;;13741:13:6;:36;13694:11;13741:49;;-1:-1:-1;;;13741:49:6;;;;;;-1:-1:-1;;;;;13741:49:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13733:58;;;;;;;;13828:59;13835:7;13844:10;-1:-1:-1;;;;;13844:40:6;;:42;;;;;-1:-1:-1;;;13844:42:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13828:6;:59::i;:::-;13820:68;;;;;;;;13924:13;;-1:-1:-1;;;;;13924:13:6;:41;13966:11;13979:7;13924:63;;-1:-1:-1;;;13924:63:6;;;;;;-1:-1:-1;;;;;13924:63:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13916:72;;;;;;;;-1:-1:-1;13999:4:6;;13557:450;-1:-1:-1;;;13557:450:6:o;531:106:15:-;589:7;610:6;;;;603:14;;;;-1:-1:-1;628:5:15;;;531:106::o;6419:848:6:-;6701:6;;6647:7;;6684:4;;6647:7;;;;-1:-1:-1;;;;;6701:6:6;:22;6684:4;6701:29;;-1:-1:-1;;;6701:29:6;;;;;;-1:-1:-1;;;;;6701:29:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6693:38;;;;;;;;6795:3;-1:-1:-1;;;;;6795:14:6;;:16;;;;;-1:-1:-1;;;6795:16:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;6833:22:6;;;6829:256;;-1:-1:-1;6941:10:6;;6919:8;;-1:-1:-1;;;;;6941:10:6;:29;6919:8;6941:39;;-1:-1:-1;;;6941:39:6;;;;;;-1:-1:-1;;;;;6941:39:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6933:48;;;;;;;;7042:38;7055:7;-1:-1:-1;;;;;7055:22:6;;:24;;;;;-1:-1:-1;;;7055:24:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7042:8;;-1:-1:-1;7042:38:6;:12;:38;:::i;:::-;7031:49;;6829:256;7113:13;;-1:-1:-1;;;;;7113:13:6;:36;7150:11;7113:49;;-1:-1:-1;;;7113:49:6;;;;;;-1:-1:-1;;;;;7113:49:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7105:58;;;;;;;;7176:26;7181:10;7193:8;7176:4;:26::i;:::-;7168:35;;;;;;;;-1:-1:-1;7255:8:6;6419:848;-1:-1:-1;;;;;;6419:848:6:o;17132:227::-;-1:-1:-1;;;;;17236:17:6;;17198:4;17236:17;;;:10;:17;;;;;:24;;;:37;;17265:7;17236:37;:28;:37;:::i;:::-;-1:-1:-1;;;;;17209:17:6;;;;;;:10;:17;;;;;:24;;;:64;;;;17304:23;:36;;17332:7;17304:36;:27;:36;:::i;:::-;-1:-1:-1;;;;;17277:17:6;;;;;;:10;:17;;;;;:63;-1:-1:-1;17351:4:6;17132:227;;;;:::o;16905:225::-;-1:-1:-1;;;;;17007:17:6;;16969:4;17007:17;;;:10;:17;;;;;:23;:36;;17035:7;17007:36;:27;:36;:::i;:::-;-1:-1:-1;;;;;16980:17:6;;;;;;:10;:17;;;;;:63;;;17074:24;;;:37;;17103:7;17074:37;:28;:37;:::i;:::-;-1:-1:-1;;;;;17047:17:6;;;;;;:10;:17;;;;;:24;;;;:64;;;;:24;-1:-1:-1;16905:225:6;;;;:::o;1388:114:15:-;1453:7;1474:24;1488:1;1491;1494:3;1474:13;:24::i;:::-;1467:31;1388:114;-1:-1:-1;;;1388:114:15:o;16714:189:6:-;-1:-1:-1;;;;;16817:17:6;;16779:4;16817:17;;;:10;:17;;;;;:24;;;:37;;16846:7;16817:37;:28;:37;:::i;:::-;-1:-1:-1;;;;;16790:17:6;;;;;;:10;:17;;;;;;;:24;;:64;;;;16863:21;;16801:5;;16876:7;;16863:21;-1:-1:-1;;;;;16863:21:6;;;;;;;;;;;;;;;;;;;;-1:-1:-1;16895:4:6;16714:189;;;;:::o;1165:96:15:-;1223:7;1248:1;1244;:5;:13;;1256:1;1244:13;;;-1:-1:-1;1252:1:15;;1165:96;-1:-1:-1;1165:96:15:o;1065:97::-;1123:7;1149:1;1144;:6;;:14;;1157:1;1144:14;;1264:121;1343:7;1364:17;1368:9;1372:1;1375;1368:3;:9::i;:::-;1379:1;1364:3;:17::i;:::-;1357:24;1264:121;-1:-1:-1;;;;1264:121:15:o;640:162::-;698:7;;716:6;;712:32;;;738:1;731:8;;;;712:32;-1:-1:-1;759:5:15;;;763:1;759;:5;775;;;;;;;;:10;768:18;;;805:257;863:7;949:9;965:1;961;:5;;;;;;;;;805:257;-1:-1:-1;;;;805:257:15:o;281:17080:6:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;281:17080:6;;;-1:-1:-1;281:17080:6;:::i;:::-;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o", - "source": "pragma solidity ^0.4.21;\n\nimport \"rlc-token/contracts/RLC.sol\";\n\nimport './WorkOrder.sol';\nimport './Marketplace.sol';\nimport './AppHub.sol';\nimport './DatasetHub.sol';\nimport './WorkerPoolHub.sol';\nimport \"./SafeMathOZ.sol\";\nimport './IexecLib.sol';\n\n\n/**\n * @title IexecHub\n */\n\ncontract IexecHub\n{\n\tusing SafeMathOZ for uint256;\n\n\t/**\n\t* RLC contract for token transfers.\n\t*/\n\tRLC public rlc;\n\n\tuint256 public constant STAKE_BONUS_RATIO = 10;\n\tuint256 public constant STAKE_BONUS_MIN_THRESHOLD = 1000;\n\tuint256 public constant SCORE_UNITARY_SLASH = 50;\n\n\t/**\n\t * Slaves contracts\n\t */\n\tAppHub public appHub;\n\tDatasetHub public datasetHub;\n\tWorkerPoolHub public workerPoolHub;\n\n\t/**\n\t * Market place\n\t */\n\tMarketplace public marketplace;\n\tmodifier onlyMarketplace()\n\t{\n\t\trequire(msg.sender == address(marketplace));\n\t\t_;\n\t}\n\t/**\n\t * Categories\n\t */\n\tmapping(uint256 => IexecLib.Category) public m_categories;\n\tuint256 public m_categoriesCount;\n\taddress public m_categoriesCreator;\n\tmodifier onlyCategoriesCreator()\n\t{\n\t\trequire(msg.sender == m_categoriesCreator);\n\t\t_;\n\t}\n\n\t/**\n\t * Escrow\n\t */\n\tmapping(address => IexecLib.Account) public m_accounts;\n\n\n\t/**\n\t * workOrder Registered\n\t */\n\tmapping(address => bool) public m_woidRegistered;\n\tmodifier onlyRegisteredWoid(address _woid)\n\t{\n\t\trequire(m_woidRegistered[_woid]);\n\t\t_;\n\t}\n\n\t/**\n\t * Reputation for PoCo\n\t */\n\tmapping(address => uint256) public m_scores;\n\tIexecLib.ContributionHistory public m_contributionHistory;\n\n\n\tevent WorkOrderActivated(address woid, address indexed workerPool);\n\tevent WorkOrderClaimed (address woid, address workerPool);\n\tevent WorkOrderCompleted(address woid, address workerPool);\n\n\tevent CreateApp (address indexed appOwner, address indexed app, string appName, uint256 appPrice, string appParams );\n\tevent CreateDataset (address indexed datasetOwner, address indexed dataset, string datasetName, uint256 datasetPrice, string datasetParams);\n\tevent CreateWorkerPool(address indexed workerPoolOwner, address indexed workerPool, string workerPoolDescription );\n\n\tevent CreateCategory (uint256 catid, string name, string description, uint256 workClockTimeRef);\n\n\tevent WorkerPoolSubscription (address indexed workerPool, address worker);\n\tevent WorkerPoolUnsubscription(address indexed workerPool, address worker);\n\tevent WorkerPoolEviction (address indexed workerPool, address worker);\n\n\tevent AccurateContribution(address woid, address indexed worker);\n\tevent FaultyContribution (address woid, address indexed worker);\n\n\tevent Deposit (address owner, uint256 amount);\n\tevent Withdraw(address owner, uint256 amount);\n\tevent Reward (address user, uint256 amount);\n\tevent Seize (address user, uint256 amount);\n\n\t/**\n\t * Constructor\n\t */\n\tfunction IexecHub()\n\tpublic\n\t{\n\t\tm_categoriesCreator = msg.sender;\n\t}\n\n\tfunction attachContracts(\n\t\taddress _tokenAddress,\n\t\taddress _marketplaceAddress,\n\t\taddress _workerPoolHubAddress,\n\t\taddress _appHubAddress,\n\t\taddress _datasetHubAddress)\n\tpublic onlyCategoriesCreator\n\t{\n\t\trequire(address(rlc) == address(0));\n\t\trlc = RLC (_tokenAddress );\n\t\tmarketplace = Marketplace (_marketplaceAddress );\n\t\tworkerPoolHub = WorkerPoolHub(_workerPoolHubAddress);\n\t\tappHub = AppHub (_appHubAddress );\n\t\tdatasetHub = DatasetHub (_datasetHubAddress );\n\n\t}\n\n\tfunction setCategoriesCreator(address _categoriesCreator)\n\tpublic onlyCategoriesCreator\n\t{\n\t\tm_categoriesCreator = _categoriesCreator;\n\t}\n\t/**\n\t * Factory\n\t */\n\n\tfunction createCategory(\n\t\tstring _name,\n\t\tstring _description,\n\t\tuint256 _workClockTimeRef)\n\tpublic onlyCategoriesCreator returns (uint256 catid)\n\t{\n\t\tm_categoriesCount = m_categoriesCount.add(1);\n\t\tIexecLib.Category storage category = m_categories[m_categoriesCount];\n\t\tcategory.catid = m_categoriesCount;\n\t\tcategory.name = _name;\n\t\tcategory.description = _description;\n\t\tcategory.workClockTimeRef = _workClockTimeRef;\n\t\temit CreateCategory(m_categoriesCount, _name, _description, _workClockTimeRef);\n\t\treturn m_categoriesCount;\n\t}\n\n\tfunction createWorkerPool(\n\t\tstring _description,\n\t\tuint256 _subscriptionLockStakePolicy,\n\t\tuint256 _subscriptionMinimumStakePolicy,\n\t\tuint256 _subscriptionMinimumScorePolicy)\n\texternal returns (address createdWorkerPool)\n\t{\n\t\taddress newWorkerPool = workerPoolHub.createWorkerPool(\n\t\t\t_description,\n\t\t\t_subscriptionLockStakePolicy,\n\t\t\t_subscriptionMinimumStakePolicy,\n\t\t\t_subscriptionMinimumScorePolicy,\n\t\t\taddress(marketplace)\n\t\t);\n\t\temit CreateWorkerPool(tx.origin, newWorkerPool, _description);\n\t\treturn newWorkerPool;\n\t}\n\n\tfunction createApp(\n\t\tstring _appName,\n\t\tuint256 _appPrice,\n\t\tstring _appParams)\n\texternal returns (address createdApp)\n\t{\n\t\taddress newApp = appHub.createApp(\n\t\t\t_appName,\n\t\t\t_appPrice,\n\t\t\t_appParams\n\t\t);\n\t\temit CreateApp(tx.origin, newApp, _appName, _appPrice, _appParams);\n\t\treturn newApp;\n\t}\n\n\tfunction createDataset(\n\t\tstring _datasetName,\n\t\tuint256 _datasetPrice,\n\t\tstring _datasetParams)\n\texternal returns (address createdDataset)\n\t{\n\t\taddress newDataset = datasetHub.createDataset(\n\t\t\t_datasetName,\n\t\t\t_datasetPrice,\n\t\t\t_datasetParams\n\t\t\t);\n\t\temit CreateDataset(tx.origin, newDataset, _datasetName, _datasetPrice, _datasetParams);\n\t\treturn newDataset;\n\t}\n\n\t/**\n\t * WorkOrder Emission\n\t */\n\tfunction buyForWorkOrder(\n\t\tuint256 _marketorderIdx,\n\t\taddress _workerpool,\n\t\taddress _app,\n\t\taddress _dataset,\n\t\tstring _params,\n\t\taddress _callback,\n\t\taddress _beneficiary)\n\texternal returns (address)\n\t{\n\t\taddress requester = msg.sender;\n\t\trequire(marketplace.consumeMarketOrderAsk(_marketorderIdx, requester, _workerpool));\n\n\t\tuint256 emitcost = lockWorkOrderCost(requester, _workerpool, _app, _dataset);\n\n\t\tWorkOrder workorder = new WorkOrder(\n\t\t\t_marketorderIdx,\n\t\t\trequester,\n\t\t\t_app,\n\t\t\t_dataset,\n\t\t\t_workerpool,\n\t\t\temitcost,\n\t\t\t_params,\n\t\t\t_callback,\n\t\t\t_beneficiary\n\t\t);\n\n\t\tm_woidRegistered[workorder] = true;\n\n\t\trequire(WorkerPool(_workerpool).emitWorkOrder(workorder, _marketorderIdx));\n\n\t\temit WorkOrderActivated(workorder, _workerpool);\n\t\treturn workorder;\n\t}\n\n\tfunction isWoidRegistred(address _woid) public view returns (bool)\n\t{\n\t\treturn m_woidRegistered[_woid];\n\t}\n\n\tfunction lockWorkOrderCost(\n\t\taddress _requester,\n\t\taddress _workerpool, // Address of a smartcontract\n\t\taddress _app, // Address of a smartcontract\n\t\taddress _dataset) // Address of a smartcontract\n\tinternal returns (uint256)\n\t{\n\t\t// APP\n\t\tApp app = App(_app);\n\t\trequire(appHub.isAppRegistered (_app));\n\t\t// initialize usercost with dapp price\n\t\tuint256 emitcost = app.m_appPrice();\n\n\t\t// DATASET\n\t\tif (_dataset != address(0)) // address(0) → no dataset\n\t\t{\n\t\t\tDataset dataset = Dataset(_dataset);\n\t\t\trequire(datasetHub.isDatasetRegistred(_dataset));\n\t\t\t// add optional datasetPrice for userCost\n\t\t\temitcost = emitcost.add(dataset.m_datasetPrice());\n\t\t}\n\n\t\t// WORKERPOOL\n\t\trequire(workerPoolHub.isWorkerPoolRegistered(_workerpool));\n\n\t\trequire(lock(_requester, emitcost)); // Lock funds for app + dataset payment\n\n\t\treturn emitcost;\n\t}\n\n\t/**\n\t * WorkOrder life cycle\n\t */\n\n\tfunction claimFailedConsensus(address _woid)\n\tpublic onlyRegisteredWoid(_woid) returns (bool)\n\t{\n\t\tWorkOrder workorder = WorkOrder(_woid);\n\t\trequire(workorder.m_requester() == msg.sender);\n\t\tWorkerPool workerpool = WorkerPool(workorder.m_workerpool());\n\n\t\tIexecLib.WorkOrderStatusEnum currentStatus = workorder.m_status();\n\t\trequire(currentStatus == IexecLib.WorkOrderStatusEnum.ACTIVE || currentStatus == IexecLib.WorkOrderStatusEnum.REVEALING);\n\t\t// Unlock stakes for all workers\n\t\trequire(workerpool.claimFailedConsensus(_woid));\n\t\tworkorder.claim(); // revert on error\n\n\t\t/* uint256 value = marketplace.getMarketOrderValue(workorder.m_marketorderIdx()); // revert if not exist */\n\t\t/* address workerpoolOwner = marketplace.getMarketOrderWorkerpoolOwner(workorder.m_marketorderIdx()); // revert if not exist */\n\t\tuint256 value;\n\t\taddress workerpoolOwner;\n\t\t(,,,value,,,,workerpoolOwner) = marketplace.getMarketOrder(workorder.m_marketorderIdx()); // Single call cost less gas\n\t\tuint256 workerpoolStake = value.percentage(marketplace.ASK_STAKE_RATIO());\n\n\t\trequire(unlock (workorder.m_requester(), value.add(workorder.m_emitcost()))); // UNLOCK THE FUNDS FOR REINBURSEMENT\n\t\trequire(seize (workerpoolOwner, workerpoolStake));\n\t\t// put workerpoolOwner stake seize into iexecHub address for bonus for scheduler on next well finalized Task\n\t\trequire(reward (this, workerpoolStake));\n\t\trequire(lock (this, workerpoolStake));\n\n\n\t\temit WorkOrderClaimed(_woid, workorder.m_workerpool());\n\t\treturn true;\n\t}\n\n\tfunction finalizeWorkOrder(\n\t\taddress _woid,\n\t\tstring _stdout,\n\t\tstring _stderr,\n\t\tstring _uri)\n\tpublic onlyRegisteredWoid(_woid) returns (bool)\n\t{\n\t\tWorkOrder workorder = WorkOrder(_woid);\n\t\trequire(workorder.m_workerpool() == msg.sender);\n\t\trequire(workorder.m_status() == IexecLib.WorkOrderStatusEnum.REVEALING);\n\n\t\t// APP\n\t\tApp app = App(workorder.m_app());\n\t\tuint256 appPrice = app.m_appPrice();\n\t\tif (appPrice > 0)\n\t\t{\n\t\t\trequire(reward(app.m_owner(), appPrice));\n\t\t}\n\n\t\t// DATASET\n\t\tDataset dataset = Dataset(workorder.m_dataset());\n\t\tif (dataset != address(0))\n\t\t{\n\t\t\tuint256 datasetPrice = dataset.m_datasetPrice();\n\t\t\tif (datasetPrice > 0)\n\t\t\t{\n\t\t\t\trequire(reward(dataset.m_owner(), datasetPrice));\n\t\t\t}\n\t\t}\n\n\t\t// WORKERPOOL → rewarding done by the caller itself\n\n\t\t/**\n\t\t * seize stacked funds from requester.\n\t\t * reward = value: was locked at market making\n\t\t * emitcost: was locked at when emiting the workorder\n\t\t */\n\t\t/* uint256 value = marketplace.getMarketOrderValue(workorder.m_marketorderIdx()); // revert if not exist */\n\t\t/* address workerpoolOwner = marketplace.getMarketOrderWorkerpoolOwner(workorder.m_marketorderIdx()); // revert if not exist */\n\t\tuint256 value;\n\t\taddress workerpoolOwner;\n\t\t(,,,value,,,,workerpoolOwner) = marketplace.getMarketOrder(workorder.m_marketorderIdx()); // Single call cost less gas\n\t\tuint256 workerpoolStake = value.percentage(marketplace.ASK_STAKE_RATIO());\n\n\t\trequire(seize (workorder.m_requester(), value.add(workorder.m_emitcost()))); // seize funds for payment (market value + emitcost)\n\t\trequire(unlock(workerpoolOwner, workerpoolStake)); // unlock scheduler stake\n\n\t\t// write results\n\t\tworkorder.setResult(_stdout, _stderr, _uri); // revert on error\n\n\t\t// Rien ne se perd, rien ne se crée, tout se transfere\n\t\t// distribute bonus to scheduler. jackpot bonus come from scheduler stake loose on IexecHub contract\n\t\t// we reuse the varaible value for the kitty / fraction of the kitty (stack too deep)\n\t\t/* (,value) = checkBalance(this); // kitty is locked on `this` wallet */\n\t\tvalue = m_accounts[this].locked; // kitty is locked on `this` wallet\n\t\tif(value > 0)\n\t\t{\n\t\t\tvalue = value.min(value.percentage(STAKE_BONUS_RATIO).max(STAKE_BONUS_MIN_THRESHOLD));\n\t\t\trequire(seize(this, value));\n\t\t\trequire(reward(workerpoolOwner, value));\n\t\t}\n\n\t\temit WorkOrderCompleted(_woid, workorder.m_workerpool());\n\t\treturn true;\n\t}\n\n\t/**\n\t * Views\n\t */\n\tfunction getCategoryWorkClockTimeRef(uint256 _catId) public view returns (uint256 workClockTimeRef)\n\t{\n\t\trequire(existingCategory(_catId));\n\t\treturn m_categories[_catId].workClockTimeRef;\n\t}\n\n\tfunction existingCategory(uint256 _catId) public view returns (bool categoryExist)\n\t{\n\t\treturn m_categories[_catId].catid > 0;\n\t}\n\n\tfunction getCategory(uint256 _catId) public view returns (uint256 catid, string name, string description, uint256 workClockTimeRef)\n\t{\n\t\trequire(existingCategory(_catId));\n\t\treturn (\n\t\t\tm_categories[_catId].catid,\n\t\t\tm_categories[_catId].name,\n\t\t\tm_categories[_catId].description,\n\t\t\tm_categories[_catId].workClockTimeRef\n\t\t);\n\t}\n\n\tfunction getWorkerStatus(address _worker) public view returns (address workerPool, uint256 workerScore)\n\t{\n\t\treturn (workerPoolHub.getWorkerAffectation(_worker), m_scores[_worker]);\n\t}\n\n\tfunction getWorkerScore(address _worker) public view returns (uint256 workerScore)\n\t{\n\t\treturn m_scores[_worker];\n\t}\n\n\t/**\n\t * Worker subscription\n\t */\n\tfunction registerToPool(address _worker) public returns (bool subscribed)\n\t// msg.sender = workerPool\n\t{\n\t\tWorkerPool workerpool = WorkerPool(msg.sender);\n\t\t// Check credentials\n\t\trequire(workerPoolHub.isWorkerPoolRegistered(msg.sender));\n\t\t// Lock worker deposit\n\t\trequire(lock(_worker, workerpool.m_subscriptionLockStakePolicy()));\n\t\t// Check subscription policy\n\t\trequire(m_accounts[_worker].stake >= workerpool.m_subscriptionMinimumStakePolicy());\n\t\trequire(m_scores[_worker] >= workerpool.m_subscriptionMinimumScorePolicy());\n\t\t// Update affectation\n\t\trequire(workerPoolHub.registerWorkerAffectation(msg.sender, _worker));\n\t\t// Trigger event notice\n\t\temit WorkerPoolSubscription(msg.sender, _worker);\n\t\treturn true;\n\t}\n\n\tfunction unregisterFromPool(address _worker) public returns (bool unsubscribed)\n\t// msg.sender = workerPool\n\t{\n\t\trequire(removeWorker(msg.sender, _worker));\n\t\t// Trigger event notice\n\t\temit WorkerPoolUnsubscription(msg.sender, _worker);\n\t\treturn true;\n\t}\n\n\tfunction evictWorker(address _worker) public returns (bool unsubscribed)\n\t// msg.sender = workerpool\n\t{\n\t\trequire(removeWorker(msg.sender, _worker));\n\t\t// Trigger event notice\n\t\temit WorkerPoolEviction(msg.sender, _worker);\n\t\treturn true;\n\t}\n\n\tfunction removeWorker(address _workerpool, address _worker) internal returns (bool unsubscribed)\n\t{\n\t\tWorkerPool workerpool = WorkerPool(_workerpool);\n\t\t// Check credentials\n\t\trequire(workerPoolHub.isWorkerPoolRegistered(_workerpool));\n\t\t// Unlick worker stake\n\t\trequire(unlock(_worker, workerpool.m_subscriptionLockStakePolicy()));\n\t\t// Update affectation\n\t\trequire(workerPoolHub.unregisterWorkerAffectation(_workerpool, _worker));\n\t\treturn true;\n\t}\n\n\t/**\n\t * Stake, reward and penalty functions\n\t */\n\t/* Marketplace */\n\tfunction lockForOrder(address _user, uint256 _amount) public onlyMarketplace returns (bool)\n\t{\n\t\trequire(lock(_user, _amount));\n\t\treturn true;\n\t}\n\tfunction unlockForOrder(address _user, uint256 _amount) public onlyMarketplace returns (bool)\n\t{\n\t\trequire(unlock(_user, _amount));\n\t\treturn true;\n\t}\n\t/* Work */\n\tfunction lockForWork(address _woid, address _user, uint256 _amount) public onlyRegisteredWoid(_woid) returns (bool)\n\t{\n\t\trequire(WorkOrder(_woid).m_workerpool() == msg.sender);\n\t\trequire(lock(_user, _amount));\n\t\treturn true;\n\t}\n\tfunction unlockForWork(address _woid, address _user, uint256 _amount) public onlyRegisteredWoid(_woid) returns (bool)\n\t{\n\t\trequire(WorkOrder(_woid).m_workerpool() == msg.sender);\n\t\trequire(unlock(_user, _amount));\n\t\treturn true;\n\t}\n\tfunction rewardForWork(address _woid, address _worker, uint256 _amount, bool _reputation) public onlyRegisteredWoid(_woid) returns (bool)\n\t{\n\t\trequire(WorkOrder(_woid).m_workerpool() == msg.sender);\n\t\trequire(reward(_worker, _amount));\n\t\tif (_reputation)\n\t\t{\n\t\t\tm_contributionHistory.success = m_contributionHistory.success.add(1);\n\t\t\tm_scores[_worker] = m_scores[_worker].add(1);\n\t\t\temit AccurateContribution(_woid, _worker);\n\t\t}\n\t\treturn true;\n\t}\n\tfunction seizeForWork(address _woid, address _worker, uint256 _amount, bool _reputation) public onlyRegisteredWoid(_woid) returns (bool)\n\t{\n\t\trequire(WorkOrder(_woid).m_workerpool() == msg.sender);\n\t\trequire(seize(_worker, _amount));\n\t\tif (_reputation)\n\t\t{\n\t\t\tm_contributionHistory.failed = m_contributionHistory.failed.add(1);\n\t\t\tm_scores[_worker] = m_scores[_worker].sub(m_scores[_worker].min(SCORE_UNITARY_SLASH));\n\t\t\temit FaultyContribution(_woid, _worker);\n\t\t}\n\t\treturn true;\n\t}\n\t/**\n\t * Wallet methods: public\n\t */\n\tfunction deposit(uint256 _amount) external returns (bool)\n\t{\n\t\trequire(rlc.transferFrom(msg.sender, address(this), _amount));\n\t\tm_accounts[msg.sender].stake = m_accounts[msg.sender].stake.add(_amount);\n\t\temit Deposit(msg.sender, _amount);\n\t\treturn true;\n\t}\n\tfunction withdraw(uint256 _amount) external returns (bool)\n\t{\n\t\tm_accounts[msg.sender].stake = m_accounts[msg.sender].stake.sub(_amount);\n\t\trequire(rlc.transfer(msg.sender, _amount));\n\t\temit Withdraw(msg.sender, _amount);\n\t\treturn true;\n\t}\n\tfunction checkBalance(address _owner) public view returns (uint256 stake, uint256 locked)\n\t{\n\t\treturn (m_accounts[_owner].stake, m_accounts[_owner].locked);\n\t}\n\t/**\n\t * Wallet methods: Internal\n\t */\n\tfunction reward(address _user, uint256 _amount) internal returns (bool)\n\t{\n\t\tm_accounts[_user].stake = m_accounts[_user].stake.add(_amount);\n\t\temit Reward(_user, _amount);\n\t\treturn true;\n\t}\n\tfunction seize(address _user, uint256 _amount) internal returns (bool)\n\t{\n\t\tm_accounts[_user].locked = m_accounts[_user].locked.sub(_amount);\n\t\temit Seize(_user, _amount);\n\t\treturn true;\n\t}\n\tfunction lock(address _user, uint256 _amount) internal returns (bool)\n\t{\n\t\tm_accounts[_user].stake = m_accounts[_user].stake.sub(_amount);\n\t\tm_accounts[_user].locked = m_accounts[_user].locked.add(_amount);\n\t\treturn true;\n\t}\n\tfunction unlock(address _user, uint256 _amount) internal returns (bool)\n\t{\n\t\tm_accounts[_user].locked = m_accounts[_user].locked.sub(_amount);\n\t\tm_accounts[_user].stake = m_accounts[_user].stake.add(_amount);\n\t\treturn true;\n\t}\n}\n", - "sourcePath": "/Users/fbranci/iexecdev/PoCo/contracts/IexecHub.sol", - "ast": { - "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/IexecHub.sol", - "exportedSymbols": { - "IexecHub": [ - 2436 - ] - }, - "id": 2437, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 726, - "literals": [ - "solidity", - "^", - "0.4", - ".21" - ], - "nodeType": "PragmaDirective", - "src": "0:24:6" - }, - { - "absolutePath": "rlc-token/contracts/RLC.sol", - "file": "rlc-token/contracts/RLC.sol", - "id": 727, - "nodeType": "ImportDirective", - "scope": 2437, - "sourceUnit": 6786, - "src": "26:37:6", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/WorkOrder.sol", - "file": "./WorkOrder.sol", - "id": 728, - "nodeType": "ImportDirective", - "scope": 2437, - "sourceUnit": 4300, - "src": "65:25:6", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/Marketplace.sol", - "file": "./Marketplace.sol", - "id": 729, - "nodeType": "ImportDirective", - "scope": 2437, - "sourceUnit": 3514, - "src": "91:27:6", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/AppHub.sol", - "file": "./AppHub.sol", - "id": 730, - "nodeType": "ImportDirective", - "scope": 2437, - "sourceUnit": 225, - "src": "119:22:6", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/DatasetHub.sol", - "file": "./DatasetHub.sol", - "id": 731, - "nodeType": "ImportDirective", - "scope": 2437, - "sourceUnit": 450, - "src": "142:26:6", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/WorkerPoolHub.sol", - "file": "./WorkerPoolHub.sol", - "id": 732, - "nodeType": "ImportDirective", - "scope": 2437, - "sourceUnit": 6350, - "src": "169:29:6", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/SafeMathOZ.sol", - "file": "./SafeMathOZ.sol", - "id": 733, - "nodeType": "ImportDirective", - "scope": 2437, - "sourceUnit": 3925, - "src": "199:26:6", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/IexecLib.sol", - "file": "./IexecLib.sol", - "id": 734, - "nodeType": "ImportDirective", - "scope": 2437, - "sourceUnit": 2894, - "src": "226:24:6", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [], - "contractDependencies": [ - 4299 - ], - "contractKind": "contract", - "documentation": "@title IexecHub", - "fullyImplemented": true, - "id": 2436, - "linearizedBaseContracts": [ - 2436 - ], - "name": "IexecHub", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 737, - "libraryName": { - "contractScope": null, - "id": 735, - "name": "SafeMathOZ", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 3924, - "src": "308:10:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMathOZ_$3924", - "typeString": "library SafeMathOZ" - } - }, - "nodeType": "UsingForDirective", - "src": "302:29:6", - "typeName": { - "id": 736, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "323:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "constant": false, - "id": 739, - "name": "rlc", - "nodeType": "VariableDeclaration", - "scope": 2436, - "src": "380:14:6", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RLC_$6785", - "typeString": "contract RLC" - }, - "typeName": { - "contractScope": null, - "id": 738, - "name": "RLC", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6785, - "src": "380:3:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RLC_$6785", - "typeString": "contract RLC" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": true, - "id": 742, - "name": "STAKE_BONUS_RATIO", - "nodeType": "VariableDeclaration", - "scope": 2436, - "src": "398:54:6", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 740, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "398:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "3130", - "id": 741, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "450:2:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 745, - "name": "STAKE_BONUS_MIN_THRESHOLD", - "nodeType": "VariableDeclaration", - "scope": 2436, - "src": "455:56:6", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 743, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "455:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "31303030", - "id": 744, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "507:4:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1000_by_1", - "typeString": "int_const 1000" - }, - "value": "1000" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 748, - "name": "SCORE_UNITARY_SLASH", - "nodeType": "VariableDeclaration", - "scope": 2436, - "src": "514:54:6", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 746, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "514:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "3530", - "id": 747, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "566:2:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_50_by_1", - "typeString": "int_const 50" - }, - "value": "50" - }, - "visibility": "public" - }, - { - "constant": false, - "id": 750, - "name": "appHub", - "nodeType": "VariableDeclaration", - "scope": 2436, - "src": "603:27:6", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AppHub_$224", - "typeString": "contract AppHub" - }, - "typeName": { - "contractScope": null, - "id": 749, - "name": "AppHub", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 224, - "src": "603:6:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AppHub_$224", - "typeString": "contract AppHub" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 752, - "name": "datasetHub", - "nodeType": "VariableDeclaration", - "scope": 2436, - "src": "633:31:6", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DatasetHub_$449", - "typeString": "contract DatasetHub" - }, - "typeName": { - "contractScope": null, - "id": 751, - "name": "DatasetHub", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 449, - "src": "633:10:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DatasetHub_$449", - "typeString": "contract DatasetHub" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 754, - "name": "workerPoolHub", - "nodeType": "VariableDeclaration", - "scope": 2436, - "src": "667:34:6", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkerPoolHub_$6349", - "typeString": "contract WorkerPoolHub" - }, - "typeName": { - "contractScope": null, - "id": 753, - "name": "WorkerPoolHub", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6349, - "src": "667:13:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkerPoolHub_$6349", - "typeString": "contract WorkerPoolHub" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 756, - "name": "marketplace", - "nodeType": "VariableDeclaration", - "scope": 2436, - "src": "732:30:6", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Marketplace_$3513", - "typeString": "contract Marketplace" - }, - "typeName": { - "contractScope": null, - "id": 755, - "name": "Marketplace", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 3513, - "src": "732:11:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Marketplace_$3513", - "typeString": "contract Marketplace" - } - }, - "value": null, - "visibility": "public" - }, - { - "body": { - "id": 768, - "nodeType": "Block", - "src": "793:56:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 764, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 759, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "805:3:6", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 760, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "805:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 762, - "name": "marketplace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 756, - "src": "827:11:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Marketplace_$3513", - "typeString": "contract Marketplace" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Marketplace_$3513", - "typeString": "contract Marketplace" - } - ], - "id": 761, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "819:7:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 763, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "819:20:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "805:34:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 758, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "797:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 765, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "797:43:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 766, - "nodeType": "ExpressionStatement", - "src": "797:43:6" - }, - { - "id": 767, - "nodeType": "PlaceholderStatement", - "src": "844:1:6" - } - ] - }, - "documentation": null, - "id": 769, - "name": "onlyMarketplace", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 757, - "nodeType": "ParameterList", - "parameters": [], - "src": "789:2:6" - }, - "src": "765:84:6", - "visibility": "internal" - }, - { - "constant": false, - "id": 773, - "name": "m_categories", - "nodeType": "VariableDeclaration", - "scope": 2436, - "src": "876:57:6", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Category_$2892_storage_$", - "typeString": "mapping(uint256 => struct IexecLib.Category storage ref)" - }, - "typeName": { - "id": 772, - "keyType": { - "id": 770, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "884:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "876:37:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Category_$2892_storage_$", - "typeString": "mapping(uint256 => struct IexecLib.Category storage ref)" - }, - "valueType": { - "contractScope": null, - "id": 771, - "name": "IexecLib.Category", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2892, - "src": "895:17:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Category_$2892_storage_ptr", - "typeString": "struct IexecLib.Category storage pointer" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 775, - "name": "m_categoriesCount", - "nodeType": "VariableDeclaration", - "scope": 2436, - "src": "936:62:6", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 774, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "936:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 777, - "name": "m_categoriesCreator", - "nodeType": "VariableDeclaration", - "scope": 2436, - "src": "1001:64:6", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 776, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1001:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "body": { - "id": 787, - "nodeType": "Block", - "src": "1102:55:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 783, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 780, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "1114:3:6", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 781, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1114:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 782, - "name": "m_categoriesCreator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 777, - "src": "1128:19:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1114:33:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 779, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "1106:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 784, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1106:42:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 785, - "nodeType": "ExpressionStatement", - "src": "1106:42:6" - }, - { - "id": 786, - "nodeType": "PlaceholderStatement", - "src": "1152:1:6" - } - ] - }, - "documentation": null, - "id": 788, - "name": "onlyCategoriesCreator", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 778, - "nodeType": "ParameterList", - "parameters": [], - "src": "1098:2:6" - }, - "src": "1068:89:6", - "visibility": "internal" - }, - { - "constant": false, - "id": 792, - "name": "m_accounts", - "nodeType": "VariableDeclaration", - "scope": 2436, - "src": "1181:54:6", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$2878_storage_$", - "typeString": "mapping(address => struct IexecLib.Account storage ref)" - }, - "typeName": { - "id": 791, - "keyType": { - "id": 789, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1189:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1181:36:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$2878_storage_$", - "typeString": "mapping(address => struct IexecLib.Account storage ref)" - }, - "valueType": { - "contractScope": null, - "id": 790, - "name": "IexecLib.Account", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2878, - "src": "1200:16:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Account_$2878_storage_ptr", - "typeString": "struct IexecLib.Account storage pointer" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 796, - "name": "m_woidRegistered", - "nodeType": "VariableDeclaration", - "scope": 2436, - "src": "1275:48:6", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - }, - "typeName": { - "id": 795, - "keyType": { - "id": 793, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1283:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1275:24:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - }, - "valueType": { - "id": 794, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1294:4:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "body": { - "id": 807, - "nodeType": "Block", - "src": "1370:45:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 801, - "name": "m_woidRegistered", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 796, - "src": "1382:16:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 803, - "indexExpression": { - "argumentTypes": null, - "id": 802, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 798, - "src": "1399:5:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1382:23:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 800, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "1374:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 804, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1374:32:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 805, - "nodeType": "ExpressionStatement", - "src": "1374:32:6" - }, - { - "id": 806, - "nodeType": "PlaceholderStatement", - "src": "1410:1:6" - } - ] - }, - "documentation": null, - "id": 808, - "name": "onlyRegisteredWoid", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 799, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 798, - "name": "_woid", - "nodeType": "VariableDeclaration", - "scope": 808, - "src": "1354:13:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 797, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1354:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1353:15:6" - }, - "src": "1326:89:6", - "visibility": "internal" - }, - { - "constant": false, - "id": 812, - "name": "m_scores", - "nodeType": "VariableDeclaration", - "scope": 2436, - "src": "1452:44:6", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 811, - "keyType": { - "id": 809, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1460:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1452:27:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 810, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1471:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 814, - "name": "m_contributionHistory", - "nodeType": "VariableDeclaration", - "scope": 2436, - "src": "1499:57:6", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ContributionHistory_$2883_storage", - "typeString": "struct IexecLib.ContributionHistory storage ref" - }, - "typeName": { - "contractScope": null, - "id": 813, - "name": "IexecLib.ContributionHistory", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2883, - "src": "1499:28:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ContributionHistory_$2883_storage_ptr", - "typeString": "struct IexecLib.ContributionHistory storage pointer" - } - }, - "value": null, - "visibility": "public" - }, - { - "anonymous": false, - "documentation": null, - "id": 820, - "name": "WorkOrderActivated", - "nodeType": "EventDefinition", - "parameters": { - "id": 819, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 816, - "indexed": false, - "name": "woid", - "nodeType": "VariableDeclaration", - "scope": 820, - "src": "1586:12:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 815, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1586:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 818, - "indexed": true, - "name": "workerPool", - "nodeType": "VariableDeclaration", - "scope": 820, - "src": "1600:26:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 817, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1600:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1585:42:6" - }, - "src": "1561:67:6" - }, - { - "anonymous": false, - "documentation": null, - "id": 826, - "name": "WorkOrderClaimed", - "nodeType": "EventDefinition", - "parameters": { - "id": 825, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 822, - "indexed": false, - "name": "woid", - "nodeType": "VariableDeclaration", - "scope": 826, - "src": "1655:12:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 821, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1655:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 824, - "indexed": false, - "name": "workerPool", - "nodeType": "VariableDeclaration", - "scope": 826, - "src": "1669:18:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 823, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1669:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1654:34:6" - }, - "src": "1630:59:6" - }, - { - "anonymous": false, - "documentation": null, - "id": 832, - "name": "WorkOrderCompleted", - "nodeType": "EventDefinition", - "parameters": { - "id": 831, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 828, - "indexed": false, - "name": "woid", - "nodeType": "VariableDeclaration", - "scope": 832, - "src": "1716:12:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 827, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1716:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 830, - "indexed": false, - "name": "workerPool", - "nodeType": "VariableDeclaration", - "scope": 832, - "src": "1730:18:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 829, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1730:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1715:34:6" - }, - "src": "1691:59:6" - }, - { - "anonymous": false, - "documentation": null, - "id": 844, - "name": "CreateApp", - "nodeType": "EventDefinition", - "parameters": { - "id": 843, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 834, - "indexed": true, - "name": "appOwner", - "nodeType": "VariableDeclaration", - "scope": 844, - "src": "1776:24:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 833, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1776:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 836, - "indexed": true, - "name": "app", - "nodeType": "VariableDeclaration", - "scope": 844, - "src": "1809:19:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 835, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1809:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 838, - "indexed": false, - "name": "appName", - "nodeType": "VariableDeclaration", - "scope": 844, - "src": "1837:14:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - "typeName": { - "id": 837, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1837:6:6", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 840, - "indexed": false, - "name": "appPrice", - "nodeType": "VariableDeclaration", - "scope": 844, - "src": "1857:16:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 839, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1857:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 842, - "indexed": false, - "name": "appParams", - "nodeType": "VariableDeclaration", - "scope": 844, - "src": "1879:16:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - "typeName": { - "id": 841, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1879:6:6", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1775:125:6" - }, - "src": "1753:148:6" - }, - { - "anonymous": false, - "documentation": null, - "id": 856, - "name": "CreateDataset", - "nodeType": "EventDefinition", - "parameters": { - "id": 855, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 846, - "indexed": true, - "name": "datasetOwner", - "nodeType": "VariableDeclaration", - "scope": 856, - "src": "1926:28:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 845, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1926:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 848, - "indexed": true, - "name": "dataset", - "nodeType": "VariableDeclaration", - "scope": 856, - "src": "1959:23:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 847, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1959:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 850, - "indexed": false, - "name": "datasetName", - "nodeType": "VariableDeclaration", - "scope": 856, - "src": "1987:18:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - "typeName": { - "id": 849, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1987:6:6", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 852, - "indexed": false, - "name": "datasetPrice", - "nodeType": "VariableDeclaration", - "scope": 856, - "src": "2007:20:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 851, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2007:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 854, - "indexed": false, - "name": "datasetParams", - "nodeType": "VariableDeclaration", - "scope": 856, - "src": "2029:20:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - "typeName": { - "id": 853, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2029:6:6", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1925:125:6" - }, - "src": "1903:148:6" - }, - { - "anonymous": false, - "documentation": null, - "id": 864, - "name": "CreateWorkerPool", - "nodeType": "EventDefinition", - "parameters": { - "id": 863, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 858, - "indexed": true, - "name": "workerPoolOwner", - "nodeType": "VariableDeclaration", - "scope": 864, - "src": "2076:31:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 857, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2076:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 860, - "indexed": true, - "name": "workerPool", - "nodeType": "VariableDeclaration", - "scope": 864, - "src": "2109:26:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 859, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2109:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 862, - "indexed": false, - "name": "workerPoolDescription", - "nodeType": "VariableDeclaration", - "scope": 864, - "src": "2137:28:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - "typeName": { - "id": 861, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2137:6:6", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2075:131:6" - }, - "src": "2053:154:6" - }, - { - "anonymous": false, - "documentation": null, - "id": 874, - "name": "CreateCategory", - "nodeType": "EventDefinition", - "parameters": { - "id": 873, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 866, - "indexed": false, - "name": "catid", - "nodeType": "VariableDeclaration", - "scope": 874, - "src": "2233:13:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 865, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2233:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 868, - "indexed": false, - "name": "name", - "nodeType": "VariableDeclaration", - "scope": 874, - "src": "2248:11:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - "typeName": { - "id": 867, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2248:6:6", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 870, - "indexed": false, - "name": "description", - "nodeType": "VariableDeclaration", - "scope": 874, - "src": "2261:18:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - "typeName": { - "id": 869, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2261:6:6", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 872, - "indexed": false, - "name": "workClockTimeRef", - "nodeType": "VariableDeclaration", - "scope": 874, - "src": "2281:24:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 871, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2281:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2232:74:6" - }, - "src": "2210:97:6" - }, - { - "anonymous": false, - "documentation": null, - "id": 880, - "name": "WorkerPoolSubscription", - "nodeType": "EventDefinition", - "parameters": { - "id": 879, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 876, - "indexed": true, - "name": "workerPool", - "nodeType": "VariableDeclaration", - "scope": 880, - "src": "2341:26:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 875, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2341:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 878, - "indexed": false, - "name": "worker", - "nodeType": "VariableDeclaration", - "scope": 880, - "src": "2369:14:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 877, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2369:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2340:44:6" - }, - "src": "2310:75:6" - }, - { - "anonymous": false, - "documentation": null, - "id": 886, - "name": "WorkerPoolUnsubscription", - "nodeType": "EventDefinition", - "parameters": { - "id": 885, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 882, - "indexed": true, - "name": "workerPool", - "nodeType": "VariableDeclaration", - "scope": 886, - "src": "2418:26:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 881, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2418:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 884, - "indexed": false, - "name": "worker", - "nodeType": "VariableDeclaration", - "scope": 886, - "src": "2446:14:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 883, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2446:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2417:44:6" - }, - "src": "2387:75:6" - }, - { - "anonymous": false, - "documentation": null, - "id": 892, - "name": "WorkerPoolEviction", - "nodeType": "EventDefinition", - "parameters": { - "id": 891, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 888, - "indexed": true, - "name": "workerPool", - "nodeType": "VariableDeclaration", - "scope": 892, - "src": "2495:26:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 887, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2495:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 890, - "indexed": false, - "name": "worker", - "nodeType": "VariableDeclaration", - "scope": 892, - "src": "2523:14:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 889, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2523:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2494:44:6" - }, - "src": "2464:75:6" - }, - { - "anonymous": false, - "documentation": null, - "id": 898, - "name": "AccurateContribution", - "nodeType": "EventDefinition", - "parameters": { - "id": 897, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 894, - "indexed": false, - "name": "woid", - "nodeType": "VariableDeclaration", - "scope": 898, - "src": "2569:12:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 893, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2569:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 896, - "indexed": true, - "name": "worker", - "nodeType": "VariableDeclaration", - "scope": 898, - "src": "2583:22:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 895, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2583:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2568:38:6" - }, - "src": "2542:65:6" - }, - { - "anonymous": false, - "documentation": null, - "id": 904, - "name": "FaultyContribution", - "nodeType": "EventDefinition", - "parameters": { - "id": 903, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 900, - "indexed": false, - "name": "woid", - "nodeType": "VariableDeclaration", - "scope": 904, - "src": "2636:12:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 899, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2636:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 902, - "indexed": true, - "name": "worker", - "nodeType": "VariableDeclaration", - "scope": 904, - "src": "2650:22:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 901, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2650:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2635:38:6" - }, - "src": "2609:65:6" - }, - { - "anonymous": false, - "documentation": null, - "id": 910, - "name": "Deposit", - "nodeType": "EventDefinition", - "parameters": { - "id": 909, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 906, - "indexed": false, - "name": "owner", - "nodeType": "VariableDeclaration", - "scope": 910, - "src": "2692:13:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 905, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2692:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 908, - "indexed": false, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 910, - "src": "2707:14:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 907, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2707:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2691:31:6" - }, - "src": "2677:46:6" - }, - { - "anonymous": false, - "documentation": null, - "id": 916, - "name": "Withdraw", - "nodeType": "EventDefinition", - "parameters": { - "id": 915, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 912, - "indexed": false, - "name": "owner", - "nodeType": "VariableDeclaration", - "scope": 916, - "src": "2740:13:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 911, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2740:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 914, - "indexed": false, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 916, - "src": "2755:14:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 913, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2755:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2739:31:6" - }, - "src": "2725:46:6" - }, - { - "anonymous": false, - "documentation": null, - "id": 922, - "name": "Reward", - "nodeType": "EventDefinition", - "parameters": { - "id": 921, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 918, - "indexed": false, - "name": "user", - "nodeType": "VariableDeclaration", - "scope": 922, - "src": "2788:12:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 917, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2788:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 920, - "indexed": false, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 922, - "src": "2803:14:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 919, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2803:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2787:31:6" - }, - "src": "2773:46:6" - }, - { - "anonymous": false, - "documentation": null, - "id": 928, - "name": "Seize", - "nodeType": "EventDefinition", - "parameters": { - "id": 927, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 924, - "indexed": false, - "name": "user", - "nodeType": "VariableDeclaration", - "scope": 928, - "src": "2836:12:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 923, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2836:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 926, - "indexed": false, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 928, - "src": "2851:14:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 925, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2851:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2835:31:6" - }, - "src": "2821:46:6" - }, - { - "body": { - "id": 936, - "nodeType": "Block", - "src": "2925:40:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 934, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 931, - "name": "m_categoriesCreator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 777, - "src": "2929:19:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 932, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "2951:3:6", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 933, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2951:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "2929:32:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 935, - "nodeType": "ExpressionStatement", - "src": "2929:32:6" - } - ] - }, - "documentation": "Constructor", - "id": 937, - "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, - "modifiers": [], - "name": "IexecHub", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 929, - "nodeType": "ParameterList", - "parameters": [], - "src": "2913:2:6" - }, - "payable": false, - "returnParameters": { - "id": 930, - "nodeType": "ParameterList", - "parameters": [], - "src": "2925:0:6" - }, - "scope": 2436, - "src": "2896:69:6", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 992, - "nodeType": "Block", - "src": "3170:349:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 959, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 954, - "name": "rlc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 739, - "src": "3190:3:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RLC_$6785", - "typeString": "contract RLC" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_RLC_$6785", - "typeString": "contract RLC" - } - ], - "id": 953, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3182:7:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 955, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3182:12:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 957, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3206:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 956, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3198:7:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 958, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3198:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "3182:26:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 952, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "3174:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 960, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3174:35:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 961, - "nodeType": "ExpressionStatement", - "src": "3174:35:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 966, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 962, - "name": "rlc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 739, - "src": "3213:3:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RLC_$6785", - "typeString": "contract RLC" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 964, - "name": "_tokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 939, - "src": "3248:13:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 963, - "name": "RLC", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6785, - "src": "3234:3:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_RLC_$6785_$", - "typeString": "type(contract RLC)" - } - }, - "id": 965, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3234:36:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RLC_$6785", - "typeString": "contract RLC" - } - }, - "src": "3213:57:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RLC_$6785", - "typeString": "contract RLC" - } - }, - "id": 967, - "nodeType": "ExpressionStatement", - "src": "3213:57:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 972, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 968, - "name": "marketplace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 756, - "src": "3274:11:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Marketplace_$3513", - "typeString": "contract Marketplace" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 970, - "name": "_marketplaceAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 941, - "src": "3309:19:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 969, - "name": "Marketplace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3513, - "src": "3295:11:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Marketplace_$3513_$", - "typeString": "type(contract Marketplace)" - } - }, - "id": 971, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3295:36:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Marketplace_$3513", - "typeString": "contract Marketplace" - } - }, - "src": "3274:57:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Marketplace_$3513", - "typeString": "contract Marketplace" - } - }, - "id": 973, - "nodeType": "ExpressionStatement", - "src": "3274:57:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 978, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 974, - "name": "workerPoolHub", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 754, - "src": "3335:13:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkerPoolHub_$6349", - "typeString": "contract WorkerPoolHub" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 976, - "name": "_workerPoolHubAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 943, - "src": "3370:21:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 975, - "name": "WorkerPoolHub", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6349, - "src": "3356:13:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_WorkerPoolHub_$6349_$", - "typeString": "type(contract WorkerPoolHub)" - } - }, - "id": 977, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3356:36:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkerPoolHub_$6349", - "typeString": "contract WorkerPoolHub" - } - }, - "src": "3335:57:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkerPoolHub_$6349", - "typeString": "contract WorkerPoolHub" - } - }, - "id": 979, - "nodeType": "ExpressionStatement", - "src": "3335:57:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 984, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 980, - "name": "appHub", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 750, - "src": "3396:6:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AppHub_$224", - "typeString": "contract AppHub" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 982, - "name": "_appHubAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 945, - "src": "3431:14:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 981, - "name": "AppHub", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 224, - "src": "3417:6:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_AppHub_$224_$", - "typeString": "type(contract AppHub)" - } - }, - "id": 983, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3417:36:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AppHub_$224", - "typeString": "contract AppHub" - } - }, - "src": "3396:57:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AppHub_$224", - "typeString": "contract AppHub" - } - }, - "id": 985, - "nodeType": "ExpressionStatement", - "src": "3396:57:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 990, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 986, - "name": "datasetHub", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 752, - "src": "3457:10:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DatasetHub_$449", - "typeString": "contract DatasetHub" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 988, - "name": "_datasetHubAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 947, - "src": "3492:18:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 987, - "name": "DatasetHub", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 449, - "src": "3478:10:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DatasetHub_$449_$", - "typeString": "type(contract DatasetHub)" - } - }, - "id": 989, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3478:36:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DatasetHub_$449", - "typeString": "contract DatasetHub" - } - }, - "src": "3457:57:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DatasetHub_$449", - "typeString": "contract DatasetHub" - } - }, - "id": 991, - "nodeType": "ExpressionStatement", - "src": "3457:57:6" - } - ] - }, - "documentation": null, - "id": 993, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [], - "id": 950, - "modifierName": { - "argumentTypes": null, - "id": 949, - "name": "onlyCategoriesCreator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 788, - "src": "3147:21:6", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "3147:21:6" - } - ], - "name": "attachContracts", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 948, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 939, - "name": "_tokenAddress", - "nodeType": "VariableDeclaration", - "scope": 993, - "src": "2996:21:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 938, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2996:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 941, - "name": "_marketplaceAddress", - "nodeType": "VariableDeclaration", - "scope": 993, - "src": "3021:27:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 940, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3021:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 943, - "name": "_workerPoolHubAddress", - "nodeType": "VariableDeclaration", - "scope": 993, - "src": "3052:29:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 942, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3052:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 945, - "name": "_appHubAddress", - "nodeType": "VariableDeclaration", - "scope": 993, - "src": "3085:22:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 944, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3085:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 947, - "name": "_datasetHubAddress", - "nodeType": "VariableDeclaration", - "scope": 993, - "src": "3111:26:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 946, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3111:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2992:146:6" - }, - "payable": false, - "returnParameters": { - "id": 951, - "nodeType": "ParameterList", - "parameters": [], - "src": "3170:0:6" - }, - "scope": 2436, - "src": "2968:551:6", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 1004, - "nodeType": "Block", - "src": "3611:48:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 1002, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1000, - "name": "m_categoriesCreator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 777, - "src": "3615:19:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1001, - "name": "_categoriesCreator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 995, - "src": "3637:18:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "3615:40:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1003, - "nodeType": "ExpressionStatement", - "src": "3615:40:6" - } - ] - }, - "documentation": null, - "id": 1005, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [], - "id": 998, - "modifierName": { - "argumentTypes": null, - "id": 997, - "name": "onlyCategoriesCreator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 788, - "src": "3588:21:6", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "3588:21:6" - } - ], - "name": "setCategoriesCreator", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 996, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 995, - "name": "_categoriesCreator", - "nodeType": "VariableDeclaration", - "scope": 1005, - "src": "3552:26:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 994, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3552:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3551:28:6" - }, - "payable": false, - "returnParameters": { - "id": 999, - "nodeType": "ParameterList", - "parameters": [], - "src": "3611:0:6" - }, - "scope": 2436, - "src": "3522:137:6", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 1066, - "nodeType": "Block", - "src": "3834:466:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 1023, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1018, - "name": "m_categoriesCount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 775, - "src": "3838:17:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "31", - "id": 1021, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3897:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - } - ], - "expression": { - "argumentTypes": null, - "id": 1019, - "name": "m_categoriesCount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 775, - "src": "3875:17:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1020, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 3773, - "src": "3875:21:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 1022, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3875:24:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3838:61:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1024, - "nodeType": "ExpressionStatement", - "src": "3838:61:6" - }, - { - "assignments": [ - 1028 - ], - "declarations": [ - { - "constant": false, - "id": 1028, - "name": "category", - "nodeType": "VariableDeclaration", - "scope": 1067, - "src": "3903:34:6", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Category_$2892_storage_ptr", - "typeString": "struct IexecLib.Category storage pointer" - }, - "typeName": { - "contractScope": null, - "id": 1027, - "name": "IexecLib.Category", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2892, - "src": "3903:17:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Category_$2892_storage_ptr", - "typeString": "struct IexecLib.Category storage pointer" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1032, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1029, - "name": "m_categories", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 773, - "src": "3940:12:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Category_$2892_storage_$", - "typeString": "mapping(uint256 => struct IexecLib.Category storage ref)" - } - }, - "id": 1031, - "indexExpression": { - "argumentTypes": null, - "id": 1030, - "name": "m_categoriesCount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 775, - "src": "3953:17:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3940:31:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Category_$2892_storage", - "typeString": "struct IexecLib.Category storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3903:68:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 1037, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1033, - "name": "category", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1028, - "src": "3975:8:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Category_$2892_storage_ptr", - "typeString": "struct IexecLib.Category storage pointer" - } - }, - "id": 1035, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "catid", - "nodeType": "MemberAccess", - "referencedDeclaration": 2885, - "src": "3975:14:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1036, - "name": "m_categoriesCount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 775, - "src": "4012:17:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3975:54:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1038, - "nodeType": "ExpressionStatement", - "src": "3975:54:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 1043, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1039, - "name": "category", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1028, - "src": "4033:8:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Category_$2892_storage_ptr", - "typeString": "struct IexecLib.Category storage pointer" - } - }, - "id": 1041, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "name", - "nodeType": "MemberAccess", - "referencedDeclaration": 2887, - "src": "4033:13:6", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1042, - "name": "_name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1007, - "src": "4070:5:6", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "4033:42:6", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 1044, - "nodeType": "ExpressionStatement", - "src": "4033:42:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 1049, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1045, - "name": "category", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1028, - "src": "4079:8:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Category_$2892_storage_ptr", - "typeString": "struct IexecLib.Category storage pointer" - } - }, - "id": 1047, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "description", - "nodeType": "MemberAccess", - "referencedDeclaration": 2889, - "src": "4079:20:6", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1048, - "name": "_description", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1009, - "src": "4116:12:6", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "4079:49:6", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 1050, - "nodeType": "ExpressionStatement", - "src": "4079:49:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 1055, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1051, - "name": "category", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1028, - "src": "4132:8:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Category_$2892_storage_ptr", - "typeString": "struct IexecLib.Category storage pointer" - } - }, - "id": 1053, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "workClockTimeRef", - "nodeType": "MemberAccess", - "referencedDeclaration": 2891, - "src": "4132:25:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1054, - "name": "_workClockTimeRef", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1011, - "src": "4169:17:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4132:54:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1056, - "nodeType": "ExpressionStatement", - "src": "4132:54:6" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1058, - "name": "m_categoriesCount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 775, - "src": "4210:17:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 1059, - "name": "_name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1007, - "src": "4229:5:6", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 1060, - "name": "_description", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1009, - "src": "4236:12:6", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 1061, - "name": "_workClockTimeRef", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1011, - "src": "4250:17:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1057, - "name": "CreateCategory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 874, - "src": "4195:14:6", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_uint256_$returns$__$", - "typeString": "function (uint256,string memory,string memory,uint256)" - } - }, - "id": 1062, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4195:73:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1063, - "nodeType": "EmitStatement", - "src": "4190:78:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 1064, - "name": "m_categoriesCount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 775, - "src": "4279:17:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 1017, - "id": 1065, - "nodeType": "Return", - "src": "4272:24:6" - } - ] - }, - "documentation": "Factory", - "id": 1067, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [], - "id": 1014, - "modifierName": { - "argumentTypes": null, - "id": 1013, - "name": "onlyCategoriesCreator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 788, - "src": "3787:21:6", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "3787:21:6" - } - ], - "name": "createCategory", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1012, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1007, - "name": "_name", - "nodeType": "VariableDeclaration", - "scope": 1067, - "src": "3711:13:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - "typeName": { - "id": 1006, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3711:6:6", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1009, - "name": "_description", - "nodeType": "VariableDeclaration", - "scope": 1067, - "src": "3728:20:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - "typeName": { - "id": 1008, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3728:6:6", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1011, - "name": "_workClockTimeRef", - "nodeType": "VariableDeclaration", - "scope": 1067, - "src": "3752:25:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1010, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3752:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3707:71:6" - }, - "payable": false, - "returnParameters": { - "id": 1017, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1016, - "name": "catid", - "nodeType": "VariableDeclaration", - "scope": 1067, - "src": "3818:13:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1015, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3818:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3817:15:6" - }, - "scope": 2436, - "src": "3684:616:6", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 1102, - "nodeType": "Block", - "src": "4527:302:6", - "statements": [ - { - "assignments": [ - 1081 - ], - "declarations": [ - { - "constant": false, - "id": 1081, - "name": "newWorkerPool", - "nodeType": "VariableDeclaration", - "scope": 1103, - "src": "4531:21:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1080, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4531:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1092, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1084, - "name": "_description", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1069, - "src": "4590:12:6", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - }, - { - "argumentTypes": null, - "id": 1085, - "name": "_subscriptionLockStakePolicy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1071, - "src": "4607:28:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 1086, - "name": "_subscriptionMinimumStakePolicy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1073, - "src": "4640:31:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 1087, - "name": "_subscriptionMinimumScorePolicy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1075, - "src": "4676:31:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1089, - "name": "marketplace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 756, - "src": "4720:11:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Marketplace_$3513", - "typeString": "contract Marketplace" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Marketplace_$3513", - "typeString": "contract Marketplace" - } - ], - "id": 1088, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4712:7:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 1090, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4712:20:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 1082, - "name": "workerPoolHub", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 754, - "src": "4555:13:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkerPoolHub_$6349", - "typeString": "contract WorkerPoolHub" - } - }, - "id": 1083, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createWorkerPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 6288, - "src": "4555:30:6", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$returns$_t_address_$", - "typeString": "function (string memory,uint256,uint256,uint256,address) external returns (address)" - } - }, - "id": 1091, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4555:181:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4531:205:6" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1094, - "name": "tx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7018, - "src": "4762:2:6", - "typeDescriptions": { - "typeIdentifier": "t_magic_transaction", - "typeString": "tx" - } - }, - "id": 1095, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "origin", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4762:9:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1096, - "name": "newWorkerPool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1081, - "src": "4773:13:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1097, - "name": "_description", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1069, - "src": "4788:12:6", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - ], - "id": 1093, - "name": "CreateWorkerPool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 864, - "src": "4745:16:6", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (address,address,string memory)" - } - }, - "id": 1098, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4745:56:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1099, - "nodeType": "EmitStatement", - "src": "4740:61:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 1100, - "name": "newWorkerPool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1081, - "src": "4812:13:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 1079, - "id": 1101, - "nodeType": "Return", - "src": "4805:20:6" - } - ] - }, - "documentation": null, - "id": 1103, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "createWorkerPool", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1076, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1069, - "name": "_description", - "nodeType": "VariableDeclaration", - "scope": 1103, - "src": "4332:20:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - }, - "typeName": { - "id": 1068, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4332:6:6", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1071, - "name": "_subscriptionLockStakePolicy", - "nodeType": "VariableDeclaration", - "scope": 1103, - "src": "4356:36:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1070, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4356:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1073, - "name": "_subscriptionMinimumStakePolicy", - "nodeType": "VariableDeclaration", - "scope": 1103, - "src": "4396:39:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1072, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4396:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1075, - "name": "_subscriptionMinimumScorePolicy", - "nodeType": "VariableDeclaration", - "scope": 1103, - "src": "4439:39:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1074, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4439:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4328:151:6" - }, - "payable": false, - "returnParameters": { - "id": 1079, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1078, - "name": "createdWorkerPool", - "nodeType": "VariableDeclaration", - "scope": 1103, - "src": "4499:25:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1077, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4499:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4498:27:6" - }, - "scope": 2436, - "src": "4303:526:6", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 1134, - "nodeType": "Block", - "src": "4955:174:6", - "statements": [ - { - "assignments": [ - 1115 - ], - "declarations": [ - { - "constant": false, - "id": 1115, - "name": "newApp", - "nodeType": "VariableDeclaration", - "scope": 1135, - "src": "4959:14:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1114, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4959:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1122, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1118, - "name": "_appName", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1105, - "src": "4997:8:6", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - }, - { - "argumentTypes": null, - "id": 1119, - "name": "_appPrice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1107, - "src": "5010:9:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 1120, - "name": "_appParams", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1109, - "src": "5024:10:6", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - ], - "expression": { - "argumentTypes": null, - "id": 1116, - "name": "appHub", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 750, - "src": "4976:6:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AppHub_$224", - "typeString": "contract AppHub" - } - }, - "id": 1117, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createApp", - "nodeType": "MemberAccess", - "referencedDeclaration": 223, - "src": "4976:16:6", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_string_memory_ptr_$returns$_t_address_$", - "typeString": "function (string memory,uint256,string memory) external returns (address)" - } - }, - "id": 1121, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4976:62:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4959:79:6" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1124, - "name": "tx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7018, - "src": "5057:2:6", - "typeDescriptions": { - "typeIdentifier": "t_magic_transaction", - "typeString": "tx" - } - }, - "id": 1125, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "origin", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5057:9:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1126, - "name": "newApp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1115, - "src": "5068:6:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1127, - "name": "_appName", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1105, - "src": "5076:8:6", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - }, - { - "argumentTypes": null, - "id": 1128, - "name": "_appPrice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1107, - "src": "5086:9:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 1129, - "name": "_appParams", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1109, - "src": "5097:10:6", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - ], - "id": 1123, - "name": "CreateApp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 844, - "src": "5047:9:6", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_string_memory_ptr_$_t_uint256_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (address,address,string memory,uint256,string memory)" - } - }, - "id": 1130, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5047:61:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1131, - "nodeType": "EmitStatement", - "src": "5042:66:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 1132, - "name": "newApp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1115, - "src": "5119:6:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 1113, - "id": 1133, - "nodeType": "Return", - "src": "5112:13:6" - } - ] - }, - "documentation": null, - "id": 1135, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "createApp", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1110, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1105, - "name": "_appName", - "nodeType": "VariableDeclaration", - "scope": 1135, - "src": "4854:16:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - }, - "typeName": { - "id": 1104, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4854:6:6", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1107, - "name": "_appPrice", - "nodeType": "VariableDeclaration", - "scope": 1135, - "src": "4874:17:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1106, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4874:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1109, - "name": "_appParams", - "nodeType": "VariableDeclaration", - "scope": 1135, - "src": "4895:18:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - }, - "typeName": { - "id": 1108, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4895:6:6", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4850:64:6" - }, - "payable": false, - "returnParameters": { - "id": 1113, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1112, - "name": "createdApp", - "nodeType": "VariableDeclaration", - "scope": 1135, - "src": "4934:18:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1111, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4934:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4933:20:6" - }, - "scope": 2436, - "src": "4832:297:6", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 1166, - "nodeType": "Block", - "src": "5275:223:6", - "statements": [ - { - "assignments": [ - 1147 - ], - "declarations": [ - { - "constant": false, - "id": 1147, - "name": "newDataset", - "nodeType": "VariableDeclaration", - "scope": 1167, - "src": "5279:18:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1146, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5279:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1154, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1150, - "name": "_datasetName", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1137, - "src": "5329:12:6", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - }, - { - "argumentTypes": null, - "id": 1151, - "name": "_datasetPrice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1139, - "src": "5346:13:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 1152, - "name": "_datasetParams", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1141, - "src": "5364:14:6", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - ], - "expression": { - "argumentTypes": null, - "id": 1148, - "name": "datasetHub", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 752, - "src": "5300:10:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DatasetHub_$449", - "typeString": "contract DatasetHub" - } - }, - "id": 1149, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createDataset", - "nodeType": "MemberAccess", - "referencedDeclaration": 448, - "src": "5300:24:6", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_string_memory_ptr_$returns$_t_address_$", - "typeString": "function (string memory,uint256,string memory) external returns (address)" - } - }, - "id": 1153, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5300:83:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5279:104:6" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1156, - "name": "tx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7018, - "src": "5406:2:6", - "typeDescriptions": { - "typeIdentifier": "t_magic_transaction", - "typeString": "tx" - } - }, - "id": 1157, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "origin", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5406:9:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1158, - "name": "newDataset", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1147, - "src": "5417:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1159, - "name": "_datasetName", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1137, - "src": "5429:12:6", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - }, - { - "argumentTypes": null, - "id": 1160, - "name": "_datasetPrice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1139, - "src": "5443:13:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 1161, - "name": "_datasetParams", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1141, - "src": "5458:14:6", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - ], - "id": 1155, - "name": "CreateDataset", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 856, - "src": "5392:13:6", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_string_memory_ptr_$_t_uint256_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (address,address,string memory,uint256,string memory)" - } - }, - "id": 1162, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5392:81:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1163, - "nodeType": "EmitStatement", - "src": "5387:86:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 1164, - "name": "newDataset", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1147, - "src": "5484:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 1145, - "id": 1165, - "nodeType": "Return", - "src": "5477:17:6" - } - ] - }, - "documentation": null, - "id": 1167, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "createDataset", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1142, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1137, - "name": "_datasetName", - "nodeType": "VariableDeclaration", - "scope": 1167, - "src": "5158:20:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - }, - "typeName": { - "id": 1136, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "5158:6:6", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1139, - "name": "_datasetPrice", - "nodeType": "VariableDeclaration", - "scope": 1167, - "src": "5182:21:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1138, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5182:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1141, - "name": "_datasetParams", - "nodeType": "VariableDeclaration", - "scope": 1167, - "src": "5207:22:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - }, - "typeName": { - "id": 1140, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "5207:6:6", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5154:76:6" - }, - "payable": false, - "returnParameters": { - "id": 1145, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1144, - "name": "createdDataset", - "nodeType": "VariableDeclaration", - "scope": 1167, - "src": "5250:22:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1143, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5250:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5249:24:6" - }, - "scope": 2436, - "src": "5132:366:6", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 1247, - "nodeType": "Block", - "src": "5739:568:6", - "statements": [ - { - "assignments": [ - 1187 - ], - "declarations": [ - { - "constant": false, - "id": 1187, - "name": "requester", - "nodeType": "VariableDeclaration", - "scope": 1248, - "src": "5743:17:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1186, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5743:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1190, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1188, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "5763:3:6", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1189, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5763:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5743:30:6" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1194, - "name": "_marketorderIdx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1169, - "src": "5819:15:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 1195, - "name": "requester", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1187, - "src": "5836:9:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1196, - "name": "_workerpool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1171, - "src": "5847:11:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 1192, - "name": "marketplace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 756, - "src": "5785:11:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Marketplace_$3513", - "typeString": "contract Marketplace" - } - }, - "id": 1193, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "consumeMarketOrderAsk", - "nodeType": "MemberAccess", - "referencedDeclaration": 3227, - "src": "5785:33:6", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_address_$_t_address_$returns$_t_bool_$", - "typeString": "function (uint256,address,address) external returns (bool)" - } - }, - "id": 1197, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5785:74:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 1191, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "5777:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 1198, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5777:83:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1199, - "nodeType": "ExpressionStatement", - "src": "5777:83:6" - }, - { - "assignments": [ - 1201 - ], - "declarations": [ - { - "constant": false, - "id": 1201, - "name": "emitcost", - "nodeType": "VariableDeclaration", - "scope": 1248, - "src": "5865:16:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1200, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5865:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1208, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1203, - "name": "requester", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1187, - "src": "5902:9:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1204, - "name": "_workerpool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1171, - "src": "5913:11:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1205, - "name": "_app", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1173, - "src": "5926:4:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1206, - "name": "_dataset", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1175, - "src": "5932:8:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1202, - "name": "lockWorkOrderCost", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1338, - "src": "5884:17:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_address_$returns$_t_uint256_$", - "typeString": "function (address,address,address,address) returns (uint256)" - } - }, - "id": 1207, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5884:57:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5865:76:6" - }, - { - "assignments": [ - 1210 - ], - "declarations": [ - { - "constant": false, - "id": 1210, - "name": "workorder", - "nodeType": "VariableDeclaration", - "scope": 1248, - "src": "5946:19:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkOrder_$4299", - "typeString": "contract WorkOrder" - }, - "typeName": { - "contractScope": null, - "id": 1209, - "name": "WorkOrder", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4299, - "src": "5946:9:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkOrder_$4299", - "typeString": "contract WorkOrder" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1223, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1213, - "name": "_marketorderIdx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1169, - "src": "5986:15:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 1214, - "name": "requester", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1187, - "src": "6006:9:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1215, - "name": "_app", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1173, - "src": "6020:4:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1216, - "name": "_dataset", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1175, - "src": "6029:8:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1217, - "name": "_workerpool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1171, - "src": "6042:11:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1218, - "name": "emitcost", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1201, - "src": "6058:8:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 1219, - "name": "_params", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1177, - "src": "6071:7:6", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - }, - { - "argumentTypes": null, - "id": 1220, - "name": "_callback", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1179, - "src": "6083:9:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1221, - "name": "_beneficiary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1181, - "src": "6097:12:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1212, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "5968:13:6", - "typeDescriptions": { - "typeIdentifier": "t_function_creation_nonpayable$_t_uint256_$_t_address_$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_string_memory_ptr_$_t_address_$_t_address_$returns$_t_contract$_WorkOrder_$4299_$", - "typeString": "function (uint256,address,address,address,address,uint256,string memory,address,address) returns (contract WorkOrder)" - }, - "typeName": { - "contractScope": null, - "id": 1211, - "name": "WorkOrder", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4299, - "src": "5972:9:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkOrder_$4299", - "typeString": "contract WorkOrder" - } - } - }, - "id": 1222, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5968:145:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkOrder_$4299", - "typeString": "contract WorkOrder" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5946:167:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 1228, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1224, - "name": "m_woidRegistered", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 796, - "src": "6118:16:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 1226, - "indexExpression": { - "argumentTypes": null, - "id": 1225, - "name": "workorder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1210, - "src": "6135:9:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkOrder_$4299", - "typeString": "contract WorkOrder" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6118:27:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 1227, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6148:4:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "6118:34:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1229, - "nodeType": "ExpressionStatement", - "src": "6118:34:6" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1235, - "name": "workorder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1210, - "src": "6203:9:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkOrder_$4299", - "typeString": "contract WorkOrder" - } - }, - { - "argumentTypes": null, - "id": 1236, - "name": "_marketorderIdx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1169, - "src": "6214:15:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_WorkOrder_$4299", - "typeString": "contract WorkOrder" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1232, - "name": "_workerpool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1171, - "src": "6176:11:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1231, - "name": "WorkerPool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6097, - "src": "6165:10:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_WorkerPool_$6097_$", - "typeString": "type(contract WorkerPool)" - } - }, - "id": 1233, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6165:23:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkerPool_$6097", - "typeString": "contract WorkerPool" - } - }, - "id": 1234, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "emitWorkOrder", - "nodeType": "MemberAccess", - "referencedDeclaration": 4983, - "src": "6165:37:6", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 1237, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6165:65:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 1230, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "6157:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 1238, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6157:74:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1239, - "nodeType": "ExpressionStatement", - "src": "6157:74:6" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1241, - "name": "workorder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1210, - "src": "6260:9:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkOrder_$4299", - "typeString": "contract WorkOrder" - } - }, - { - "argumentTypes": null, - "id": 1242, - "name": "_workerpool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1171, - "src": "6271:11:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_WorkOrder_$4299", - "typeString": "contract WorkOrder" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1240, - "name": "WorkOrderActivated", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 820, - "src": "6241:18:6", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", - "typeString": "function (address,address)" - } - }, - "id": 1243, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6241:42:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1244, - "nodeType": "EmitStatement", - "src": "6236:47:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 1245, - "name": "workorder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1210, - "src": "6294:9:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkOrder_$4299", - "typeString": "contract WorkOrder" - } - }, - "functionReturnParameters": 1185, - "id": 1246, - "nodeType": "Return", - "src": "6287:16:6" - } - ] - }, - "documentation": "WorkOrder Emission", - "id": 1248, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "buyForWorkOrder", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1182, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1169, - "name": "_marketorderIdx", - "nodeType": "VariableDeclaration", - "scope": 1248, - "src": "5562:23:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1168, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5562:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1171, - "name": "_workerpool", - "nodeType": "VariableDeclaration", - "scope": 1248, - "src": "5589:19:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1170, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5589:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1173, - "name": "_app", - "nodeType": "VariableDeclaration", - "scope": 1248, - "src": "5612:12:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1172, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5612:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1175, - "name": "_dataset", - "nodeType": "VariableDeclaration", - "scope": 1248, - "src": "5628:16:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1174, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5628:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1177, - "name": "_params", - "nodeType": "VariableDeclaration", - "scope": 1248, - "src": "5648:15:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - }, - "typeName": { - "id": 1176, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "5648:6:6", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1179, - "name": "_callback", - "nodeType": "VariableDeclaration", - "scope": 1248, - "src": "5667:17:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1178, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5667:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1181, - "name": "_beneficiary", - "nodeType": "VariableDeclaration", - "scope": 1248, - "src": "5688:20:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1180, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5688:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5558:151:6" - }, - "payable": false, - "returnParameters": { - "id": 1185, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1184, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1248, - "src": "5729:7:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1183, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5729:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5728:9:6" - }, - "scope": 2436, - "src": "5534:773:6", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 1259, - "nodeType": "Block", - "src": "6378:38:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1255, - "name": "m_woidRegistered", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 796, - "src": "6389:16:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 1257, - "indexExpression": { - "argumentTypes": null, - "id": 1256, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1250, - "src": "6406:5:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6389:23:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 1254, - "id": 1258, - "nodeType": "Return", - "src": "6382:30:6" - } - ] - }, - "documentation": null, - "id": 1260, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "isWoidRegistred", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1251, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1250, - "name": "_woid", - "nodeType": "VariableDeclaration", - "scope": 1260, - "src": "6335:13:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1249, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6335:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6334:15:6" - }, - "payable": false, - "returnParameters": { - "id": 1254, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1253, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1260, - "src": "6371:4:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1252, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6371:4:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6370:6:6" - }, - "scope": 2436, - "src": "6310:106:6", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 1337, - "nodeType": "Block", - "src": "6657:610:6", - "statements": [ - { - "assignments": [ - 1274 - ], - "declarations": [ - { - "constant": false, - "id": 1274, - "name": "app", - "nodeType": "VariableDeclaration", - "scope": 1338, - "src": "6670:7:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_App_$54", - "typeString": "contract App" - }, - "typeName": { - "contractScope": null, - "id": 1273, - "name": "App", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 54, - "src": "6670:3:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_App_$54", - "typeString": "contract App" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1278, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1276, - "name": "_app", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1266, - "src": "6684:4:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1275, - "name": "App", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 54, - "src": "6680:3:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_App_$54_$", - "typeString": "type(contract App)" - } - }, - "id": 1277, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6680:9:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_App_$54", - "typeString": "contract App" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6670:19:6" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1282, - "name": "_app", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1266, - "src": "6725:4:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 1280, - "name": "appHub", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 750, - "src": "6701:6:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AppHub_$224", - "typeString": "contract AppHub" - } - }, - "id": 1281, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "isAppRegistered", - "nodeType": "MemberAccess", - "referencedDeclaration": 100, - "src": "6701:22:6", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view external returns (bool)" - } - }, - "id": 1283, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6701:29:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 1279, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "6693:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 1284, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6693:38:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1285, - "nodeType": "ExpressionStatement", - "src": "6693:38:6" - }, - { - "assignments": [ - 1287 - ], - "declarations": [ - { - "constant": false, - "id": 1287, - "name": "emitcost", - "nodeType": "VariableDeclaration", - "scope": 1338, - "src": "6776:16:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1286, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6776:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1291, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 1288, - "name": "app", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1274, - "src": "6795:3:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_App_$54", - "typeString": "contract App" - } - }, - "id": 1289, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "m_appPrice", - "nodeType": "MemberAccess", - "referencedDeclaration": 11, - "src": "6795:14:6", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", - "typeString": "function () view external returns (uint256)" - } - }, - "id": 1290, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6795:16:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6776:35:6" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 1296, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1292, - "name": "_dataset", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1268, - "src": "6833:8:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 1294, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6853:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 1293, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6845:7:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 1295, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6845:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "6833:22:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 1320, - "nodeType": "IfStatement", - "src": "6829:256:6", - "trueBody": { - "id": 1319, - "nodeType": "Block", - "src": "6888:197:6", - "statements": [ - { - "assignments": [ - 1298 - ], - "declarations": [ - { - "constant": false, - "id": 1298, - "name": "dataset", - "nodeType": "VariableDeclaration", - "scope": 1338, - "src": "6893:15:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Dataset_$279", - "typeString": "contract Dataset" - }, - "typeName": { - "contractScope": null, - "id": 1297, - "name": "Dataset", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 279, - "src": "6893:7:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Dataset_$279", - "typeString": "contract Dataset" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1302, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1300, - "name": "_dataset", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1268, - "src": "6919:8:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1299, - "name": "Dataset", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 279, - "src": "6911:7:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Dataset_$279_$", - "typeString": "type(contract Dataset)" - } - }, - "id": 1301, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6911:17:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Dataset_$279", - "typeString": "contract Dataset" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6893:35:6" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1306, - "name": "_dataset", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1268, - "src": "6971:8:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 1304, - "name": "datasetHub", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 752, - "src": "6941:10:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DatasetHub_$449", - "typeString": "contract DatasetHub" - } - }, - "id": 1305, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "isDatasetRegistred", - "nodeType": "MemberAccess", - "referencedDeclaration": 325, - "src": "6941:29:6", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view external returns (bool)" - } - }, - "id": 1307, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6941:39:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 1303, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "6933:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 1308, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6933:48:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1309, - "nodeType": "ExpressionStatement", - "src": "6933:48:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 1317, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1310, - "name": "emitcost", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1287, - "src": "7031:8:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 1313, - "name": "dataset", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1298, - "src": "7055:7:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Dataset_$279", - "typeString": "contract Dataset" - } - }, - "id": 1314, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "m_datasetPrice", - "nodeType": "MemberAccess", - "referencedDeclaration": 236, - "src": "7055:22:6", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", - "typeString": "function () view external returns (uint256)" - } - }, - "id": 1315, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7055:24:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 1311, - "name": "emitcost", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1287, - "src": "7042:8:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1312, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 3773, - "src": "7042:12:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 1316, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7042:38:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7031:49:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1318, - "nodeType": "ExpressionStatement", - "src": "7031:49:6" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1324, - "name": "_workerpool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1264, - "src": "7150:11:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 1322, - "name": "workerPoolHub", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 754, - "src": "7113:13:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkerPoolHub_$6349", - "typeString": "contract WorkerPoolHub" - } - }, - "id": 1323, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "isWorkerPoolRegistered", - "nodeType": "MemberAccess", - "referencedDeclaration": 6147, - "src": "7113:36:6", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view external returns (bool)" - } - }, - "id": 1325, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7113:49:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 1321, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "7105:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 1326, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7105:58:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1327, - "nodeType": "ExpressionStatement", - "src": "7105:58:6" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1330, - "name": "_requester", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1262, - "src": "7181:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1331, - "name": "emitcost", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1287, - "src": "7193:8:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1329, - "name": "lock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2397, - "src": "7176:4:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) returns (bool)" - } - }, - "id": 1332, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7176:26:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 1328, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "7168:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 1333, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7168:35:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1334, - "nodeType": "ExpressionStatement", - "src": "7168:35:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 1335, - "name": "emitcost", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1287, - "src": "7255:8:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 1272, - "id": 1336, - "nodeType": "Return", - "src": "7248:15:6" - } - ] - }, - "documentation": null, - "id": 1338, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "lockWorkOrderCost", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1269, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1262, - "name": "_requester", - "nodeType": "VariableDeclaration", - "scope": 1338, - "src": "6449:18:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1261, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6449:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1264, - "name": "_workerpool", - "nodeType": "VariableDeclaration", - "scope": 1338, - "src": "6471:19:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1263, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6471:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1266, - "name": "_app", - "nodeType": "VariableDeclaration", - "scope": 1338, - "src": "6524:12:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1265, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6524:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1268, - "name": "_dataset", - "nodeType": "VariableDeclaration", - "scope": 1338, - "src": "6577:16:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1267, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6577:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6445:149:6" - }, - "payable": false, - "returnParameters": { - "id": 1272, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1271, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1338, - "src": "6647:7:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1270, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6647:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6646:9:6" - }, - "scope": 2436, - "src": "6419:848:6", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 1475, - "nodeType": "Block", - "src": "7401:1466:6", - "statements": [ - { - "assignments": [ - 1349 - ], - "declarations": [ - { - "constant": false, - "id": 1349, - "name": "workorder", - "nodeType": "VariableDeclaration", - "scope": 1476, - "src": "7405:20:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkOrder_$4299", - "typeString": "contract WorkOrder" - }, - "typeName": { - "contractScope": null, - "id": 1348, - "name": "WorkOrder", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4299, - "src": "7405:9:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkOrder_$4299", - "typeString": "contract WorkOrder" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1353, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1351, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1340, - "src": "7439:5:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1350, - "name": "WorkOrder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4299, - "src": "7429:9:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_WorkOrder_$4299_$", - "typeString": "type(contract WorkOrder)" - } - }, - "id": 1352, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7429:16:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkOrder_$4299", - "typeString": "contract WorkOrder" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7405:40:6" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 1360, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 1355, - "name": "workorder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1349, - "src": "7457:9:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkOrder_$4299", - "typeString": "contract WorkOrder" - } - }, - "id": 1356, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "m_requester", - "nodeType": "MemberAccess", - "referencedDeclaration": 4050, - "src": "7457:21:6", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", - "typeString": "function () view external returns (address)" - } - }, - "id": 1357, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7457:23:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1358, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "7484:3:6", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1359, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7484:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "7457:37:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 1354, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "7449:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 1361, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7449:46:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1362, - "nodeType": "ExpressionStatement", - "src": "7449:46:6" - }, - { - "assignments": [ - 1364 - ], - "declarations": [ - { - "constant": false, - "id": 1364, - "name": "workerpool", - "nodeType": "VariableDeclaration", - "scope": 1476, - "src": "7499:21:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkerPool_$6097", - "typeString": "contract WorkerPool" - }, - "typeName": { - "contractScope": null, - "id": 1363, - "name": "WorkerPool", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6097, - "src": "7499:10:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkerPool_$6097", - "typeString": "contract WorkerPool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1370, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 1366, - "name": "workorder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1349, - "src": "7534:9:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkOrder_$4299", - "typeString": "contract WorkOrder" - } - }, - "id": 1367, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "m_workerpool", - "nodeType": "MemberAccess", - "referencedDeclaration": 4048, - "src": "7534:22:6", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", - "typeString": "function () view external returns (address)" - } - }, - "id": 1368, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7534:24:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1365, - "name": "WorkerPool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6097, - "src": "7523:10:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_WorkerPool_$6097_$", - "typeString": "type(contract WorkerPool)" - } - }, - "id": 1369, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7523:36:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkerPool_$6097", - "typeString": "contract WorkerPool" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7499:60:6" - }, - { - "assignments": [ - 1374 - ], - "declarations": [ - { - "constant": false, - "id": 1374, - "name": "currentStatus", - "nodeType": "VariableDeclaration", - "scope": 1476, - "src": "7564:42:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", - "typeString": "enum IexecLib.WorkOrderStatusEnum" - }, - "typeName": { - "contractScope": null, - "id": 1373, - "name": "IexecLib.WorkOrderStatusEnum", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2832, - "src": "7564:28:6", - "typeDescriptions": { - "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", - "typeString": "enum IexecLib.WorkOrderStatusEnum" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1378, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 1375, - "name": "workorder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1349, - "src": "7609:9:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkOrder_$4299", - "typeString": "contract WorkOrder" - } - }, - "id": 1376, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "m_status", - "nodeType": "MemberAccess", - "referencedDeclaration": 4040, - "src": "7609:18:6", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_enum$_WorkOrderStatusEnum_$2832_$", - "typeString": "function () view external returns (enum IexecLib.WorkOrderStatusEnum)" - } - }, - "id": 1377, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7609:20:6", - "typeDescriptions": { - "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", - "typeString": "enum IexecLib.WorkOrderStatusEnum" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7564:65:6" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 1390, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", - "typeString": "enum IexecLib.WorkOrderStatusEnum" - }, - "id": 1384, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1380, - "name": "currentStatus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1374, - "src": "7641:13:6", - "typeDescriptions": { - "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", - "typeString": "enum IexecLib.WorkOrderStatusEnum" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1381, - "name": "IexecLib", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2893, - "src": "7658:8:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IexecLib_$2893_$", - "typeString": "type(library IexecLib)" - } - }, - "id": 1382, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "WorkOrderStatusEnum", - "nodeType": "MemberAccess", - "referencedDeclaration": 2832, - "src": "7658:28:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_WorkOrderStatusEnum_$2832_$", - "typeString": "type(enum IexecLib.WorkOrderStatusEnum)" - } - }, - "id": 1383, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "ACTIVE", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7658:35:6", - "typeDescriptions": { - "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", - "typeString": "enum IexecLib.WorkOrderStatusEnum" - } - }, - "src": "7641:52:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", - "typeString": "enum IexecLib.WorkOrderStatusEnum" - }, - "id": 1389, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1385, - "name": "currentStatus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1374, - "src": "7697:13:6", - "typeDescriptions": { - "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", - "typeString": "enum IexecLib.WorkOrderStatusEnum" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1386, - "name": "IexecLib", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2893, - "src": "7714:8:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IexecLib_$2893_$", - "typeString": "type(library IexecLib)" - } - }, - "id": 1387, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "WorkOrderStatusEnum", - "nodeType": "MemberAccess", - "referencedDeclaration": 2832, - "src": "7714:28:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_WorkOrderStatusEnum_$2832_$", - "typeString": "type(enum IexecLib.WorkOrderStatusEnum)" - } - }, - "id": 1388, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "REVEALING", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7714:38:6", - "typeDescriptions": { - "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", - "typeString": "enum IexecLib.WorkOrderStatusEnum" - } - }, - "src": "7697:55:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "7641:111:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 1379, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "7633:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 1391, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7633:120:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1392, - "nodeType": "ExpressionStatement", - "src": "7633:120:6" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1396, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1340, - "src": "7832:5:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 1394, - "name": "workerpool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1364, - "src": "7800:10:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkerPool_$6097", - "typeString": "contract WorkerPool" - } - }, - "id": 1395, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "claimFailedConsensus", - "nodeType": "MemberAccess", - "referencedDeclaration": 5063, - "src": "7800:31:6", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$_t_bool_$", - "typeString": "function (address) external returns (bool)" - } - }, - "id": 1397, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7800:38:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 1393, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "7792:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 1398, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7792:47:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1399, - "nodeType": "ExpressionStatement", - "src": "7792:47:6" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 1400, - "name": "workorder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1349, - "src": "7843:9:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkOrder_$4299", - "typeString": "contract WorkOrder" - } - }, - "id": 1402, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "claim", - "nodeType": "MemberAccess", - "referencedDeclaration": 4249, - "src": "7843:15:6", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$__$returns$__$", - "typeString": "function () external" - } - }, - "id": 1403, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7843:17:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1404, - "nodeType": "ExpressionStatement", - "src": "7843:17:6" - }, - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 1406, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 1476, - "src": "8134:13:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1405, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8134:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1407, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "8134:13:6" - }, - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 1409, - "name": "workerpoolOwner", - "nodeType": "VariableDeclaration", - "scope": 1476, - "src": "8151:23:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1408, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8151:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1410, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "8151:23:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 1420, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - null, - null, - null, - { - "argumentTypes": null, - "id": 1411, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1406, - "src": "8182:5:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - null, - null, - null, - { - "argumentTypes": null, - "id": 1412, - "name": "workerpoolOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1409, - "src": "8191:15:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "id": 1413, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "8178:29:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$__$__$_t_uint256_$__$__$__$_t_address_$", - "typeString": "tuple(,,,uint256,,,,address)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 1416, - "name": "workorder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1349, - "src": "8237:9:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkOrder_$4299", - "typeString": "contract WorkOrder" - } - }, - "id": 1417, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "m_marketorderIdx", - "nodeType": "MemberAccess", - "referencedDeclaration": 4042, - "src": "8237:26:6", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", - "typeString": "function () view external returns (uint256)" - } - }, - "id": 1418, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8237:28:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 1414, - "name": "marketplace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 756, - "src": "8210:11:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Marketplace_$3513", - "typeString": "contract Marketplace" - } - }, - "id": 1415, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getMarketOrder", - "nodeType": "MemberAccess", - "referencedDeclaration": 3372, - "src": "8210:26:6", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_enum$_MarketOrderDirectionEnum_$2809_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$_t_address_$", - "typeString": "function (uint256) view external returns (enum IexecLib.MarketOrderDirectionEnum,uint256,uint256,uint256,uint256,uint256,address,address)" - } - }, - "id": 1419, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8210:56:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MarketOrderDirectionEnum_$2809_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$_t_address_$", - "typeString": "tuple(enum IexecLib.MarketOrderDirectionEnum,uint256,uint256,uint256,uint256,uint256,address,address)" - } - }, - "src": "8178:88:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1421, - "nodeType": "ExpressionStatement", - "src": "8178:88:6" - }, - { - "assignments": [ - 1423 - ], - "declarations": [ - { - "constant": false, - "id": 1423, - "name": "workerpoolStake", - "nodeType": "VariableDeclaration", - "scope": 1476, - "src": "8299:23:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1422, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8299:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1430, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 1426, - "name": "marketplace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 756, - "src": "8342:11:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Marketplace_$3513", - "typeString": "contract Marketplace" - } - }, - "id": 1427, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "ASK_STAKE_RATIO", - "nodeType": "MemberAccess", - "referencedDeclaration": 2914, - "src": "8342:27:6", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", - "typeString": "function () view external returns (uint256)" - } - }, - "id": 1428, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8342:29:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 1424, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1406, - "src": "8325:5:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1425, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "percentage", - "nodeType": "MemberAccess", - "referencedDeclaration": 3914, - "src": "8325:16:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 1429, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8325:47:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8299:73:6" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 1433, - "name": "workorder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1349, - "src": "8393:9:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkOrder_$4299", - "typeString": "contract WorkOrder" - } - }, - "id": 1434, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "m_requester", - "nodeType": "MemberAccess", - "referencedDeclaration": 4050, - "src": "8393:21:6", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", - "typeString": "function () view external returns (address)" - } - }, - "id": 1435, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8393:23:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 1438, - "name": "workorder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1349, - "src": "8428:9:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkOrder_$4299", - "typeString": "contract WorkOrder" - } - }, - "id": 1439, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "m_emitcost", - "nodeType": "MemberAccess", - "referencedDeclaration": 4052, - "src": "8428:20:6", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", - "typeString": "function () view external returns (uint256)" - } - }, - "id": 1440, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8428:22:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 1436, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1406, - "src": "8418:5:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1437, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 3773, - "src": "8418:9:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 1441, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8418:33:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1432, - "name": "unlock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2435, - "src": "8385:6:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) returns (bool)" - } - }, - "id": 1442, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8385:67:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 1431, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "8377:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 1443, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8377:76:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1444, - "nodeType": "ExpressionStatement", - "src": "8377:76:6" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1447, - "name": "workerpoolOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1409, - "src": "8511:15:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1448, - "name": "workerpoolStake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1423, - "src": "8536:15:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1446, - "name": "seize", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2359, - "src": "8503:5:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) returns (bool)" - } - }, - "id": 1449, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8503:49:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 1445, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "8495:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 1450, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8495:58:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1451, - "nodeType": "ExpressionStatement", - "src": "8495:58:6" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1454, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7063, - "src": "8684:4:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IexecHub_$2436", - "typeString": "contract IexecHub" - } - }, - { - "argumentTypes": null, - "id": 1455, - "name": "workerpoolStake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1423, - "src": "8709:15:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IexecHub_$2436", - "typeString": "contract IexecHub" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1453, - "name": "reward", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2329, - "src": "8676:6:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) returns (bool)" - } - }, - "id": 1456, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8676:49:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 1452, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "8668:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 1457, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8668:58:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1458, - "nodeType": "ExpressionStatement", - "src": "8668:58:6" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1461, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7063, - "src": "8746:4:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IexecHub_$2436", - "typeString": "contract IexecHub" - } - }, - { - "argumentTypes": null, - "id": 1462, - "name": "workerpoolStake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1423, - "src": "8771:15:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IexecHub_$2436", - "typeString": "contract IexecHub" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1460, - "name": "lock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2397, - "src": "8738:4:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) returns (bool)" - } - }, - "id": 1463, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8738:49:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 1459, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "8730:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 1464, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8730:58:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1465, - "nodeType": "ExpressionStatement", - "src": "8730:58:6" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1467, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1340, - "src": "8816:5:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 1468, - "name": "workorder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1349, - "src": "8823:9:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkOrder_$4299", - "typeString": "contract WorkOrder" - } - }, - "id": 1469, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "m_workerpool", - "nodeType": "MemberAccess", - "referencedDeclaration": 4048, - "src": "8823:22:6", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", - "typeString": "function () view external returns (address)" - } - }, - "id": 1470, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8823:24:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1466, - "name": "WorkOrderClaimed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 826, - "src": "8799:16:6", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", - "typeString": "function (address,address)" - } - }, - "id": 1471, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8799:49:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1472, - "nodeType": "EmitStatement", - "src": "8794:54:6" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 1473, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8859:4:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 1347, - "id": 1474, - "nodeType": "Return", - "src": "8852:11:6" - } - ] - }, - "documentation": "WorkOrder life cycle", - "id": 1476, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 1343, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1340, - "src": "7378:5:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "id": 1344, - "modifierName": { - "argumentTypes": null, - "id": 1342, - "name": "onlyRegisteredWoid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 808, - "src": "7359:18:6", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_address_$", - "typeString": "modifier (address)" - } - }, - "nodeType": "ModifierInvocation", - "src": "7359:25:6" - } - ], - "name": "claimFailedConsensus", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1341, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1340, - "name": "_woid", - "nodeType": "VariableDeclaration", - "scope": 1476, - "src": "7336:13:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1339, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7336:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7335:15:6" - }, - "payable": false, - "returnParameters": { - "id": 1347, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1346, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1476, - "src": "7394:4:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1345, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "7394:4:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7393:6:6" - }, - "scope": 2436, - "src": "7306:1561:6", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 1683, - "nodeType": "Block", - "src": "9019:2281:6", - "statements": [ - { - "assignments": [ - 1493 - ], - "declarations": [ - { - "constant": false, - "id": 1493, - "name": "workorder", - "nodeType": "VariableDeclaration", - "scope": 1684, - "src": "9023:19:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkOrder_$4299", - "typeString": "contract WorkOrder" - }, - "typeName": { - "contractScope": null, - "id": 1492, - "name": "WorkOrder", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4299, - "src": "9023:9:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkOrder_$4299", - "typeString": "contract WorkOrder" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1497, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1495, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1478, - "src": "9055:5:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1494, - "name": "WorkOrder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4299, - "src": "9045:9:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_WorkOrder_$4299_$", - "typeString": "type(contract WorkOrder)" - } - }, - "id": 1496, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9045:16:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkOrder_$4299", - "typeString": "contract WorkOrder" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9023:38:6" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 1504, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 1499, - "name": "workorder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1493, - "src": "9073:9:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkOrder_$4299", - "typeString": "contract WorkOrder" - } - }, - "id": 1500, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "m_workerpool", - "nodeType": "MemberAccess", - "referencedDeclaration": 4048, - "src": "9073:22:6", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", - "typeString": "function () view external returns (address)" - } - }, - "id": 1501, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9073:24:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1502, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "9101:3:6", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1503, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "9101:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "9073:38:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 1498, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "9065:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 1505, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9065:47:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1506, - "nodeType": "ExpressionStatement", - "src": "9065:47:6" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", - "typeString": "enum IexecLib.WorkOrderStatusEnum" - }, - "id": 1514, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 1508, - "name": "workorder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1493, - "src": "9124:9:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkOrder_$4299", - "typeString": "contract WorkOrder" - } - }, - "id": 1509, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "m_status", - "nodeType": "MemberAccess", - "referencedDeclaration": 4040, - "src": "9124:18:6", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_enum$_WorkOrderStatusEnum_$2832_$", - "typeString": "function () view external returns (enum IexecLib.WorkOrderStatusEnum)" - } - }, - "id": 1510, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9124:20:6", - "typeDescriptions": { - "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", - "typeString": "enum IexecLib.WorkOrderStatusEnum" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1511, - "name": "IexecLib", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2893, - "src": "9152:8:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IexecLib_$2893_$", - "typeString": "type(library IexecLib)" - } - }, - "id": 1512, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "WorkOrderStatusEnum", - "nodeType": "MemberAccess", - "referencedDeclaration": 2832, - "src": "9152:28:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_WorkOrderStatusEnum_$2832_$", - "typeString": "type(enum IexecLib.WorkOrderStatusEnum)" - } - }, - "id": 1513, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "REVEALING", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "9152:38:6", - "typeDescriptions": { - "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", - "typeString": "enum IexecLib.WorkOrderStatusEnum" - } - }, - "src": "9124:66:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 1507, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "9116:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 1515, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9116:75:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1516, - "nodeType": "ExpressionStatement", - "src": "9116:75:6" - }, - { - "assignments": [ - 1518 - ], - "declarations": [ - { - "constant": false, - "id": 1518, - "name": "app", - "nodeType": "VariableDeclaration", - "scope": 1684, - "src": "9205:11:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_App_$54", - "typeString": "contract App" - }, - "typeName": { - "contractScope": null, - "id": 1517, - "name": "App", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 54, - "src": "9205:3:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_App_$54", - "typeString": "contract App" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1524, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 1520, - "name": "workorder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1493, - "src": "9228:9:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkOrder_$4299", - "typeString": "contract WorkOrder" - } - }, - "id": 1521, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "m_app", - "nodeType": "MemberAccess", - "referencedDeclaration": 4044, - "src": "9228:15:6", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", - "typeString": "function () view external returns (address)" - } - }, - "id": 1522, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9228:17:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1519, - "name": "App", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 54, - "src": "9224:3:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_App_$54_$", - "typeString": "type(contract App)" - } - }, - "id": 1523, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9224:22:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_App_$54", - "typeString": "contract App" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9205:41:6" - }, - { - "assignments": [ - 1526 - ], - "declarations": [ - { - "constant": false, - "id": 1526, - "name": "appPrice", - "nodeType": "VariableDeclaration", - "scope": 1684, - "src": "9250:16:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1525, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9250:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1530, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 1527, - "name": "app", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1518, - "src": "9269:3:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_App_$54", - "typeString": "contract App" - } - }, - "id": 1528, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "m_appPrice", - "nodeType": "MemberAccess", - "referencedDeclaration": 11, - "src": "9269:14:6", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", - "typeString": "function () view external returns (uint256)" - } - }, - "id": 1529, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9269:16:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9250:35:6" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1533, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1531, - "name": "appPrice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1526, - "src": "9293:8:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 1532, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9304:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "9293:12:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 1544, - "nodeType": "IfStatement", - "src": "9289:70:6", - "trueBody": { - "id": 1543, - "nodeType": "Block", - "src": "9309:50:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 1536, - "name": "app", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1518, - "src": "9329:3:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_App_$54", - "typeString": "contract App" - } - }, - "id": 1537, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "m_owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 3681, - "src": "9329:11:6", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", - "typeString": "function () view external returns (address)" - } - }, - "id": 1538, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9329:13:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1539, - "name": "appPrice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1526, - "src": "9344:8:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1535, - "name": "reward", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2329, - "src": "9322:6:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) returns (bool)" - } - }, - "id": 1540, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9322:31:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 1534, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "9314:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 1541, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9314:40:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1542, - "nodeType": "ExpressionStatement", - "src": "9314:40:6" - } - ] - } - }, - { - "assignments": [ - 1546 - ], - "declarations": [ - { - "constant": false, - "id": 1546, - "name": "dataset", - "nodeType": "VariableDeclaration", - "scope": 1684, - "src": "9376:15:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Dataset_$279", - "typeString": "contract Dataset" - }, - "typeName": { - "contractScope": null, - "id": 1545, - "name": "Dataset", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 279, - "src": "9376:7:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Dataset_$279", - "typeString": "contract Dataset" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1552, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 1548, - "name": "workorder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1493, - "src": "9402:9:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkOrder_$4299", - "typeString": "contract WorkOrder" - } - }, - "id": 1549, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "m_dataset", - "nodeType": "MemberAccess", - "referencedDeclaration": 4046, - "src": "9402:19:6", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", - "typeString": "function () view external returns (address)" - } - }, - "id": 1550, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9402:21:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1547, - "name": "Dataset", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 279, - "src": "9394:7:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Dataset_$279_$", - "typeString": "type(contract Dataset)" - } - }, - "id": 1551, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9394:30:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Dataset_$279", - "typeString": "contract Dataset" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9376:48:6" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 1557, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1553, - "name": "dataset", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1546, - "src": "9432:7:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Dataset_$279", - "typeString": "contract Dataset" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 1555, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9451:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 1554, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9443:7:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 1556, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9443:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "9432:21:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 1579, - "nodeType": "IfStatement", - "src": "9428:175:6", - "trueBody": { - "id": 1578, - "nodeType": "Block", - "src": "9457:146:6", - "statements": [ - { - "assignments": [ - 1559 - ], - "declarations": [ - { - "constant": false, - "id": 1559, - "name": "datasetPrice", - "nodeType": "VariableDeclaration", - "scope": 1684, - "src": "9462:20:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1558, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9462:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1563, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 1560, - "name": "dataset", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1546, - "src": "9485:7:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Dataset_$279", - "typeString": "contract Dataset" - } - }, - "id": 1561, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "m_datasetPrice", - "nodeType": "MemberAccess", - "referencedDeclaration": 236, - "src": "9485:22:6", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", - "typeString": "function () view external returns (uint256)" - } - }, - "id": 1562, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9485:24:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9462:47:6" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1566, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1564, - "name": "datasetPrice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1559, - "src": "9518:12:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 1565, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9533:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "9518:16:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 1577, - "nodeType": "IfStatement", - "src": "9514:85:6", - "trueBody": { - "id": 1576, - "nodeType": "Block", - "src": "9539:60:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 1569, - "name": "dataset", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1546, - "src": "9560:7:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Dataset_$279", - "typeString": "contract Dataset" - } - }, - "id": 1570, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "m_owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 3681, - "src": "9560:15:6", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", - "typeString": "function () view external returns (address)" - } - }, - "id": 1571, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9560:17:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1572, - "name": "datasetPrice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1559, - "src": "9579:12:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1568, - "name": "reward", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2329, - "src": "9553:6:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) returns (bool)" - } - }, - "id": 1573, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9553:39:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 1567, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "9545:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 1574, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9545:48:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1575, - "nodeType": "ExpressionStatement", - "src": "9545:48:6" - } - ] - } - } - ] - } - }, - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 1581, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 1684, - "src": "10072:13:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1580, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10072:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1582, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "10072:13:6" - }, - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 1584, - "name": "workerpoolOwner", - "nodeType": "VariableDeclaration", - "scope": 1684, - "src": "10089:23:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1583, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10089:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1585, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "10089:23:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 1595, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - null, - null, - null, - { - "argumentTypes": null, - "id": 1586, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1581, - "src": "10120:5:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - null, - null, - null, - { - "argumentTypes": null, - "id": 1587, - "name": "workerpoolOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1584, - "src": "10129:15:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "id": 1588, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "10116:29:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$__$__$_t_uint256_$__$__$__$_t_address_$", - "typeString": "tuple(,,,uint256,,,,address)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 1591, - "name": "workorder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1493, - "src": "10175:9:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkOrder_$4299", - "typeString": "contract WorkOrder" - } - }, - "id": 1592, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "m_marketorderIdx", - "nodeType": "MemberAccess", - "referencedDeclaration": 4042, - "src": "10175:26:6", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", - "typeString": "function () view external returns (uint256)" - } - }, - "id": 1593, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10175:28:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 1589, - "name": "marketplace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 756, - "src": "10148:11:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Marketplace_$3513", - "typeString": "contract Marketplace" - } - }, - "id": 1590, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getMarketOrder", - "nodeType": "MemberAccess", - "referencedDeclaration": 3372, - "src": "10148:26:6", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_enum$_MarketOrderDirectionEnum_$2809_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$_t_address_$", - "typeString": "function (uint256) view external returns (enum IexecLib.MarketOrderDirectionEnum,uint256,uint256,uint256,uint256,uint256,address,address)" - } - }, - "id": 1594, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10148:56:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MarketOrderDirectionEnum_$2809_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$_t_address_$", - "typeString": "tuple(enum IexecLib.MarketOrderDirectionEnum,uint256,uint256,uint256,uint256,uint256,address,address)" - } - }, - "src": "10116:88:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1596, - "nodeType": "ExpressionStatement", - "src": "10116:88:6" - }, - { - "assignments": [ - 1598 - ], - "declarations": [ - { - "constant": false, - "id": 1598, - "name": "workerpoolStake", - "nodeType": "VariableDeclaration", - "scope": 1684, - "src": "10237:23:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1597, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10237:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1605, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 1601, - "name": "marketplace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 756, - "src": "10286:11:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Marketplace_$3513", - "typeString": "contract Marketplace" - } - }, - "id": 1602, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "ASK_STAKE_RATIO", - "nodeType": "MemberAccess", - "referencedDeclaration": 2914, - "src": "10286:27:6", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", - "typeString": "function () view external returns (uint256)" - } - }, - "id": 1603, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10286:29:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 1599, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1581, - "src": "10269:5:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1600, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "percentage", - "nodeType": "MemberAccess", - "referencedDeclaration": 3914, - "src": "10269:16:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 1604, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10269:47:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10237:79:6" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 1608, - "name": "workorder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1493, - "src": "10336:9:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkOrder_$4299", - "typeString": "contract WorkOrder" - } - }, - "id": 1609, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "m_requester", - "nodeType": "MemberAccess", - "referencedDeclaration": 4050, - "src": "10336:21:6", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", - "typeString": "function () view external returns (address)" - } - }, - "id": 1610, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10336:23:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 1613, - "name": "workorder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1493, - "src": "10371:9:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkOrder_$4299", - "typeString": "contract WorkOrder" - } - }, - "id": 1614, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "m_emitcost", - "nodeType": "MemberAccess", - "referencedDeclaration": 4052, - "src": "10371:20:6", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", - "typeString": "function () view external returns (uint256)" - } - }, - "id": 1615, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10371:22:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 1611, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1581, - "src": "10361:5:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1612, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 3773, - "src": "10361:9:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 1616, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10361:33:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1607, - "name": "seize", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2359, - "src": "10329:5:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) returns (bool)" - } - }, - "id": 1617, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10329:66:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 1606, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "10321:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 1618, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10321:75:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1619, - "nodeType": "ExpressionStatement", - "src": "10321:75:6" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1622, - "name": "workerpoolOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1584, - "src": "10468:15:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1623, - "name": "workerpoolStake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1598, - "src": "10493:15:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1621, - "name": "unlock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2435, - "src": "10461:6:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) returns (bool)" - } - }, - "id": 1624, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10461:48:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 1620, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "10453:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 1625, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10453:57:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1626, - "nodeType": "ExpressionStatement", - "src": "10453:57:6" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1630, - "name": "_stdout", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1480, - "src": "10580:7:6", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 1631, - "name": "_stderr", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1482, - "src": "10589:7:6", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 1632, - "name": "_uri", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1484, - "src": "10598:4:6", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 1627, - "name": "workorder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1493, - "src": "10560:9:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkOrder_$4299", - "typeString": "contract WorkOrder" - } - }, - "id": 1629, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "setResult", - "nodeType": "MemberAccess", - "referencedDeclaration": 4298, - "src": "10560:19:6", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (string memory,string memory,string memory) external" - } - }, - "id": 1633, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10560:43:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1634, - "nodeType": "ExpressionStatement", - "src": "10560:43:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 1640, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1635, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1581, - "src": "10951:5:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1636, - "name": "m_accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 792, - "src": "10959:10:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$2878_storage_$", - "typeString": "mapping(address => struct IexecLib.Account storage ref)" - } - }, - "id": 1638, - "indexExpression": { - "argumentTypes": null, - "id": 1637, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7063, - "src": "10970:4:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IexecHub_$2436", - "typeString": "contract IexecHub" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10959:16:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Account_$2878_storage", - "typeString": "struct IexecLib.Account storage ref" - } - }, - "id": 1639, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "locked", - "nodeType": "MemberAccess", - "referencedDeclaration": 2877, - "src": "10959:23:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10951:31:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1641, - "nodeType": "ExpressionStatement", - "src": "10951:31:6" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1644, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1642, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1581, - "src": "11025:5:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 1643, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11033:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "11025:9:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 1673, - "nodeType": "IfStatement", - "src": "11022:199:6", - "trueBody": { - "id": 1672, - "nodeType": "Block", - "src": "11038:183:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 1656, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1645, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1581, - "src": "11043:5:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1653, - "name": "STAKE_BONUS_MIN_THRESHOLD", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 745, - "src": "11101:25:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1650, - "name": "STAKE_BONUS_RATIO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 742, - "src": "11078:17:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 1648, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1581, - "src": "11061:5:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1649, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "percentage", - "nodeType": "MemberAccess", - "referencedDeclaration": 3914, - "src": "11061:16:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 1651, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11061:35:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1652, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "max", - "nodeType": "MemberAccess", - "referencedDeclaration": 3861, - "src": "11061:39:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 1654, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11061:66:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 1646, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1581, - "src": "11051:5:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1647, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "min", - "nodeType": "MemberAccess", - "referencedDeclaration": 3878, - "src": "11051:9:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 1655, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11051:77:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11043:85:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1657, - "nodeType": "ExpressionStatement", - "src": "11043:85:6" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1660, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7063, - "src": "11147:4:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IexecHub_$2436", - "typeString": "contract IexecHub" - } - }, - { - "argumentTypes": null, - "id": 1661, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1581, - "src": "11165:5:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IexecHub_$2436", - "typeString": "contract IexecHub" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1659, - "name": "seize", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2359, - "src": "11141:5:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) returns (bool)" - } - }, - "id": 1662, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11141:30:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 1658, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "11133:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 1663, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11133:39:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1664, - "nodeType": "ExpressionStatement", - "src": "11133:39:6" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1667, - "name": "workerpoolOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1584, - "src": "11192:15:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1668, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1581, - "src": "11209:5:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1666, - "name": "reward", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2329, - "src": "11185:6:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) returns (bool)" - } - }, - "id": 1669, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11185:30:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 1665, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "11177:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 1670, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11177:39:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1671, - "nodeType": "ExpressionStatement", - "src": "11177:39:6" - } - ] - } - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1675, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1478, - "src": "11249:5:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 1676, - "name": "workorder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1493, - "src": "11256:9:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkOrder_$4299", - "typeString": "contract WorkOrder" - } - }, - "id": 1677, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "m_workerpool", - "nodeType": "MemberAccess", - "referencedDeclaration": 4048, - "src": "11256:22:6", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", - "typeString": "function () view external returns (address)" - } - }, - "id": 1678, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11256:24:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1674, - "name": "WorkOrderCompleted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 832, - "src": "11230:18:6", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", - "typeString": "function (address,address)" - } - }, - "id": 1679, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11230:51:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1680, - "nodeType": "EmitStatement", - "src": "11225:56:6" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 1681, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11292:4:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 1491, - "id": 1682, - "nodeType": "Return", - "src": "11285:11:6" - } - ] - }, - "documentation": null, - "id": 1684, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 1487, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1478, - "src": "8996:5:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "id": 1488, - "modifierName": { - "argumentTypes": null, - "id": 1486, - "name": "onlyRegisteredWoid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 808, - "src": "8977:18:6", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_address_$", - "typeString": "modifier (address)" - } - }, - "nodeType": "ModifierInvocation", - "src": "8977:25:6" - } - ], - "name": "finalizeWorkOrder", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1485, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1478, - "name": "_woid", - "nodeType": "VariableDeclaration", - "scope": 1684, - "src": "8900:13:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1477, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8900:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1480, - "name": "_stdout", - "nodeType": "VariableDeclaration", - "scope": 1684, - "src": "8917:15:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - "typeName": { - "id": 1479, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "8917:6:6", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1482, - "name": "_stderr", - "nodeType": "VariableDeclaration", - "scope": 1684, - "src": "8936:15:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - "typeName": { - "id": 1481, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "8936:6:6", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1484, - "name": "_uri", - "nodeType": "VariableDeclaration", - "scope": 1684, - "src": "8955:12:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - "typeName": { - "id": 1483, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "8955:6:6", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8896:72:6" - }, - "payable": false, - "returnParameters": { - "id": 1491, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1490, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1684, - "src": "9012:4:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1489, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "9012:4:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9011:6:6" - }, - "scope": 2436, - "src": "8870:2430:6", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 1702, - "nodeType": "Block", - "src": "11424:89:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1693, - "name": "_catId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1686, - "src": "11453:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1692, - "name": "existingCategory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1718, - "src": "11436:16:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 1694, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11436:24:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 1691, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "11428:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 1695, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11428:33:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1696, - "nodeType": "ExpressionStatement", - "src": "11428:33:6" - }, - { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1697, - "name": "m_categories", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 773, - "src": "11472:12:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Category_$2892_storage_$", - "typeString": "mapping(uint256 => struct IexecLib.Category storage ref)" - } - }, - "id": 1699, - "indexExpression": { - "argumentTypes": null, - "id": 1698, - "name": "_catId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1686, - "src": "11485:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11472:20:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Category_$2892_storage", - "typeString": "struct IexecLib.Category storage ref" - } - }, - "id": 1700, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "workClockTimeRef", - "nodeType": "MemberAccess", - "referencedDeclaration": 2891, - "src": "11472:37:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 1690, - "id": 1701, - "nodeType": "Return", - "src": "11465:44:6" - } - ] - }, - "documentation": "Views", - "id": 1703, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getCategoryWorkClockTimeRef", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1687, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1686, - "name": "_catId", - "nodeType": "VariableDeclaration", - "scope": 1703, - "src": "11360:14:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1685, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11360:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11359:16:6" - }, - "payable": false, - "returnParameters": { - "id": 1690, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1689, - "name": "workClockTimeRef", - "nodeType": "VariableDeclaration", - "scope": 1703, - "src": "11397:24:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1688, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11397:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11396:26:6" - }, - "scope": 2436, - "src": "11323:190:6", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 1717, - "nodeType": "Block", - "src": "11601:45:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1715, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1710, - "name": "m_categories", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 773, - "src": "11612:12:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Category_$2892_storage_$", - "typeString": "mapping(uint256 => struct IexecLib.Category storage ref)" - } - }, - "id": 1712, - "indexExpression": { - "argumentTypes": null, - "id": 1711, - "name": "_catId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1705, - "src": "11625:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11612:20:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Category_$2892_storage", - "typeString": "struct IexecLib.Category storage ref" - } - }, - "id": 1713, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "catid", - "nodeType": "MemberAccess", - "referencedDeclaration": 2885, - "src": "11612:26:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 1714, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11641:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "11612:30:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 1709, - "id": 1716, - "nodeType": "Return", - "src": "11605:37:6" - } - ] - }, - "documentation": null, - "id": 1718, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "existingCategory", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1706, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1705, - "name": "_catId", - "nodeType": "VariableDeclaration", - "scope": 1718, - "src": "11542:14:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1704, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11542:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11541:16:6" - }, - "payable": false, - "returnParameters": { - "id": 1709, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1708, - "name": "categoryExist", - "nodeType": "VariableDeclaration", - "scope": 1718, - "src": "11580:18:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1707, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "11580:4:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11579:20:6" - }, - "scope": 2436, - "src": "11516:130:6", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 1755, - "nodeType": "Block", - "src": "11783:196:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1733, - "name": "_catId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1720, - "src": "11812:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1732, - "name": "existingCategory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1718, - "src": "11795:16:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 1734, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11795:24:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 1731, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "11787:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 1735, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11787:33:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1736, - "nodeType": "ExpressionStatement", - "src": "11787:33:6" - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1737, - "name": "m_categories", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 773, - "src": "11836:12:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Category_$2892_storage_$", - "typeString": "mapping(uint256 => struct IexecLib.Category storage ref)" - } - }, - "id": 1739, - "indexExpression": { - "argumentTypes": null, - "id": 1738, - "name": "_catId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1720, - "src": "11849:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11836:20:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Category_$2892_storage", - "typeString": "struct IexecLib.Category storage ref" - } - }, - "id": 1740, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "catid", - "nodeType": "MemberAccess", - "referencedDeclaration": 2885, - "src": "11836:26:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1741, - "name": "m_categories", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 773, - "src": "11867:12:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Category_$2892_storage_$", - "typeString": "mapping(uint256 => struct IexecLib.Category storage ref)" - } - }, - "id": 1743, - "indexExpression": { - "argumentTypes": null, - "id": 1742, - "name": "_catId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1720, - "src": "11880:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11867:20:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Category_$2892_storage", - "typeString": "struct IexecLib.Category storage ref" - } - }, - "id": 1744, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "name", - "nodeType": "MemberAccess", - "referencedDeclaration": 2887, - "src": "11867:25:6", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1745, - "name": "m_categories", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 773, - "src": "11897:12:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Category_$2892_storage_$", - "typeString": "mapping(uint256 => struct IexecLib.Category storage ref)" - } - }, - "id": 1747, - "indexExpression": { - "argumentTypes": null, - "id": 1746, - "name": "_catId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1720, - "src": "11910:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11897:20:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Category_$2892_storage", - "typeString": "struct IexecLib.Category storage ref" - } - }, - "id": 1748, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "description", - "nodeType": "MemberAccess", - "referencedDeclaration": 2889, - "src": "11897:32:6", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1749, - "name": "m_categories", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 773, - "src": "11934:12:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Category_$2892_storage_$", - "typeString": "mapping(uint256 => struct IexecLib.Category storage ref)" - } - }, - "id": 1751, - "indexExpression": { - "argumentTypes": null, - "id": 1750, - "name": "_catId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1720, - "src": "11947:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11934:20:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Category_$2892_storage", - "typeString": "struct IexecLib.Category storage ref" - } - }, - "id": 1752, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "workClockTimeRef", - "nodeType": "MemberAccess", - "referencedDeclaration": 2891, - "src": "11934:37:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1753, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "11831:144:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_string_storage_$_t_string_storage_$_t_uint256_$", - "typeString": "tuple(uint256,string storage ref,string storage ref,uint256)" - } - }, - "functionReturnParameters": 1730, - "id": 1754, - "nodeType": "Return", - "src": "11824:151:6" - } - ] - }, - "documentation": null, - "id": 1756, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getCategory", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1721, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1720, - "name": "_catId", - "nodeType": "VariableDeclaration", - "scope": 1756, - "src": "11670:14:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1719, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11670:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11669:16:6" - }, - "payable": false, - "returnParameters": { - "id": 1730, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1723, - "name": "catid", - "nodeType": "VariableDeclaration", - "scope": 1756, - "src": "11707:13:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1722, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11707:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1725, - "name": "name", - "nodeType": "VariableDeclaration", - "scope": 1756, - "src": "11722:11:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - "typeName": { - "id": 1724, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "11722:6:6", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1727, - "name": "description", - "nodeType": "VariableDeclaration", - "scope": 1756, - "src": "11735:19:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - "typeName": { - "id": 1726, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "11735:6:6", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1729, - "name": "workClockTimeRef", - "nodeType": "VariableDeclaration", - "scope": 1756, - "src": "11756:24:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1728, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11756:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11706:75:6" - }, - "scope": 2436, - "src": "11649:330:6", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 1774, - "nodeType": "Block", - "src": "12087:79:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1767, - "name": "_worker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1758, - "src": "12134:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 1765, - "name": "workerPoolHub", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 754, - "src": "12099:13:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkerPoolHub_$6349", - "typeString": "contract WorkerPoolHub" - } - }, - "id": 1766, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getWorkerAffectation", - "nodeType": "MemberAccess", - "referencedDeclaration": 6199, - "src": "12099:34:6", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_address_$", - "typeString": "function (address) view external returns (address)" - } - }, - "id": 1768, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12099:43:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1769, - "name": "m_scores", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 812, - "src": "12144:8:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 1771, - "indexExpression": { - "argumentTypes": null, - "id": 1770, - "name": "_worker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1758, - "src": "12153:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12144:17:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1772, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "12098:64:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_address_$_t_uint256_$", - "typeString": "tuple(address,uint256)" - } - }, - "functionReturnParameters": 1764, - "id": 1773, - "nodeType": "Return", - "src": "12091:71:6" - } - ] - }, - "documentation": null, - "id": 1775, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getWorkerStatus", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1759, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1758, - "name": "_worker", - "nodeType": "VariableDeclaration", - "scope": 1775, - "src": "12007:15:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1757, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12007:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12006:17:6" - }, - "payable": false, - "returnParameters": { - "id": 1764, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1761, - "name": "workerPool", - "nodeType": "VariableDeclaration", - "scope": 1775, - "src": "12045:18:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1760, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12045:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1763, - "name": "workerScore", - "nodeType": "VariableDeclaration", - "scope": 1775, - "src": "12065:19:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1762, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12065:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12044:41:6" - }, - "scope": 2436, - "src": "11982:184:6", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 1786, - "nodeType": "Block", - "src": "12253:32:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1782, - "name": "m_scores", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 812, - "src": "12264:8:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 1784, - "indexExpression": { - "argumentTypes": null, - "id": 1783, - "name": "_worker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1777, - "src": "12273:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12264:17:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 1781, - "id": 1785, - "nodeType": "Return", - "src": "12257:24:6" - } - ] - }, - "documentation": null, - "id": 1787, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getWorkerScore", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1778, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1777, - "name": "_worker", - "nodeType": "VariableDeclaration", - "scope": 1787, - "src": "12193:15:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1776, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12193:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12192:17:6" - }, - "payable": false, - "returnParameters": { - "id": 1781, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1780, - "name": "workerScore", - "nodeType": "VariableDeclaration", - "scope": 1787, - "src": "12231:19:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1779, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12231:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12230:21:6" - }, - "scope": 2436, - "src": "12169:116:6", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 1856, - "nodeType": "Block", - "src": "12425:628:6", - "statements": [ - { - "assignments": [ - 1795 - ], - "declarations": [ - { - "constant": false, - "id": 1795, - "name": "workerpool", - "nodeType": "VariableDeclaration", - "scope": 1857, - "src": "12429:21:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkerPool_$6097", - "typeString": "contract WorkerPool" - }, - "typeName": { - "contractScope": null, - "id": 1794, - "name": "WorkerPool", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6097, - "src": "12429:10:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkerPool_$6097", - "typeString": "contract WorkerPool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1800, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1797, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "12464:3:6", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1798, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12464:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1796, - "name": "WorkerPool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6097, - "src": "12453:10:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_WorkerPool_$6097_$", - "typeString": "type(contract WorkerPool)" - } - }, - "id": 1799, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12453:22:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkerPool_$6097", - "typeString": "contract WorkerPool" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "12429:46:6" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1804, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "12547:3:6", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1805, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12547:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 1802, - "name": "workerPoolHub", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 754, - "src": "12510:13:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkerPoolHub_$6349", - "typeString": "contract WorkerPoolHub" - } - }, - "id": 1803, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "isWorkerPoolRegistered", - "nodeType": "MemberAccess", - "referencedDeclaration": 6147, - "src": "12510:36:6", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view external returns (bool)" - } - }, - "id": 1806, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12510:48:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 1801, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "12502:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 1807, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12502:57:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1808, - "nodeType": "ExpressionStatement", - "src": "12502:57:6" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1811, - "name": "_worker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1789, - "src": "12601:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 1812, - "name": "workerpool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1795, - "src": "12610:10:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkerPool_$6097", - "typeString": "contract WorkerPool" - } - }, - "id": 1813, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "m_subscriptionLockStakePolicy", - "nodeType": "MemberAccess", - "referencedDeclaration": 4326, - "src": "12610:40:6", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", - "typeString": "function () view external returns (uint256)" - } - }, - "id": 1814, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12610:42:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1810, - "name": "lock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2397, - "src": "12596:4:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) returns (bool)" - } - }, - "id": 1815, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12596:57:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 1809, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "12588:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 1816, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12588:66:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1817, - "nodeType": "ExpressionStatement", - "src": "12588:66:6" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1826, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1819, - "name": "m_accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 792, - "src": "12697:10:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$2878_storage_$", - "typeString": "mapping(address => struct IexecLib.Account storage ref)" - } - }, - "id": 1821, - "indexExpression": { - "argumentTypes": null, - "id": 1820, - "name": "_worker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1789, - "src": "12708:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12697:19:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Account_$2878_storage", - "typeString": "struct IexecLib.Account storage ref" - } - }, - "id": 1822, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "stake", - "nodeType": "MemberAccess", - "referencedDeclaration": 2875, - "src": "12697:25:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 1823, - "name": "workerpool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1795, - "src": "12726:10:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkerPool_$6097", - "typeString": "contract WorkerPool" - } - }, - "id": 1824, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "m_subscriptionMinimumStakePolicy", - "nodeType": "MemberAccess", - "referencedDeclaration": 4328, - "src": "12726:43:6", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", - "typeString": "function () view external returns (uint256)" - } - }, - "id": 1825, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12726:45:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12697:74:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 1818, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "12689:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 1827, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12689:83:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1828, - "nodeType": "ExpressionStatement", - "src": "12689:83:6" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1836, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1830, - "name": "m_scores", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 812, - "src": "12784:8:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 1832, - "indexExpression": { - "argumentTypes": null, - "id": 1831, - "name": "_worker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1789, - "src": "12793:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12784:17:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 1833, - "name": "workerpool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1795, - "src": "12813:10:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkerPool_$6097", - "typeString": "contract WorkerPool" - } - }, - "id": 1834, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "m_subscriptionMinimumScorePolicy", - "nodeType": "MemberAccess", - "referencedDeclaration": 4330, - "src": "12813:43:6", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", - "typeString": "function () view external returns (uint256)" - } - }, - "id": 1835, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12813:45:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12784:74:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 1829, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "12776:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 1837, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12776:83:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1838, - "nodeType": "ExpressionStatement", - "src": "12776:83:6" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1842, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "12935:3:6", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1843, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12935:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1844, - "name": "_worker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1789, - "src": "12947:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 1840, - "name": "workerPoolHub", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 754, - "src": "12895:13:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkerPoolHub_$6349", - "typeString": "contract WorkerPoolHub" - } - }, - "id": 1841, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "registerWorkerAffectation", - "nodeType": "MemberAccess", - "referencedDeclaration": 6318, - "src": "12895:39:6", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$returns$_t_bool_$", - "typeString": "function (address,address) external returns (bool)" - } - }, - "id": 1845, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12895:60:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 1839, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "12887:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 1846, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12887:69:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1847, - "nodeType": "ExpressionStatement", - "src": "12887:69:6" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1849, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "13014:3:6", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1850, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "13014:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1851, - "name": "_worker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1789, - "src": "13026:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1848, - "name": "WorkerPoolSubscription", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 880, - "src": "12991:22:6", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", - "typeString": "function (address,address)" - } - }, - "id": 1852, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12991:43:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1853, - "nodeType": "EmitStatement", - "src": "12986:48:6" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 1854, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13045:4:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 1793, - "id": 1855, - "nodeType": "Return", - "src": "13038:11:6" - } - ] - }, - "documentation": "Worker subscription", - "id": 1857, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "registerToPool", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1790, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1789, - "name": "_worker", - "nodeType": "VariableDeclaration", - "scope": 1857, - "src": "12346:15:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1788, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12346:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12345:17:6" - }, - "payable": false, - "returnParameters": { - "id": 1793, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1792, - "name": "subscribed", - "nodeType": "VariableDeclaration", - "scope": 1857, - "src": "12379:15:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1791, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "12379:4:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12378:17:6" - }, - "scope": 2436, - "src": "12322:731:6", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 1880, - "nodeType": "Block", - "src": "13165:145:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1866, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "13190:3:6", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1867, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "13190:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1868, - "name": "_worker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1859, - "src": "13202:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1865, - "name": "removeWorker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1947, - "src": "13177:12:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$returns$_t_bool_$", - "typeString": "function (address,address) returns (bool)" - } - }, - "id": 1869, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13177:33:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 1864, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "13169:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 1870, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13169:42:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1871, - "nodeType": "ExpressionStatement", - "src": "13169:42:6" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1873, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "13271:3:6", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1874, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "13271:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1875, - "name": "_worker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1859, - "src": "13283:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1872, - "name": "WorkerPoolUnsubscription", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 886, - "src": "13246:24:6", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", - "typeString": "function (address,address)" - } - }, - "id": 1876, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13246:45:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1877, - "nodeType": "EmitStatement", - "src": "13241:50:6" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 1878, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13302:4:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 1863, - "id": 1879, - "nodeType": "Return", - "src": "13295:11:6" - } - ] - }, - "documentation": null, - "id": 1881, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "unregisterFromPool", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1860, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1859, - "name": "_worker", - "nodeType": "VariableDeclaration", - "scope": 1881, - "src": "13084:15:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1858, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13084:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13083:17:6" - }, - "payable": false, - "returnParameters": { - "id": 1863, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1862, - "name": "unsubscribed", - "nodeType": "VariableDeclaration", - "scope": 1881, - "src": "13117:17:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1861, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "13117:4:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13116:19:6" - }, - "scope": 2436, - "src": "13056:254:6", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 1904, - "nodeType": "Block", - "src": "13415:139:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1890, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "13440:3:6", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1891, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "13440:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1892, - "name": "_worker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1883, - "src": "13452:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1889, - "name": "removeWorker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1947, - "src": "13427:12:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$returns$_t_bool_$", - "typeString": "function (address,address) returns (bool)" - } - }, - "id": 1893, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13427:33:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 1888, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "13419:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 1894, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13419:42:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1895, - "nodeType": "ExpressionStatement", - "src": "13419:42:6" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1897, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "13515:3:6", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1898, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "13515:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1899, - "name": "_worker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1883, - "src": "13527:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1896, - "name": "WorkerPoolEviction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 892, - "src": "13496:18:6", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", - "typeString": "function (address,address)" - } - }, - "id": 1900, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13496:39:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1901, - "nodeType": "EmitStatement", - "src": "13491:44:6" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 1902, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13546:4:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 1887, - "id": 1903, - "nodeType": "Return", - "src": "13539:11:6" - } - ] - }, - "documentation": null, - "id": 1905, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "evictWorker", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1884, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1883, - "name": "_worker", - "nodeType": "VariableDeclaration", - "scope": 1905, - "src": "13334:15:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1882, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13334:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13333:17:6" - }, - "payable": false, - "returnParameters": { - "id": 1887, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1886, - "name": "unsubscribed", - "nodeType": "VariableDeclaration", - "scope": 1905, - "src": "13367:17:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1885, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "13367:4:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13366:19:6" - }, - "scope": 2436, - "src": "13313:241:6", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 1946, - "nodeType": "Block", - "src": "13655:352:6", - "statements": [ - { - "assignments": [ - 1915 - ], - "declarations": [ - { - "constant": false, - "id": 1915, - "name": "workerpool", - "nodeType": "VariableDeclaration", - "scope": 1947, - "src": "13659:21:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkerPool_$6097", - "typeString": "contract WorkerPool" - }, - "typeName": { - "contractScope": null, - "id": 1914, - "name": "WorkerPool", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6097, - "src": "13659:10:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkerPool_$6097", - "typeString": "contract WorkerPool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1919, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1917, - "name": "_workerpool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1907, - "src": "13694:11:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1916, - "name": "WorkerPool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6097, - "src": "13683:10:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_WorkerPool_$6097_$", - "typeString": "type(contract WorkerPool)" - } - }, - "id": 1918, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13683:23:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkerPool_$6097", - "typeString": "contract WorkerPool" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "13659:47:6" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1923, - "name": "_workerpool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1907, - "src": "13778:11:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 1921, - "name": "workerPoolHub", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 754, - "src": "13741:13:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkerPoolHub_$6349", - "typeString": "contract WorkerPoolHub" - } - }, - "id": 1922, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "isWorkerPoolRegistered", - "nodeType": "MemberAccess", - "referencedDeclaration": 6147, - "src": "13741:36:6", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view external returns (bool)" - } - }, - "id": 1924, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13741:49:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 1920, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "13733:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 1925, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13733:58:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1926, - "nodeType": "ExpressionStatement", - "src": "13733:58:6" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1929, - "name": "_worker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1909, - "src": "13835:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 1930, - "name": "workerpool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1915, - "src": "13844:10:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkerPool_$6097", - "typeString": "contract WorkerPool" - } - }, - "id": 1931, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "m_subscriptionLockStakePolicy", - "nodeType": "MemberAccess", - "referencedDeclaration": 4326, - "src": "13844:40:6", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", - "typeString": "function () view external returns (uint256)" - } - }, - "id": 1932, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13844:42:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1928, - "name": "unlock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2435, - "src": "13828:6:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) returns (bool)" - } - }, - "id": 1933, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13828:59:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 1927, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "13820:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 1934, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13820:68:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1935, - "nodeType": "ExpressionStatement", - "src": "13820:68:6" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1939, - "name": "_workerpool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1907, - "src": "13966:11:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1940, - "name": "_worker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1909, - "src": "13979:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 1937, - "name": "workerPoolHub", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 754, - "src": "13924:13:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkerPoolHub_$6349", - "typeString": "contract WorkerPoolHub" - } - }, - "id": 1938, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "unregisterWorkerAffectation", - "nodeType": "MemberAccess", - "referencedDeclaration": 6348, - "src": "13924:41:6", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$returns$_t_bool_$", - "typeString": "function (address,address) external returns (bool)" - } - }, - "id": 1941, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13924:63:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 1936, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "13916:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 1942, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13916:72:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1943, - "nodeType": "ExpressionStatement", - "src": "13916:72:6" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 1944, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13999:4:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 1913, - "id": 1945, - "nodeType": "Return", - "src": "13992:11:6" - } - ] - }, - "documentation": null, - "id": 1947, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "removeWorker", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1910, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1907, - "name": "_workerpool", - "nodeType": "VariableDeclaration", - "scope": 1947, - "src": "13579:19:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1906, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13579:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1909, - "name": "_worker", - "nodeType": "VariableDeclaration", - "scope": 1947, - "src": "13600:15:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1908, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13600:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13578:38:6" - }, - "payable": false, - "returnParameters": { - "id": 1913, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1912, - "name": "unsubscribed", - "nodeType": "VariableDeclaration", - "scope": 1947, - "src": "13635:17:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1911, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "13635:4:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13634:19:6" - }, - "scope": 2436, - "src": "13557:450:6", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 1967, - "nodeType": "Block", - "src": "14172:52:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1960, - "name": "_user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1949, - "src": "14189:5:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1961, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1951, - "src": "14196:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1959, - "name": "lock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2397, - "src": "14184:4:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) returns (bool)" - } - }, - "id": 1962, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14184:20:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 1958, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "14176:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 1963, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14176:29:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1964, - "nodeType": "ExpressionStatement", - "src": "14176:29:6" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 1965, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14216:4:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 1957, - "id": 1966, - "nodeType": "Return", - "src": "14209:11:6" - } - ] - }, - "documentation": "Stake, reward and penalty functions", - "id": 1968, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [], - "id": 1954, - "modifierName": { - "argumentTypes": null, - "id": 1953, - "name": "onlyMarketplace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 769, - "src": "14140:15:6", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "14140:15:6" - } - ], - "name": "lockForOrder", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1952, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1949, - "name": "_user", - "nodeType": "VariableDeclaration", - "scope": 1968, - "src": "14101:13:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1948, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "14101:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1951, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 1968, - "src": "14116:15:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1950, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14116:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14100:32:6" - }, - "payable": false, - "returnParameters": { - "id": 1957, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1956, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1968, - "src": "14165:4:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1955, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "14165:4:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14164:6:6" - }, - "scope": 2436, - "src": "14079:145:6", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 1988, - "nodeType": "Block", - "src": "14322:54:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1981, - "name": "_user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1970, - "src": "14341:5:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1982, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1972, - "src": "14348:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1980, - "name": "unlock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2435, - "src": "14334:6:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) returns (bool)" - } - }, - "id": 1983, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14334:22:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 1979, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "14326:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 1984, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14326:31:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1985, - "nodeType": "ExpressionStatement", - "src": "14326:31:6" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 1986, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14368:4:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 1978, - "id": 1987, - "nodeType": "Return", - "src": "14361:11:6" - } - ] - }, - "documentation": null, - "id": 1989, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [], - "id": 1975, - "modifierName": { - "argumentTypes": null, - "id": 1974, - "name": "onlyMarketplace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 769, - "src": "14290:15:6", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "14290:15:6" - } - ], - "name": "unlockForOrder", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1973, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1970, - "name": "_user", - "nodeType": "VariableDeclaration", - "scope": 1989, - "src": "14250:13:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1969, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "14250:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1972, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 1989, - "src": "14265:15:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1971, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14265:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14249:32:6" - }, - "payable": false, - "returnParameters": { - "id": 1978, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1977, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1989, - "src": "14315:4:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1976, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "14315:4:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14314:6:6" - }, - "scope": 2436, - "src": "14226:150:6", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 2023, - "nodeType": "Block", - "src": "14507:110:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 2011, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2005, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1991, - "src": "14529:5:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 2004, - "name": "WorkOrder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4299, - "src": "14519:9:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_WorkOrder_$4299_$", - "typeString": "type(contract WorkOrder)" - } - }, - "id": 2006, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14519:16:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkOrder_$4299", - "typeString": "contract WorkOrder" - } - }, - "id": 2007, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "m_workerpool", - "nodeType": "MemberAccess", - "referencedDeclaration": 4048, - "src": "14519:29:6", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", - "typeString": "function () view external returns (address)" - } - }, - "id": 2008, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14519:31:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2009, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "14554:3:6", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2010, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "14554:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "14519:45:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 2003, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "14511:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 2012, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14511:54:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2013, - "nodeType": "ExpressionStatement", - "src": "14511:54:6" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2016, - "name": "_user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1993, - "src": "14582:5:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 2017, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1995, - "src": "14589:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2015, - "name": "lock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2397, - "src": "14577:4:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) returns (bool)" - } - }, - "id": 2018, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14577:20:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 2014, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "14569:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 2019, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14569:29:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2020, - "nodeType": "ExpressionStatement", - "src": "14569:29:6" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 2021, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14609:4:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 2002, - "id": 2022, - "nodeType": "Return", - "src": "14602:11:6" - } - ] - }, - "documentation": null, - "id": 2024, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 1998, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1991, - "src": "14484:5:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "id": 1999, - "modifierName": { - "argumentTypes": null, - "id": 1997, - "name": "onlyRegisteredWoid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 808, - "src": "14465:18:6", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_address_$", - "typeString": "modifier (address)" - } - }, - "nodeType": "ModifierInvocation", - "src": "14465:25:6" - } - ], - "name": "lockForWork", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1996, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1991, - "name": "_woid", - "nodeType": "VariableDeclaration", - "scope": 2024, - "src": "14411:13:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1990, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "14411:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1993, - "name": "_user", - "nodeType": "VariableDeclaration", - "scope": 2024, - "src": "14426:13:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1992, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "14426:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1995, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 2024, - "src": "14441:15:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1994, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14441:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14410:47:6" - }, - "payable": false, - "returnParameters": { - "id": 2002, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2001, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2024, - "src": "14500:4:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2000, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "14500:4:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14499:6:6" - }, - "scope": 2436, - "src": "14390:227:6", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 2058, - "nodeType": "Block", - "src": "14738:112:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 2046, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2040, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2026, - "src": "14760:5:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 2039, - "name": "WorkOrder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4299, - "src": "14750:9:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_WorkOrder_$4299_$", - "typeString": "type(contract WorkOrder)" - } - }, - "id": 2041, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14750:16:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkOrder_$4299", - "typeString": "contract WorkOrder" - } - }, - "id": 2042, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "m_workerpool", - "nodeType": "MemberAccess", - "referencedDeclaration": 4048, - "src": "14750:29:6", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", - "typeString": "function () view external returns (address)" - } - }, - "id": 2043, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14750:31:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2044, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "14785:3:6", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2045, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "14785:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "14750:45:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 2038, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "14742:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 2047, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14742:54:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2048, - "nodeType": "ExpressionStatement", - "src": "14742:54:6" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2051, - "name": "_user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2028, - "src": "14815:5:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 2052, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2030, - "src": "14822:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2050, - "name": "unlock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2435, - "src": "14808:6:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) returns (bool)" - } - }, - "id": 2053, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14808:22:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 2049, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "14800:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 2054, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14800:31:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2055, - "nodeType": "ExpressionStatement", - "src": "14800:31:6" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 2056, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14842:4:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 2037, - "id": 2057, - "nodeType": "Return", - "src": "14835:11:6" - } - ] - }, - "documentation": null, - "id": 2059, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 2033, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2026, - "src": "14715:5:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "id": 2034, - "modifierName": { - "argumentTypes": null, - "id": 2032, - "name": "onlyRegisteredWoid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 808, - "src": "14696:18:6", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_address_$", - "typeString": "modifier (address)" - } - }, - "nodeType": "ModifierInvocation", - "src": "14696:25:6" - } - ], - "name": "unlockForWork", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2031, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2026, - "name": "_woid", - "nodeType": "VariableDeclaration", - "scope": 2059, - "src": "14642:13:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2025, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "14642:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2028, - "name": "_user", - "nodeType": "VariableDeclaration", - "scope": 2059, - "src": "14657:13:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2027, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "14657:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2030, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 2059, - "src": "14672:15:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2029, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14672:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14641:47:6" - }, - "payable": false, - "returnParameters": { - "id": 2037, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2036, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2059, - "src": "14731:4:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2035, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "14731:4:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14730:6:6" - }, - "scope": 2436, - "src": "14619:231:6", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 2124, - "nodeType": "Block", - "src": "14991:309:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 2083, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2077, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2061, - "src": "15013:5:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 2076, - "name": "WorkOrder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4299, - "src": "15003:9:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_WorkOrder_$4299_$", - "typeString": "type(contract WorkOrder)" - } - }, - "id": 2078, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15003:16:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkOrder_$4299", - "typeString": "contract WorkOrder" - } - }, - "id": 2079, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "m_workerpool", - "nodeType": "MemberAccess", - "referencedDeclaration": 4048, - "src": "15003:29:6", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", - "typeString": "function () view external returns (address)" - } - }, - "id": 2080, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15003:31:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2081, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "15038:3:6", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2082, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "15038:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "15003:45:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 2075, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "14995:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 2084, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14995:54:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2085, - "nodeType": "ExpressionStatement", - "src": "14995:54:6" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2088, - "name": "_worker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2063, - "src": "15068:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 2089, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2065, - "src": "15077:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2087, - "name": "reward", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2329, - "src": "15061:6:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) returns (bool)" - } - }, - "id": 2090, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15061:24:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 2086, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "15053:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 2091, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15053:33:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2092, - "nodeType": "ExpressionStatement", - "src": "15053:33:6" - }, - { - "condition": { - "argumentTypes": null, - "id": 2093, - "name": "_reputation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2067, - "src": "15094:11:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 2121, - "nodeType": "IfStatement", - "src": "15090:192:6", - "trueBody": { - "id": 2120, - "nodeType": "Block", - "src": "15109:173:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 2102, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2094, - "name": "m_contributionHistory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 814, - "src": "15114:21:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ContributionHistory_$2883_storage", - "typeString": "struct IexecLib.ContributionHistory storage ref" - } - }, - "id": 2096, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "success", - "nodeType": "MemberAccess", - "referencedDeclaration": 2880, - "src": "15114:29:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "31", - "id": 2100, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15180:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2097, - "name": "m_contributionHistory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 814, - "src": "15146:21:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ContributionHistory_$2883_storage", - "typeString": "struct IexecLib.ContributionHistory storage ref" - } - }, - "id": 2098, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "success", - "nodeType": "MemberAccess", - "referencedDeclaration": 2880, - "src": "15146:29:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2099, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 3773, - "src": "15146:33:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2101, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15146:36:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15114:68:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2103, - "nodeType": "ExpressionStatement", - "src": "15114:68:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 2113, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2104, - "name": "m_scores", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 812, - "src": "15187:8:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2106, - "indexExpression": { - "argumentTypes": null, - "id": 2105, - "name": "_worker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2063, - "src": "15196:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "15187:17:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "31", - "id": 2111, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15229:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2107, - "name": "m_scores", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 812, - "src": "15207:8:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2109, - "indexExpression": { - "argumentTypes": null, - "id": 2108, - "name": "_worker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2063, - "src": "15216:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "15207:17:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2110, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 3773, - "src": "15207:21:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2112, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15207:24:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15187:44:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2114, - "nodeType": "ExpressionStatement", - "src": "15187:44:6" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2116, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2061, - "src": "15262:5:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 2117, - "name": "_worker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2063, - "src": "15269:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 2115, - "name": "AccurateContribution", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 898, - "src": "15241:20:6", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", - "typeString": "function (address,address)" - } - }, - "id": 2118, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15241:36:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2119, - "nodeType": "EmitStatement", - "src": "15236:41:6" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 2122, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15292:4:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 2074, - "id": 2123, - "nodeType": "Return", - "src": "15285:11:6" - } - ] - }, - "documentation": null, - "id": 2125, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 2070, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2061, - "src": "14968:5:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "id": 2071, - "modifierName": { - "argumentTypes": null, - "id": 2069, - "name": "onlyRegisteredWoid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 808, - "src": "14949:18:6", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_address_$", - "typeString": "modifier (address)" - } - }, - "nodeType": "ModifierInvocation", - "src": "14949:25:6" - } - ], - "name": "rewardForWork", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2068, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2061, - "name": "_woid", - "nodeType": "VariableDeclaration", - "scope": 2125, - "src": "14875:13:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2060, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "14875:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2063, - "name": "_worker", - "nodeType": "VariableDeclaration", - "scope": 2125, - "src": "14890:15:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2062, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "14890:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2065, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 2125, - "src": "14907:15:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2064, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14907:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2067, - "name": "_reputation", - "nodeType": "VariableDeclaration", - "scope": 2125, - "src": "14924:16:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2066, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "14924:4:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14874:67:6" - }, - "payable": false, - "returnParameters": { - "id": 2074, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2073, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2125, - "src": "14984:4:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2072, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "14984:4:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14983:6:6" - }, - "scope": 2436, - "src": "14852:448:6", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 2195, - "nodeType": "Block", - "src": "15440:345:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 2149, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2143, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2127, - "src": "15462:5:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 2142, - "name": "WorkOrder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4299, - "src": "15452:9:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_WorkOrder_$4299_$", - "typeString": "type(contract WorkOrder)" - } - }, - "id": 2144, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15452:16:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkOrder_$4299", - "typeString": "contract WorkOrder" - } - }, - "id": 2145, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "m_workerpool", - "nodeType": "MemberAccess", - "referencedDeclaration": 4048, - "src": "15452:29:6", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", - "typeString": "function () view external returns (address)" - } - }, - "id": 2146, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15452:31:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2147, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "15487:3:6", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2148, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "15487:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "15452:45:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 2141, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "15444:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 2150, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15444:54:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2151, - "nodeType": "ExpressionStatement", - "src": "15444:54:6" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2154, - "name": "_worker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2129, - "src": "15516:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 2155, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2131, - "src": "15525:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2153, - "name": "seize", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2359, - "src": "15510:5:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) returns (bool)" - } - }, - "id": 2156, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15510:23:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 2152, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "15502:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 2157, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15502:32:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2158, - "nodeType": "ExpressionStatement", - "src": "15502:32:6" - }, - { - "condition": { - "argumentTypes": null, - "id": 2159, - "name": "_reputation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2133, - "src": "15542:11:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 2192, - "nodeType": "IfStatement", - "src": "15538:229:6", - "trueBody": { - "id": 2191, - "nodeType": "Block", - "src": "15557:210:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 2168, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2160, - "name": "m_contributionHistory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 814, - "src": "15562:21:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ContributionHistory_$2883_storage", - "typeString": "struct IexecLib.ContributionHistory storage ref" - } - }, - "id": 2162, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "failed", - "nodeType": "MemberAccess", - "referencedDeclaration": 2882, - "src": "15562:28:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "31", - "id": 2166, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15626:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2163, - "name": "m_contributionHistory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 814, - "src": "15593:21:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ContributionHistory_$2883_storage", - "typeString": "struct IexecLib.ContributionHistory storage ref" - } - }, - "id": 2164, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "failed", - "nodeType": "MemberAccess", - "referencedDeclaration": 2882, - "src": "15593:28:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2165, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 3773, - "src": "15593:32:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2167, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15593:35:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15562:66:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2169, - "nodeType": "ExpressionStatement", - "src": "15562:66:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 2184, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2170, - "name": "m_scores", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 812, - "src": "15633:8:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2172, - "indexExpression": { - "argumentTypes": null, - "id": 2171, - "name": "_worker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2129, - "src": "15642:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "15633:17:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2181, - "name": "SCORE_UNITARY_SLASH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 748, - "src": "15697:19:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2177, - "name": "m_scores", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 812, - "src": "15675:8:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2179, - "indexExpression": { - "argumentTypes": null, - "id": 2178, - "name": "_worker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2129, - "src": "15684:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "15675:17:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2180, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "min", - "nodeType": "MemberAccess", - "referencedDeclaration": 3878, - "src": "15675:21:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2182, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15675:42:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2173, - "name": "m_scores", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 812, - "src": "15653:8:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2175, - "indexExpression": { - "argumentTypes": null, - "id": 2174, - "name": "_worker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2129, - "src": "15662:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "15653:17:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2176, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 3793, - "src": "15653:21:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2183, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15653:65:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15633:85:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2185, - "nodeType": "ExpressionStatement", - "src": "15633:85:6" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2187, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2127, - "src": "15747:5:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 2188, - "name": "_worker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2129, - "src": "15754:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 2186, - "name": "FaultyContribution", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 904, - "src": "15728:18:6", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", - "typeString": "function (address,address)" - } - }, - "id": 2189, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15728:34:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2190, - "nodeType": "EmitStatement", - "src": "15723:39:6" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 2193, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15777:4:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 2140, - "id": 2194, - "nodeType": "Return", - "src": "15770:11:6" - } - ] - }, - "documentation": null, - "id": 2196, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 2136, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2127, - "src": "15417:5:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "id": 2137, - "modifierName": { - "argumentTypes": null, - "id": 2135, - "name": "onlyRegisteredWoid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 808, - "src": "15398:18:6", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_address_$", - "typeString": "modifier (address)" - } - }, - "nodeType": "ModifierInvocation", - "src": "15398:25:6" - } - ], - "name": "seizeForWork", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2134, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2127, - "name": "_woid", - "nodeType": "VariableDeclaration", - "scope": 2196, - "src": "15324:13:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2126, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "15324:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2129, - "name": "_worker", - "nodeType": "VariableDeclaration", - "scope": 2196, - "src": "15339:15:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2128, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "15339:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2131, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 2196, - "src": "15356:15:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2130, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15356:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2133, - "name": "_reputation", - "nodeType": "VariableDeclaration", - "scope": 2196, - "src": "15373:16:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2132, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "15373:4:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15323:67:6" - }, - "payable": false, - "returnParameters": { - "id": 2140, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2139, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2196, - "src": "15433:4:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2138, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "15433:4:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15432:6:6" - }, - "scope": 2436, - "src": "15302:483:6", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 2238, - "nodeType": "Block", - "src": "15883:197:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2206, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "15912:3:6", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2207, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "15912:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2209, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7063, - "src": "15932:4:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IexecHub_$2436", - "typeString": "contract IexecHub" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IexecHub_$2436", - "typeString": "contract IexecHub" - } - ], - "id": 2208, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "15924:7:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 2210, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15924:13:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 2211, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2198, - "src": "15939:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 2204, - "name": "rlc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 739, - "src": "15895:3:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RLC_$6785", - "typeString": "contract RLC" - } - }, - "id": 2205, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 6696, - "src": "15895:16:6", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256) external returns (bool)" - } - }, - "id": 2212, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15895:52:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 2203, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "15887:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 2213, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15887:61:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2214, - "nodeType": "ExpressionStatement", - "src": "15887:61:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 2228, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2215, - "name": "m_accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 792, - "src": "15952:10:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$2878_storage_$", - "typeString": "mapping(address => struct IexecLib.Account storage ref)" - } - }, - "id": 2218, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2216, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "15963:3:6", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2217, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "15963:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "15952:22:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Account_$2878_storage", - "typeString": "struct IexecLib.Account storage ref" - } - }, - "id": 2219, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "stake", - "nodeType": "MemberAccess", - "referencedDeclaration": 2875, - "src": "15952:28:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2226, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2198, - "src": "16016:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2220, - "name": "m_accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 792, - "src": "15983:10:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$2878_storage_$", - "typeString": "mapping(address => struct IexecLib.Account storage ref)" - } - }, - "id": 2223, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2221, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "15994:3:6", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2222, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "15994:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "15983:22:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Account_$2878_storage", - "typeString": "struct IexecLib.Account storage ref" - } - }, - "id": 2224, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "stake", - "nodeType": "MemberAccess", - "referencedDeclaration": 2875, - "src": "15983:28:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2225, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 3773, - "src": "15983:32:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2227, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15983:41:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15952:72:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2229, - "nodeType": "ExpressionStatement", - "src": "15952:72:6" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2231, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "16041:3:6", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2232, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "16041:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 2233, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2198, - "src": "16053:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2230, - "name": "Deposit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 910, - "src": "16033:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 2234, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16033:28:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2235, - "nodeType": "EmitStatement", - "src": "16028:33:6" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 2236, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16072:4:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 2202, - "id": 2237, - "nodeType": "Return", - "src": "16065:11:6" - } - ] - }, - "documentation": "Wallet methods: public", - "id": 2239, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "deposit", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2199, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2198, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 2239, - "src": "15841:15:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2197, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15841:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15840:17:6" - }, - "payable": false, - "returnParameters": { - "id": 2202, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2201, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2239, - "src": "15876:4:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2200, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "15876:4:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15875:6:6" - }, - "scope": 2436, - "src": "15824:256:6", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 2278, - "nodeType": "Block", - "src": "16142:179:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 2259, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2246, - "name": "m_accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 792, - "src": "16146:10:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$2878_storage_$", - "typeString": "mapping(address => struct IexecLib.Account storage ref)" - } - }, - "id": 2249, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2247, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "16157:3:6", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2248, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "16157:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "16146:22:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Account_$2878_storage", - "typeString": "struct IexecLib.Account storage ref" - } - }, - "id": 2250, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "stake", - "nodeType": "MemberAccess", - "referencedDeclaration": 2875, - "src": "16146:28:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2257, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2241, - "src": "16210:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2251, - "name": "m_accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 792, - "src": "16177:10:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$2878_storage_$", - "typeString": "mapping(address => struct IexecLib.Account storage ref)" - } - }, - "id": 2254, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2252, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "16188:3:6", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2253, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "16188:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "16177:22:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Account_$2878_storage", - "typeString": "struct IexecLib.Account storage ref" - } - }, - "id": 2255, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "stake", - "nodeType": "MemberAccess", - "referencedDeclaration": 2875, - "src": "16177:28:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2256, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 3793, - "src": "16177:32:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2258, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16177:41:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16146:72:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2260, - "nodeType": "ExpressionStatement", - "src": "16146:72:6" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2264, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "16243:3:6", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2265, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "16243:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 2266, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2241, - "src": "16255:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 2262, - "name": "rlc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 739, - "src": "16230:3:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RLC_$6785", - "typeString": "contract RLC" - } - }, - "id": 2263, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 6632, - "src": "16230:12:6", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 2267, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16230:33:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 2261, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "16222:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 2268, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16222:42:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2269, - "nodeType": "ExpressionStatement", - "src": "16222:42:6" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2271, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "16282:3:6", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2272, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "16282:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 2273, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2241, - "src": "16294:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2270, - "name": "Withdraw", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 916, - "src": "16273:8:6", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 2274, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16273:29:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2275, - "nodeType": "EmitStatement", - "src": "16268:34:6" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 2276, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16313:4:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 2245, - "id": 2277, - "nodeType": "Return", - "src": "16306:11:6" - } - ] - }, - "documentation": null, - "id": 2279, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "withdraw", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2242, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2241, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 2279, - "src": "16100:15:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2240, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16100:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16099:17:6" - }, - "payable": false, - "returnParameters": { - "id": 2245, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2244, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2279, - "src": "16135:4:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2243, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "16135:4:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16134:6:6" - }, - "scope": 2436, - "src": "16082:239:6", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 2298, - "nodeType": "Block", - "src": "16414:68:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2288, - "name": "m_accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 792, - "src": "16426:10:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$2878_storage_$", - "typeString": "mapping(address => struct IexecLib.Account storage ref)" - } - }, - "id": 2290, - "indexExpression": { - "argumentTypes": null, - "id": 2289, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2281, - "src": "16437:6:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "16426:18:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Account_$2878_storage", - "typeString": "struct IexecLib.Account storage ref" - } - }, - "id": 2291, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "stake", - "nodeType": "MemberAccess", - "referencedDeclaration": 2875, - "src": "16426:24:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2292, - "name": "m_accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 792, - "src": "16452:10:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$2878_storage_$", - "typeString": "mapping(address => struct IexecLib.Account storage ref)" - } - }, - "id": 2294, - "indexExpression": { - "argumentTypes": null, - "id": 2293, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2281, - "src": "16463:6:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "16452:18:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Account_$2878_storage", - "typeString": "struct IexecLib.Account storage ref" - } - }, - "id": 2295, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "locked", - "nodeType": "MemberAccess", - "referencedDeclaration": 2877, - "src": "16452:25:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 2296, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "16425:53:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "functionReturnParameters": 2287, - "id": 2297, - "nodeType": "Return", - "src": "16418:60:6" - } - ] - }, - "documentation": null, - "id": 2299, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "checkBalance", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2282, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2281, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 2299, - "src": "16345:14:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2280, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "16345:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16344:16:6" - }, - "payable": false, - "returnParameters": { - "id": 2287, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2284, - "name": "stake", - "nodeType": "VariableDeclaration", - "scope": 2299, - "src": "16382:13:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2283, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16382:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2286, - "name": "locked", - "nodeType": "VariableDeclaration", - "scope": 2299, - "src": "16397:14:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2285, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16397:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16381:31:6" - }, - "scope": 2436, - "src": "16323:159:6", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 2328, - "nodeType": "Block", - "src": "16596:116:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 2319, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2308, - "name": "m_accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 792, - "src": "16600:10:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$2878_storage_$", - "typeString": "mapping(address => struct IexecLib.Account storage ref)" - } - }, - "id": 2310, - "indexExpression": { - "argumentTypes": null, - "id": 2309, - "name": "_user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2301, - "src": "16611:5:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "16600:17:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Account_$2878_storage", - "typeString": "struct IexecLib.Account storage ref" - } - }, - "id": 2311, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "stake", - "nodeType": "MemberAccess", - "referencedDeclaration": 2875, - "src": "16600:23:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2317, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2303, - "src": "16654:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2312, - "name": "m_accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 792, - "src": "16626:10:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$2878_storage_$", - "typeString": "mapping(address => struct IexecLib.Account storage ref)" - } - }, - "id": 2314, - "indexExpression": { - "argumentTypes": null, - "id": 2313, - "name": "_user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2301, - "src": "16637:5:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "16626:17:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Account_$2878_storage", - "typeString": "struct IexecLib.Account storage ref" - } - }, - "id": 2315, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "stake", - "nodeType": "MemberAccess", - "referencedDeclaration": 2875, - "src": "16626:23:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2316, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 3773, - "src": "16626:27:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2318, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16626:36:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16600:62:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2320, - "nodeType": "ExpressionStatement", - "src": "16600:62:6" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2322, - "name": "_user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2301, - "src": "16678:5:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 2323, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2303, - "src": "16685:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2321, - "name": "Reward", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 922, - "src": "16671:6:6", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 2324, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16671:22:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2325, - "nodeType": "EmitStatement", - "src": "16666:27:6" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 2326, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16704:4:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 2307, - "id": 2327, - "nodeType": "Return", - "src": "16697:11:6" - } - ] - }, - "documentation": "Wallet methods: Internal", - "id": 2329, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "reward", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2304, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2301, - "name": "_user", - "nodeType": "VariableDeclaration", - "scope": 2329, - "src": "16539:13:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2300, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "16539:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2303, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 2329, - "src": "16554:15:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2302, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16554:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16538:32:6" - }, - "payable": false, - "returnParameters": { - "id": 2307, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2306, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2329, - "src": "16589:4:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2305, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "16589:4:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16588:6:6" - }, - "scope": 2436, - "src": "16523:189:6", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 2358, - "nodeType": "Block", - "src": "16786:117:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 2349, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2338, - "name": "m_accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 792, - "src": "16790:10:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$2878_storage_$", - "typeString": "mapping(address => struct IexecLib.Account storage ref)" - } - }, - "id": 2340, - "indexExpression": { - "argumentTypes": null, - "id": 2339, - "name": "_user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2331, - "src": "16801:5:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "16790:17:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Account_$2878_storage", - "typeString": "struct IexecLib.Account storage ref" - } - }, - "id": 2341, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "locked", - "nodeType": "MemberAccess", - "referencedDeclaration": 2877, - "src": "16790:24:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2347, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2333, - "src": "16846:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2342, - "name": "m_accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 792, - "src": "16817:10:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$2878_storage_$", - "typeString": "mapping(address => struct IexecLib.Account storage ref)" - } - }, - "id": 2344, - "indexExpression": { - "argumentTypes": null, - "id": 2343, - "name": "_user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2331, - "src": "16828:5:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "16817:17:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Account_$2878_storage", - "typeString": "struct IexecLib.Account storage ref" - } - }, - "id": 2345, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "locked", - "nodeType": "MemberAccess", - "referencedDeclaration": 2877, - "src": "16817:24:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2346, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 3793, - "src": "16817:28:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2348, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16817:37:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16790:64:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2350, - "nodeType": "ExpressionStatement", - "src": "16790:64:6" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2352, - "name": "_user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2331, - "src": "16869:5:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 2353, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2333, - "src": "16876:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2351, - "name": "Seize", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 928, - "src": "16863:5:6", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 2354, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16863:21:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2355, - "nodeType": "EmitStatement", - "src": "16858:26:6" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 2356, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16895:4:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 2337, - "id": 2357, - "nodeType": "Return", - "src": "16888:11:6" - } - ] - }, - "documentation": null, - "id": 2359, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "seize", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2334, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2331, - "name": "_user", - "nodeType": "VariableDeclaration", - "scope": 2359, - "src": "16729:13:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2330, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "16729:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2333, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 2359, - "src": "16744:15:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2332, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16744:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16728:32:6" - }, - "payable": false, - "returnParameters": { - "id": 2337, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2336, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2359, - "src": "16779:4:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2335, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "16779:4:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16778:6:6" - }, - "scope": 2436, - "src": "16714:189:6", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 2396, - "nodeType": "Block", - "src": "16976:154:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 2379, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2368, - "name": "m_accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 792, - "src": "16980:10:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$2878_storage_$", - "typeString": "mapping(address => struct IexecLib.Account storage ref)" - } - }, - "id": 2370, - "indexExpression": { - "argumentTypes": null, - "id": 2369, - "name": "_user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2361, - "src": "16991:5:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "16980:17:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Account_$2878_storage", - "typeString": "struct IexecLib.Account storage ref" - } - }, - "id": 2371, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "stake", - "nodeType": "MemberAccess", - "referencedDeclaration": 2875, - "src": "16980:23:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2377, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2363, - "src": "17035:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2372, - "name": "m_accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 792, - "src": "17007:10:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$2878_storage_$", - "typeString": "mapping(address => struct IexecLib.Account storage ref)" - } - }, - "id": 2374, - "indexExpression": { - "argumentTypes": null, - "id": 2373, - "name": "_user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2361, - "src": "17018:5:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "17007:17:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Account_$2878_storage", - "typeString": "struct IexecLib.Account storage ref" - } - }, - "id": 2375, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "stake", - "nodeType": "MemberAccess", - "referencedDeclaration": 2875, - "src": "17007:23:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2376, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 3793, - "src": "17007:27:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2378, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17007:36:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16980:63:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2380, - "nodeType": "ExpressionStatement", - "src": "16980:63:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 2392, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2381, - "name": "m_accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 792, - "src": "17047:10:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$2878_storage_$", - "typeString": "mapping(address => struct IexecLib.Account storage ref)" - } - }, - "id": 2383, - "indexExpression": { - "argumentTypes": null, - "id": 2382, - "name": "_user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2361, - "src": "17058:5:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "17047:17:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Account_$2878_storage", - "typeString": "struct IexecLib.Account storage ref" - } - }, - "id": 2384, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "locked", - "nodeType": "MemberAccess", - "referencedDeclaration": 2877, - "src": "17047:24:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2390, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2363, - "src": "17103:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2385, - "name": "m_accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 792, - "src": "17074:10:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$2878_storage_$", - "typeString": "mapping(address => struct IexecLib.Account storage ref)" - } - }, - "id": 2387, - "indexExpression": { - "argumentTypes": null, - "id": 2386, - "name": "_user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2361, - "src": "17085:5:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "17074:17:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Account_$2878_storage", - "typeString": "struct IexecLib.Account storage ref" - } - }, - "id": 2388, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "locked", - "nodeType": "MemberAccess", - "referencedDeclaration": 2877, - "src": "17074:24:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2389, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 3773, - "src": "17074:28:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2391, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17074:37:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17047:64:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2393, - "nodeType": "ExpressionStatement", - "src": "17047:64:6" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 2394, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17122:4:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 2367, - "id": 2395, - "nodeType": "Return", - "src": "17115:11:6" - } - ] - }, - "documentation": null, - "id": 2397, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "lock", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2364, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2361, - "name": "_user", - "nodeType": "VariableDeclaration", - "scope": 2397, - "src": "16919:13:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2360, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "16919:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2363, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 2397, - "src": "16934:15:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2362, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16934:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16918:32:6" - }, - "payable": false, - "returnParameters": { - "id": 2367, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2366, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2397, - "src": "16969:4:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2365, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "16969:4:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16968:6:6" - }, - "scope": 2436, - "src": "16905:225:6", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 2434, - "nodeType": "Block", - "src": "17205:154:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 2417, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2406, - "name": "m_accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 792, - "src": "17209:10:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$2878_storage_$", - "typeString": "mapping(address => struct IexecLib.Account storage ref)" - } - }, - "id": 2408, - "indexExpression": { - "argumentTypes": null, - "id": 2407, - "name": "_user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2399, - "src": "17220:5:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "17209:17:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Account_$2878_storage", - "typeString": "struct IexecLib.Account storage ref" - } - }, - "id": 2409, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "locked", - "nodeType": "MemberAccess", - "referencedDeclaration": 2877, - "src": "17209:24:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2415, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2401, - "src": "17265:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2410, - "name": "m_accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 792, - "src": "17236:10:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$2878_storage_$", - "typeString": "mapping(address => struct IexecLib.Account storage ref)" - } - }, - "id": 2412, - "indexExpression": { - "argumentTypes": null, - "id": 2411, - "name": "_user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2399, - "src": "17247:5:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "17236:17:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Account_$2878_storage", - "typeString": "struct IexecLib.Account storage ref" - } - }, - "id": 2413, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "locked", - "nodeType": "MemberAccess", - "referencedDeclaration": 2877, - "src": "17236:24:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2414, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 3793, - "src": "17236:28:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2416, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17236:37:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17209:64:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2418, - "nodeType": "ExpressionStatement", - "src": "17209:64:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 2430, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2419, - "name": "m_accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 792, - "src": "17277:10:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$2878_storage_$", - "typeString": "mapping(address => struct IexecLib.Account storage ref)" - } - }, - "id": 2421, - "indexExpression": { - "argumentTypes": null, - "id": 2420, - "name": "_user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2399, - "src": "17288:5:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "17277:17:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Account_$2878_storage", - "typeString": "struct IexecLib.Account storage ref" - } - }, - "id": 2422, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "stake", - "nodeType": "MemberAccess", - "referencedDeclaration": 2875, - "src": "17277:23:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2428, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2401, - "src": "17332:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2423, - "name": "m_accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 792, - "src": "17304:10:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$2878_storage_$", - "typeString": "mapping(address => struct IexecLib.Account storage ref)" - } - }, - "id": 2425, - "indexExpression": { - "argumentTypes": null, - "id": 2424, - "name": "_user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2399, - "src": "17315:5:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "17304:17:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Account_$2878_storage", - "typeString": "struct IexecLib.Account storage ref" - } - }, - "id": 2426, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "stake", - "nodeType": "MemberAccess", - "referencedDeclaration": 2875, - "src": "17304:23:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2427, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 3773, - "src": "17304:27:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2429, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17304:36:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17277:63:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2431, - "nodeType": "ExpressionStatement", - "src": "17277:63:6" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 2432, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17351:4:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 2405, - "id": 2433, - "nodeType": "Return", - "src": "17344:11:6" - } - ] - }, - "documentation": null, - "id": 2435, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "unlock", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2402, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2399, - "name": "_user", - "nodeType": "VariableDeclaration", - "scope": 2435, - "src": "17148:13:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2398, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17148:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2401, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 2435, - "src": "17163:15:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2400, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17163:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17147:32:6" - }, - "payable": false, - "returnParameters": { - "id": 2405, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2404, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2435, - "src": "17198:4:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2403, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "17198:4:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17197:6:6" - }, - "scope": 2436, - "src": "17132:227:6", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 2437, - "src": "281:17080:6" - } - ], - "src": "0:17362:6" - }, - "legacyAST": { - "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/IexecHub.sol", - "exportedSymbols": { - "IexecHub": [ - 2436 - ] - }, - "id": 2437, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 726, - "literals": [ - "solidity", - "^", - "0.4", - ".21" - ], - "nodeType": "PragmaDirective", - "src": "0:24:6" - }, - { - "absolutePath": "rlc-token/contracts/RLC.sol", - "file": "rlc-token/contracts/RLC.sol", - "id": 727, - "nodeType": "ImportDirective", - "scope": 2437, - "sourceUnit": 6786, - "src": "26:37:6", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/WorkOrder.sol", - "file": "./WorkOrder.sol", - "id": 728, - "nodeType": "ImportDirective", - "scope": 2437, - "sourceUnit": 4300, - "src": "65:25:6", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/Marketplace.sol", - "file": "./Marketplace.sol", - "id": 729, - "nodeType": "ImportDirective", - "scope": 2437, - "sourceUnit": 3514, - "src": "91:27:6", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/AppHub.sol", - "file": "./AppHub.sol", - "id": 730, - "nodeType": "ImportDirective", - "scope": 2437, - "sourceUnit": 225, - "src": "119:22:6", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/DatasetHub.sol", - "file": "./DatasetHub.sol", - "id": 731, - "nodeType": "ImportDirective", - "scope": 2437, - "sourceUnit": 450, - "src": "142:26:6", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/WorkerPoolHub.sol", - "file": "./WorkerPoolHub.sol", - "id": 732, - "nodeType": "ImportDirective", - "scope": 2437, - "sourceUnit": 6350, - "src": "169:29:6", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/SafeMathOZ.sol", - "file": "./SafeMathOZ.sol", - "id": 733, - "nodeType": "ImportDirective", - "scope": 2437, - "sourceUnit": 3925, - "src": "199:26:6", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/IexecLib.sol", - "file": "./IexecLib.sol", - "id": 734, - "nodeType": "ImportDirective", - "scope": 2437, - "sourceUnit": 2894, - "src": "226:24:6", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [], - "contractDependencies": [ - 4299 - ], - "contractKind": "contract", - "documentation": "@title IexecHub", - "fullyImplemented": true, - "id": 2436, - "linearizedBaseContracts": [ - 2436 - ], - "name": "IexecHub", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 737, - "libraryName": { - "contractScope": null, - "id": 735, - "name": "SafeMathOZ", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 3924, - "src": "308:10:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMathOZ_$3924", - "typeString": "library SafeMathOZ" - } - }, - "nodeType": "UsingForDirective", - "src": "302:29:6", - "typeName": { - "id": 736, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "323:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "constant": false, - "id": 739, - "name": "rlc", - "nodeType": "VariableDeclaration", - "scope": 2436, - "src": "380:14:6", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RLC_$6785", - "typeString": "contract RLC" - }, - "typeName": { - "contractScope": null, - "id": 738, - "name": "RLC", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6785, - "src": "380:3:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RLC_$6785", - "typeString": "contract RLC" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": true, - "id": 742, - "name": "STAKE_BONUS_RATIO", - "nodeType": "VariableDeclaration", - "scope": 2436, - "src": "398:54:6", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 740, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "398:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "3130", - "id": 741, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "450:2:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 745, - "name": "STAKE_BONUS_MIN_THRESHOLD", - "nodeType": "VariableDeclaration", - "scope": 2436, - "src": "455:56:6", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 743, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "455:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "31303030", - "id": 744, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "507:4:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1000_by_1", - "typeString": "int_const 1000" - }, - "value": "1000" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 748, - "name": "SCORE_UNITARY_SLASH", - "nodeType": "VariableDeclaration", - "scope": 2436, - "src": "514:54:6", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 746, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "514:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "3530", - "id": 747, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "566:2:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_50_by_1", - "typeString": "int_const 50" - }, - "value": "50" - }, - "visibility": "public" - }, - { - "constant": false, - "id": 750, - "name": "appHub", - "nodeType": "VariableDeclaration", - "scope": 2436, - "src": "603:27:6", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AppHub_$224", - "typeString": "contract AppHub" - }, - "typeName": { - "contractScope": null, - "id": 749, - "name": "AppHub", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 224, - "src": "603:6:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AppHub_$224", - "typeString": "contract AppHub" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 752, - "name": "datasetHub", - "nodeType": "VariableDeclaration", - "scope": 2436, - "src": "633:31:6", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DatasetHub_$449", - "typeString": "contract DatasetHub" - }, - "typeName": { - "contractScope": null, - "id": 751, - "name": "DatasetHub", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 449, - "src": "633:10:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DatasetHub_$449", - "typeString": "contract DatasetHub" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 754, - "name": "workerPoolHub", - "nodeType": "VariableDeclaration", - "scope": 2436, - "src": "667:34:6", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkerPoolHub_$6349", - "typeString": "contract WorkerPoolHub" - }, - "typeName": { - "contractScope": null, - "id": 753, - "name": "WorkerPoolHub", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6349, - "src": "667:13:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkerPoolHub_$6349", - "typeString": "contract WorkerPoolHub" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 756, - "name": "marketplace", - "nodeType": "VariableDeclaration", - "scope": 2436, - "src": "732:30:6", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Marketplace_$3513", - "typeString": "contract Marketplace" - }, - "typeName": { - "contractScope": null, - "id": 755, - "name": "Marketplace", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 3513, - "src": "732:11:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Marketplace_$3513", - "typeString": "contract Marketplace" - } - }, - "value": null, - "visibility": "public" - }, - { - "body": { - "id": 768, - "nodeType": "Block", - "src": "793:56:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 764, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 759, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "805:3:6", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 760, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "805:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 762, - "name": "marketplace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 756, - "src": "827:11:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Marketplace_$3513", - "typeString": "contract Marketplace" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Marketplace_$3513", - "typeString": "contract Marketplace" - } - ], - "id": 761, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "819:7:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 763, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "819:20:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "805:34:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 758, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "797:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 765, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "797:43:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 766, - "nodeType": "ExpressionStatement", - "src": "797:43:6" - }, - { - "id": 767, - "nodeType": "PlaceholderStatement", - "src": "844:1:6" - } - ] - }, - "documentation": null, - "id": 769, - "name": "onlyMarketplace", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 757, - "nodeType": "ParameterList", - "parameters": [], - "src": "789:2:6" - }, - "src": "765:84:6", - "visibility": "internal" - }, - { - "constant": false, - "id": 773, - "name": "m_categories", - "nodeType": "VariableDeclaration", - "scope": 2436, - "src": "876:57:6", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Category_$2892_storage_$", - "typeString": "mapping(uint256 => struct IexecLib.Category storage ref)" - }, - "typeName": { - "id": 772, - "keyType": { - "id": 770, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "884:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "876:37:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Category_$2892_storage_$", - "typeString": "mapping(uint256 => struct IexecLib.Category storage ref)" - }, - "valueType": { - "contractScope": null, - "id": 771, - "name": "IexecLib.Category", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2892, - "src": "895:17:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Category_$2892_storage_ptr", - "typeString": "struct IexecLib.Category storage pointer" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 775, - "name": "m_categoriesCount", - "nodeType": "VariableDeclaration", - "scope": 2436, - "src": "936:62:6", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 774, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "936:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 777, - "name": "m_categoriesCreator", - "nodeType": "VariableDeclaration", - "scope": 2436, - "src": "1001:64:6", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 776, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1001:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "body": { - "id": 787, - "nodeType": "Block", - "src": "1102:55:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 783, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 780, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "1114:3:6", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 781, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1114:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 782, - "name": "m_categoriesCreator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 777, - "src": "1128:19:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1114:33:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 779, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "1106:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 784, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1106:42:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 785, - "nodeType": "ExpressionStatement", - "src": "1106:42:6" - }, - { - "id": 786, - "nodeType": "PlaceholderStatement", - "src": "1152:1:6" - } - ] - }, - "documentation": null, - "id": 788, - "name": "onlyCategoriesCreator", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 778, - "nodeType": "ParameterList", - "parameters": [], - "src": "1098:2:6" - }, - "src": "1068:89:6", - "visibility": "internal" - }, - { - "constant": false, - "id": 792, - "name": "m_accounts", - "nodeType": "VariableDeclaration", - "scope": 2436, - "src": "1181:54:6", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$2878_storage_$", - "typeString": "mapping(address => struct IexecLib.Account storage ref)" - }, - "typeName": { - "id": 791, - "keyType": { - "id": 789, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1189:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1181:36:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$2878_storage_$", - "typeString": "mapping(address => struct IexecLib.Account storage ref)" - }, - "valueType": { - "contractScope": null, - "id": 790, - "name": "IexecLib.Account", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2878, - "src": "1200:16:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Account_$2878_storage_ptr", - "typeString": "struct IexecLib.Account storage pointer" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 796, - "name": "m_woidRegistered", - "nodeType": "VariableDeclaration", - "scope": 2436, - "src": "1275:48:6", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - }, - "typeName": { - "id": 795, - "keyType": { - "id": 793, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1283:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1275:24:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - }, - "valueType": { - "id": 794, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1294:4:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "body": { - "id": 807, - "nodeType": "Block", - "src": "1370:45:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 801, - "name": "m_woidRegistered", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 796, - "src": "1382:16:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 803, - "indexExpression": { - "argumentTypes": null, - "id": 802, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 798, - "src": "1399:5:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1382:23:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 800, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "1374:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 804, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1374:32:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 805, - "nodeType": "ExpressionStatement", - "src": "1374:32:6" - }, - { - "id": 806, - "nodeType": "PlaceholderStatement", - "src": "1410:1:6" - } - ] - }, - "documentation": null, - "id": 808, - "name": "onlyRegisteredWoid", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 799, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 798, - "name": "_woid", - "nodeType": "VariableDeclaration", - "scope": 808, - "src": "1354:13:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 797, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1354:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1353:15:6" - }, - "src": "1326:89:6", - "visibility": "internal" - }, - { - "constant": false, - "id": 812, - "name": "m_scores", - "nodeType": "VariableDeclaration", - "scope": 2436, - "src": "1452:44:6", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 811, - "keyType": { - "id": 809, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1460:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1452:27:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 810, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1471:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 814, - "name": "m_contributionHistory", - "nodeType": "VariableDeclaration", - "scope": 2436, - "src": "1499:57:6", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ContributionHistory_$2883_storage", - "typeString": "struct IexecLib.ContributionHistory storage ref" - }, - "typeName": { - "contractScope": null, - "id": 813, - "name": "IexecLib.ContributionHistory", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2883, - "src": "1499:28:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ContributionHistory_$2883_storage_ptr", - "typeString": "struct IexecLib.ContributionHistory storage pointer" - } - }, - "value": null, - "visibility": "public" - }, - { - "anonymous": false, - "documentation": null, - "id": 820, - "name": "WorkOrderActivated", - "nodeType": "EventDefinition", - "parameters": { - "id": 819, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 816, - "indexed": false, - "name": "woid", - "nodeType": "VariableDeclaration", - "scope": 820, - "src": "1586:12:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 815, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1586:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 818, - "indexed": true, - "name": "workerPool", - "nodeType": "VariableDeclaration", - "scope": 820, - "src": "1600:26:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 817, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1600:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1585:42:6" - }, - "src": "1561:67:6" - }, - { - "anonymous": false, - "documentation": null, - "id": 826, - "name": "WorkOrderClaimed", - "nodeType": "EventDefinition", - "parameters": { - "id": 825, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 822, - "indexed": false, - "name": "woid", - "nodeType": "VariableDeclaration", - "scope": 826, - "src": "1655:12:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 821, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1655:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 824, - "indexed": false, - "name": "workerPool", - "nodeType": "VariableDeclaration", - "scope": 826, - "src": "1669:18:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 823, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1669:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1654:34:6" - }, - "src": "1630:59:6" - }, - { - "anonymous": false, - "documentation": null, - "id": 832, - "name": "WorkOrderCompleted", - "nodeType": "EventDefinition", - "parameters": { - "id": 831, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 828, - "indexed": false, - "name": "woid", - "nodeType": "VariableDeclaration", - "scope": 832, - "src": "1716:12:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 827, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1716:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 830, - "indexed": false, - "name": "workerPool", - "nodeType": "VariableDeclaration", - "scope": 832, - "src": "1730:18:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 829, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1730:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1715:34:6" - }, - "src": "1691:59:6" - }, - { - "anonymous": false, - "documentation": null, - "id": 844, - "name": "CreateApp", - "nodeType": "EventDefinition", - "parameters": { - "id": 843, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 834, - "indexed": true, - "name": "appOwner", - "nodeType": "VariableDeclaration", - "scope": 844, - "src": "1776:24:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 833, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1776:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 836, - "indexed": true, - "name": "app", - "nodeType": "VariableDeclaration", - "scope": 844, - "src": "1809:19:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 835, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1809:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 838, - "indexed": false, - "name": "appName", - "nodeType": "VariableDeclaration", - "scope": 844, - "src": "1837:14:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - "typeName": { - "id": 837, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1837:6:6", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 840, - "indexed": false, - "name": "appPrice", - "nodeType": "VariableDeclaration", - "scope": 844, - "src": "1857:16:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 839, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1857:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 842, - "indexed": false, - "name": "appParams", - "nodeType": "VariableDeclaration", - "scope": 844, - "src": "1879:16:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - "typeName": { - "id": 841, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1879:6:6", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1775:125:6" - }, - "src": "1753:148:6" - }, - { - "anonymous": false, - "documentation": null, - "id": 856, - "name": "CreateDataset", - "nodeType": "EventDefinition", - "parameters": { - "id": 855, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 846, - "indexed": true, - "name": "datasetOwner", - "nodeType": "VariableDeclaration", - "scope": 856, - "src": "1926:28:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 845, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1926:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 848, - "indexed": true, - "name": "dataset", - "nodeType": "VariableDeclaration", - "scope": 856, - "src": "1959:23:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 847, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1959:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 850, - "indexed": false, - "name": "datasetName", - "nodeType": "VariableDeclaration", - "scope": 856, - "src": "1987:18:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - "typeName": { - "id": 849, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1987:6:6", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 852, - "indexed": false, - "name": "datasetPrice", - "nodeType": "VariableDeclaration", - "scope": 856, - "src": "2007:20:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 851, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2007:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 854, - "indexed": false, - "name": "datasetParams", - "nodeType": "VariableDeclaration", - "scope": 856, - "src": "2029:20:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - "typeName": { - "id": 853, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2029:6:6", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1925:125:6" - }, - "src": "1903:148:6" - }, - { - "anonymous": false, - "documentation": null, - "id": 864, - "name": "CreateWorkerPool", - "nodeType": "EventDefinition", - "parameters": { - "id": 863, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 858, - "indexed": true, - "name": "workerPoolOwner", - "nodeType": "VariableDeclaration", - "scope": 864, - "src": "2076:31:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 857, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2076:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 860, - "indexed": true, - "name": "workerPool", - "nodeType": "VariableDeclaration", - "scope": 864, - "src": "2109:26:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 859, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2109:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 862, - "indexed": false, - "name": "workerPoolDescription", - "nodeType": "VariableDeclaration", - "scope": 864, - "src": "2137:28:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - "typeName": { - "id": 861, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2137:6:6", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2075:131:6" - }, - "src": "2053:154:6" - }, - { - "anonymous": false, - "documentation": null, - "id": 874, - "name": "CreateCategory", - "nodeType": "EventDefinition", - "parameters": { - "id": 873, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 866, - "indexed": false, - "name": "catid", - "nodeType": "VariableDeclaration", - "scope": 874, - "src": "2233:13:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 865, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2233:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 868, - "indexed": false, - "name": "name", - "nodeType": "VariableDeclaration", - "scope": 874, - "src": "2248:11:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - "typeName": { - "id": 867, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2248:6:6", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 870, - "indexed": false, - "name": "description", - "nodeType": "VariableDeclaration", - "scope": 874, - "src": "2261:18:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - "typeName": { - "id": 869, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2261:6:6", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 872, - "indexed": false, - "name": "workClockTimeRef", - "nodeType": "VariableDeclaration", - "scope": 874, - "src": "2281:24:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 871, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2281:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2232:74:6" - }, - "src": "2210:97:6" - }, - { - "anonymous": false, - "documentation": null, - "id": 880, - "name": "WorkerPoolSubscription", - "nodeType": "EventDefinition", - "parameters": { - "id": 879, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 876, - "indexed": true, - "name": "workerPool", - "nodeType": "VariableDeclaration", - "scope": 880, - "src": "2341:26:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 875, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2341:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 878, - "indexed": false, - "name": "worker", - "nodeType": "VariableDeclaration", - "scope": 880, - "src": "2369:14:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 877, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2369:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2340:44:6" - }, - "src": "2310:75:6" - }, - { - "anonymous": false, - "documentation": null, - "id": 886, - "name": "WorkerPoolUnsubscription", - "nodeType": "EventDefinition", - "parameters": { - "id": 885, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 882, - "indexed": true, - "name": "workerPool", - "nodeType": "VariableDeclaration", - "scope": 886, - "src": "2418:26:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 881, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2418:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 884, - "indexed": false, - "name": "worker", - "nodeType": "VariableDeclaration", - "scope": 886, - "src": "2446:14:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 883, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2446:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2417:44:6" - }, - "src": "2387:75:6" - }, - { - "anonymous": false, - "documentation": null, - "id": 892, - "name": "WorkerPoolEviction", - "nodeType": "EventDefinition", - "parameters": { - "id": 891, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 888, - "indexed": true, - "name": "workerPool", - "nodeType": "VariableDeclaration", - "scope": 892, - "src": "2495:26:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 887, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2495:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 890, - "indexed": false, - "name": "worker", - "nodeType": "VariableDeclaration", - "scope": 892, - "src": "2523:14:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 889, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2523:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2494:44:6" - }, - "src": "2464:75:6" - }, - { - "anonymous": false, - "documentation": null, - "id": 898, - "name": "AccurateContribution", - "nodeType": "EventDefinition", - "parameters": { - "id": 897, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 894, - "indexed": false, - "name": "woid", - "nodeType": "VariableDeclaration", - "scope": 898, - "src": "2569:12:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 893, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2569:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 896, - "indexed": true, - "name": "worker", - "nodeType": "VariableDeclaration", - "scope": 898, - "src": "2583:22:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 895, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2583:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2568:38:6" - }, - "src": "2542:65:6" - }, - { - "anonymous": false, - "documentation": null, - "id": 904, - "name": "FaultyContribution", - "nodeType": "EventDefinition", - "parameters": { - "id": 903, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 900, - "indexed": false, - "name": "woid", - "nodeType": "VariableDeclaration", - "scope": 904, - "src": "2636:12:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 899, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2636:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 902, - "indexed": true, - "name": "worker", - "nodeType": "VariableDeclaration", - "scope": 904, - "src": "2650:22:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 901, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2650:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2635:38:6" - }, - "src": "2609:65:6" - }, - { - "anonymous": false, - "documentation": null, - "id": 910, - "name": "Deposit", - "nodeType": "EventDefinition", - "parameters": { - "id": 909, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 906, - "indexed": false, - "name": "owner", - "nodeType": "VariableDeclaration", - "scope": 910, - "src": "2692:13:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 905, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2692:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 908, - "indexed": false, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 910, - "src": "2707:14:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 907, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2707:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2691:31:6" - }, - "src": "2677:46:6" - }, - { - "anonymous": false, - "documentation": null, - "id": 916, - "name": "Withdraw", - "nodeType": "EventDefinition", - "parameters": { - "id": 915, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 912, - "indexed": false, - "name": "owner", - "nodeType": "VariableDeclaration", - "scope": 916, - "src": "2740:13:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 911, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2740:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 914, - "indexed": false, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 916, - "src": "2755:14:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 913, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2755:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2739:31:6" - }, - "src": "2725:46:6" - }, - { - "anonymous": false, - "documentation": null, - "id": 922, - "name": "Reward", - "nodeType": "EventDefinition", - "parameters": { - "id": 921, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 918, - "indexed": false, - "name": "user", - "nodeType": "VariableDeclaration", - "scope": 922, - "src": "2788:12:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 917, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2788:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 920, - "indexed": false, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 922, - "src": "2803:14:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 919, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2803:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2787:31:6" - }, - "src": "2773:46:6" - }, - { - "anonymous": false, - "documentation": null, - "id": 928, - "name": "Seize", - "nodeType": "EventDefinition", - "parameters": { - "id": 927, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 924, - "indexed": false, - "name": "user", - "nodeType": "VariableDeclaration", - "scope": 928, - "src": "2836:12:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 923, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2836:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 926, - "indexed": false, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 928, - "src": "2851:14:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 925, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2851:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2835:31:6" - }, - "src": "2821:46:6" - }, - { - "body": { - "id": 936, - "nodeType": "Block", - "src": "2925:40:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 934, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 931, - "name": "m_categoriesCreator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 777, - "src": "2929:19:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 932, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "2951:3:6", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 933, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2951:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "2929:32:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 935, - "nodeType": "ExpressionStatement", - "src": "2929:32:6" - } - ] - }, - "documentation": "Constructor", - "id": 937, - "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, - "modifiers": [], - "name": "IexecHub", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 929, - "nodeType": "ParameterList", - "parameters": [], - "src": "2913:2:6" - }, - "payable": false, - "returnParameters": { - "id": 930, - "nodeType": "ParameterList", - "parameters": [], - "src": "2925:0:6" - }, - "scope": 2436, - "src": "2896:69:6", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 992, - "nodeType": "Block", - "src": "3170:349:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 959, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 954, - "name": "rlc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 739, - "src": "3190:3:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RLC_$6785", - "typeString": "contract RLC" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_RLC_$6785", - "typeString": "contract RLC" - } - ], - "id": 953, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3182:7:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 955, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3182:12:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 957, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3206:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 956, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3198:7:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 958, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3198:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "3182:26:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 952, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "3174:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 960, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3174:35:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 961, - "nodeType": "ExpressionStatement", - "src": "3174:35:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 966, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 962, - "name": "rlc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 739, - "src": "3213:3:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RLC_$6785", - "typeString": "contract RLC" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 964, - "name": "_tokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 939, - "src": "3248:13:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 963, - "name": "RLC", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6785, - "src": "3234:3:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_RLC_$6785_$", - "typeString": "type(contract RLC)" - } - }, - "id": 965, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3234:36:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RLC_$6785", - "typeString": "contract RLC" - } - }, - "src": "3213:57:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RLC_$6785", - "typeString": "contract RLC" - } - }, - "id": 967, - "nodeType": "ExpressionStatement", - "src": "3213:57:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 972, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 968, - "name": "marketplace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 756, - "src": "3274:11:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Marketplace_$3513", - "typeString": "contract Marketplace" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 970, - "name": "_marketplaceAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 941, - "src": "3309:19:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 969, - "name": "Marketplace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3513, - "src": "3295:11:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Marketplace_$3513_$", - "typeString": "type(contract Marketplace)" - } - }, - "id": 971, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3295:36:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Marketplace_$3513", - "typeString": "contract Marketplace" - } - }, - "src": "3274:57:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Marketplace_$3513", - "typeString": "contract Marketplace" - } - }, - "id": 973, - "nodeType": "ExpressionStatement", - "src": "3274:57:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 978, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 974, - "name": "workerPoolHub", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 754, - "src": "3335:13:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkerPoolHub_$6349", - "typeString": "contract WorkerPoolHub" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 976, - "name": "_workerPoolHubAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 943, - "src": "3370:21:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 975, - "name": "WorkerPoolHub", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6349, - "src": "3356:13:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_WorkerPoolHub_$6349_$", - "typeString": "type(contract WorkerPoolHub)" - } - }, - "id": 977, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3356:36:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkerPoolHub_$6349", - "typeString": "contract WorkerPoolHub" - } - }, - "src": "3335:57:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkerPoolHub_$6349", - "typeString": "contract WorkerPoolHub" - } - }, - "id": 979, - "nodeType": "ExpressionStatement", - "src": "3335:57:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 984, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 980, - "name": "appHub", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 750, - "src": "3396:6:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AppHub_$224", - "typeString": "contract AppHub" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 982, - "name": "_appHubAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 945, - "src": "3431:14:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 981, - "name": "AppHub", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 224, - "src": "3417:6:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_AppHub_$224_$", - "typeString": "type(contract AppHub)" - } - }, - "id": 983, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3417:36:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AppHub_$224", - "typeString": "contract AppHub" - } - }, - "src": "3396:57:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AppHub_$224", - "typeString": "contract AppHub" - } - }, - "id": 985, - "nodeType": "ExpressionStatement", - "src": "3396:57:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 990, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 986, - "name": "datasetHub", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 752, - "src": "3457:10:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DatasetHub_$449", - "typeString": "contract DatasetHub" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 988, - "name": "_datasetHubAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 947, - "src": "3492:18:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 987, - "name": "DatasetHub", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 449, - "src": "3478:10:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DatasetHub_$449_$", - "typeString": "type(contract DatasetHub)" - } - }, - "id": 989, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3478:36:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DatasetHub_$449", - "typeString": "contract DatasetHub" - } - }, - "src": "3457:57:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DatasetHub_$449", - "typeString": "contract DatasetHub" - } - }, - "id": 991, - "nodeType": "ExpressionStatement", - "src": "3457:57:6" - } - ] - }, - "documentation": null, - "id": 993, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [], - "id": 950, - "modifierName": { - "argumentTypes": null, - "id": 949, - "name": "onlyCategoriesCreator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 788, - "src": "3147:21:6", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "3147:21:6" - } - ], - "name": "attachContracts", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 948, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 939, - "name": "_tokenAddress", - "nodeType": "VariableDeclaration", - "scope": 993, - "src": "2996:21:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 938, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2996:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 941, - "name": "_marketplaceAddress", - "nodeType": "VariableDeclaration", - "scope": 993, - "src": "3021:27:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 940, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3021:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 943, - "name": "_workerPoolHubAddress", - "nodeType": "VariableDeclaration", - "scope": 993, - "src": "3052:29:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 942, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3052:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 945, - "name": "_appHubAddress", - "nodeType": "VariableDeclaration", - "scope": 993, - "src": "3085:22:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 944, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3085:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 947, - "name": "_datasetHubAddress", - "nodeType": "VariableDeclaration", - "scope": 993, - "src": "3111:26:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 946, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3111:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2992:146:6" - }, - "payable": false, - "returnParameters": { - "id": 951, - "nodeType": "ParameterList", - "parameters": [], - "src": "3170:0:6" - }, - "scope": 2436, - "src": "2968:551:6", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 1004, - "nodeType": "Block", - "src": "3611:48:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 1002, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1000, - "name": "m_categoriesCreator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 777, - "src": "3615:19:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1001, - "name": "_categoriesCreator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 995, - "src": "3637:18:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "3615:40:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1003, - "nodeType": "ExpressionStatement", - "src": "3615:40:6" - } - ] - }, - "documentation": null, - "id": 1005, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [], - "id": 998, - "modifierName": { - "argumentTypes": null, - "id": 997, - "name": "onlyCategoriesCreator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 788, - "src": "3588:21:6", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "3588:21:6" - } - ], - "name": "setCategoriesCreator", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 996, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 995, - "name": "_categoriesCreator", - "nodeType": "VariableDeclaration", - "scope": 1005, - "src": "3552:26:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 994, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3552:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3551:28:6" - }, - "payable": false, - "returnParameters": { - "id": 999, - "nodeType": "ParameterList", - "parameters": [], - "src": "3611:0:6" - }, - "scope": 2436, - "src": "3522:137:6", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 1066, - "nodeType": "Block", - "src": "3834:466:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 1023, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1018, - "name": "m_categoriesCount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 775, - "src": "3838:17:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "31", - "id": 1021, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3897:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - } - ], - "expression": { - "argumentTypes": null, - "id": 1019, - "name": "m_categoriesCount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 775, - "src": "3875:17:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1020, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 3773, - "src": "3875:21:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 1022, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3875:24:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3838:61:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1024, - "nodeType": "ExpressionStatement", - "src": "3838:61:6" - }, - { - "assignments": [ - 1028 - ], - "declarations": [ - { - "constant": false, - "id": 1028, - "name": "category", - "nodeType": "VariableDeclaration", - "scope": 1067, - "src": "3903:34:6", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Category_$2892_storage_ptr", - "typeString": "struct IexecLib.Category storage pointer" - }, - "typeName": { - "contractScope": null, - "id": 1027, - "name": "IexecLib.Category", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2892, - "src": "3903:17:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Category_$2892_storage_ptr", - "typeString": "struct IexecLib.Category storage pointer" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1032, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1029, - "name": "m_categories", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 773, - "src": "3940:12:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Category_$2892_storage_$", - "typeString": "mapping(uint256 => struct IexecLib.Category storage ref)" - } - }, - "id": 1031, - "indexExpression": { - "argumentTypes": null, - "id": 1030, - "name": "m_categoriesCount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 775, - "src": "3953:17:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3940:31:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Category_$2892_storage", - "typeString": "struct IexecLib.Category storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3903:68:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 1037, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1033, - "name": "category", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1028, - "src": "3975:8:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Category_$2892_storage_ptr", - "typeString": "struct IexecLib.Category storage pointer" - } - }, - "id": 1035, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "catid", - "nodeType": "MemberAccess", - "referencedDeclaration": 2885, - "src": "3975:14:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1036, - "name": "m_categoriesCount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 775, - "src": "4012:17:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3975:54:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1038, - "nodeType": "ExpressionStatement", - "src": "3975:54:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 1043, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1039, - "name": "category", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1028, - "src": "4033:8:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Category_$2892_storage_ptr", - "typeString": "struct IexecLib.Category storage pointer" - } - }, - "id": 1041, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "name", - "nodeType": "MemberAccess", - "referencedDeclaration": 2887, - "src": "4033:13:6", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1042, - "name": "_name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1007, - "src": "4070:5:6", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "4033:42:6", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 1044, - "nodeType": "ExpressionStatement", - "src": "4033:42:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 1049, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1045, - "name": "category", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1028, - "src": "4079:8:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Category_$2892_storage_ptr", - "typeString": "struct IexecLib.Category storage pointer" - } - }, - "id": 1047, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "description", - "nodeType": "MemberAccess", - "referencedDeclaration": 2889, - "src": "4079:20:6", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1048, - "name": "_description", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1009, - "src": "4116:12:6", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "4079:49:6", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 1050, - "nodeType": "ExpressionStatement", - "src": "4079:49:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 1055, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1051, - "name": "category", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1028, - "src": "4132:8:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Category_$2892_storage_ptr", - "typeString": "struct IexecLib.Category storage pointer" - } - }, - "id": 1053, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "workClockTimeRef", - "nodeType": "MemberAccess", - "referencedDeclaration": 2891, - "src": "4132:25:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1054, - "name": "_workClockTimeRef", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1011, - "src": "4169:17:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4132:54:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1056, - "nodeType": "ExpressionStatement", - "src": "4132:54:6" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1058, - "name": "m_categoriesCount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 775, - "src": "4210:17:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 1059, - "name": "_name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1007, - "src": "4229:5:6", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 1060, - "name": "_description", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1009, - "src": "4236:12:6", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 1061, - "name": "_workClockTimeRef", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1011, - "src": "4250:17:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1057, - "name": "CreateCategory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 874, - "src": "4195:14:6", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_uint256_$returns$__$", - "typeString": "function (uint256,string memory,string memory,uint256)" - } - }, - "id": 1062, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4195:73:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1063, - "nodeType": "EmitStatement", - "src": "4190:78:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 1064, - "name": "m_categoriesCount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 775, - "src": "4279:17:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 1017, - "id": 1065, - "nodeType": "Return", - "src": "4272:24:6" - } - ] - }, - "documentation": "Factory", - "id": 1067, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [], - "id": 1014, - "modifierName": { - "argumentTypes": null, - "id": 1013, - "name": "onlyCategoriesCreator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 788, - "src": "3787:21:6", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "3787:21:6" - } - ], - "name": "createCategory", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1012, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1007, - "name": "_name", - "nodeType": "VariableDeclaration", - "scope": 1067, - "src": "3711:13:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - "typeName": { - "id": 1006, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3711:6:6", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1009, - "name": "_description", - "nodeType": "VariableDeclaration", - "scope": 1067, - "src": "3728:20:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - "typeName": { - "id": 1008, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3728:6:6", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1011, - "name": "_workClockTimeRef", - "nodeType": "VariableDeclaration", - "scope": 1067, - "src": "3752:25:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1010, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3752:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3707:71:6" - }, - "payable": false, - "returnParameters": { - "id": 1017, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1016, - "name": "catid", - "nodeType": "VariableDeclaration", - "scope": 1067, - "src": "3818:13:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1015, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3818:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3817:15:6" - }, - "scope": 2436, - "src": "3684:616:6", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 1102, - "nodeType": "Block", - "src": "4527:302:6", - "statements": [ - { - "assignments": [ - 1081 - ], - "declarations": [ - { - "constant": false, - "id": 1081, - "name": "newWorkerPool", - "nodeType": "VariableDeclaration", - "scope": 1103, - "src": "4531:21:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1080, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4531:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1092, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1084, - "name": "_description", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1069, - "src": "4590:12:6", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - }, - { - "argumentTypes": null, - "id": 1085, - "name": "_subscriptionLockStakePolicy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1071, - "src": "4607:28:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 1086, - "name": "_subscriptionMinimumStakePolicy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1073, - "src": "4640:31:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 1087, - "name": "_subscriptionMinimumScorePolicy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1075, - "src": "4676:31:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1089, - "name": "marketplace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 756, - "src": "4720:11:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Marketplace_$3513", - "typeString": "contract Marketplace" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Marketplace_$3513", - "typeString": "contract Marketplace" - } - ], - "id": 1088, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4712:7:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 1090, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4712:20:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 1082, - "name": "workerPoolHub", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 754, - "src": "4555:13:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkerPoolHub_$6349", - "typeString": "contract WorkerPoolHub" - } - }, - "id": 1083, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createWorkerPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 6288, - "src": "4555:30:6", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$returns$_t_address_$", - "typeString": "function (string memory,uint256,uint256,uint256,address) external returns (address)" - } - }, - "id": 1091, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4555:181:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4531:205:6" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1094, - "name": "tx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7018, - "src": "4762:2:6", - "typeDescriptions": { - "typeIdentifier": "t_magic_transaction", - "typeString": "tx" - } - }, - "id": 1095, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "origin", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4762:9:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1096, - "name": "newWorkerPool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1081, - "src": "4773:13:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1097, - "name": "_description", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1069, - "src": "4788:12:6", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - ], - "id": 1093, - "name": "CreateWorkerPool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 864, - "src": "4745:16:6", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (address,address,string memory)" - } - }, - "id": 1098, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4745:56:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1099, - "nodeType": "EmitStatement", - "src": "4740:61:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 1100, - "name": "newWorkerPool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1081, - "src": "4812:13:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 1079, - "id": 1101, - "nodeType": "Return", - "src": "4805:20:6" - } - ] - }, - "documentation": null, - "id": 1103, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "createWorkerPool", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1076, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1069, - "name": "_description", - "nodeType": "VariableDeclaration", - "scope": 1103, - "src": "4332:20:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - }, - "typeName": { - "id": 1068, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4332:6:6", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1071, - "name": "_subscriptionLockStakePolicy", - "nodeType": "VariableDeclaration", - "scope": 1103, - "src": "4356:36:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1070, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4356:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1073, - "name": "_subscriptionMinimumStakePolicy", - "nodeType": "VariableDeclaration", - "scope": 1103, - "src": "4396:39:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1072, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4396:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1075, - "name": "_subscriptionMinimumScorePolicy", - "nodeType": "VariableDeclaration", - "scope": 1103, - "src": "4439:39:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1074, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4439:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4328:151:6" - }, - "payable": false, - "returnParameters": { - "id": 1079, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1078, - "name": "createdWorkerPool", - "nodeType": "VariableDeclaration", - "scope": 1103, - "src": "4499:25:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1077, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4499:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4498:27:6" - }, - "scope": 2436, - "src": "4303:526:6", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 1134, - "nodeType": "Block", - "src": "4955:174:6", - "statements": [ - { - "assignments": [ - 1115 - ], - "declarations": [ - { - "constant": false, - "id": 1115, - "name": "newApp", - "nodeType": "VariableDeclaration", - "scope": 1135, - "src": "4959:14:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1114, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4959:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1122, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1118, - "name": "_appName", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1105, - "src": "4997:8:6", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - }, - { - "argumentTypes": null, - "id": 1119, - "name": "_appPrice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1107, - "src": "5010:9:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 1120, - "name": "_appParams", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1109, - "src": "5024:10:6", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - ], - "expression": { - "argumentTypes": null, - "id": 1116, - "name": "appHub", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 750, - "src": "4976:6:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AppHub_$224", - "typeString": "contract AppHub" - } - }, - "id": 1117, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createApp", - "nodeType": "MemberAccess", - "referencedDeclaration": 223, - "src": "4976:16:6", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_string_memory_ptr_$returns$_t_address_$", - "typeString": "function (string memory,uint256,string memory) external returns (address)" - } - }, - "id": 1121, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4976:62:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4959:79:6" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1124, - "name": "tx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7018, - "src": "5057:2:6", - "typeDescriptions": { - "typeIdentifier": "t_magic_transaction", - "typeString": "tx" - } - }, - "id": 1125, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "origin", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5057:9:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1126, - "name": "newApp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1115, - "src": "5068:6:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1127, - "name": "_appName", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1105, - "src": "5076:8:6", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - }, - { - "argumentTypes": null, - "id": 1128, - "name": "_appPrice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1107, - "src": "5086:9:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 1129, - "name": "_appParams", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1109, - "src": "5097:10:6", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - ], - "id": 1123, - "name": "CreateApp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 844, - "src": "5047:9:6", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_string_memory_ptr_$_t_uint256_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (address,address,string memory,uint256,string memory)" - } - }, - "id": 1130, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5047:61:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1131, - "nodeType": "EmitStatement", - "src": "5042:66:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 1132, - "name": "newApp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1115, - "src": "5119:6:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 1113, - "id": 1133, - "nodeType": "Return", - "src": "5112:13:6" - } - ] - }, - "documentation": null, - "id": 1135, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "createApp", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1110, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1105, - "name": "_appName", - "nodeType": "VariableDeclaration", - "scope": 1135, - "src": "4854:16:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - }, - "typeName": { - "id": 1104, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4854:6:6", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1107, - "name": "_appPrice", - "nodeType": "VariableDeclaration", - "scope": 1135, - "src": "4874:17:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1106, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4874:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1109, - "name": "_appParams", - "nodeType": "VariableDeclaration", - "scope": 1135, - "src": "4895:18:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - }, - "typeName": { - "id": 1108, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4895:6:6", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4850:64:6" - }, - "payable": false, - "returnParameters": { - "id": 1113, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1112, - "name": "createdApp", - "nodeType": "VariableDeclaration", - "scope": 1135, - "src": "4934:18:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1111, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4934:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4933:20:6" - }, - "scope": 2436, - "src": "4832:297:6", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 1166, - "nodeType": "Block", - "src": "5275:223:6", - "statements": [ - { - "assignments": [ - 1147 - ], - "declarations": [ - { - "constant": false, - "id": 1147, - "name": "newDataset", - "nodeType": "VariableDeclaration", - "scope": 1167, - "src": "5279:18:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1146, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5279:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1154, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1150, - "name": "_datasetName", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1137, - "src": "5329:12:6", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - }, - { - "argumentTypes": null, - "id": 1151, - "name": "_datasetPrice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1139, - "src": "5346:13:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 1152, - "name": "_datasetParams", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1141, - "src": "5364:14:6", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - ], - "expression": { - "argumentTypes": null, - "id": 1148, - "name": "datasetHub", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 752, - "src": "5300:10:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DatasetHub_$449", - "typeString": "contract DatasetHub" - } - }, - "id": 1149, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "createDataset", - "nodeType": "MemberAccess", - "referencedDeclaration": 448, - "src": "5300:24:6", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_string_memory_ptr_$returns$_t_address_$", - "typeString": "function (string memory,uint256,string memory) external returns (address)" - } - }, - "id": 1153, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5300:83:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5279:104:6" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1156, - "name": "tx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7018, - "src": "5406:2:6", - "typeDescriptions": { - "typeIdentifier": "t_magic_transaction", - "typeString": "tx" - } - }, - "id": 1157, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "origin", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5406:9:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1158, - "name": "newDataset", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1147, - "src": "5417:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1159, - "name": "_datasetName", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1137, - "src": "5429:12:6", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - }, - { - "argumentTypes": null, - "id": 1160, - "name": "_datasetPrice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1139, - "src": "5443:13:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 1161, - "name": "_datasetParams", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1141, - "src": "5458:14:6", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - ], - "id": 1155, - "name": "CreateDataset", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 856, - "src": "5392:13:6", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_string_memory_ptr_$_t_uint256_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (address,address,string memory,uint256,string memory)" - } - }, - "id": 1162, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5392:81:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1163, - "nodeType": "EmitStatement", - "src": "5387:86:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 1164, - "name": "newDataset", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1147, - "src": "5484:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 1145, - "id": 1165, - "nodeType": "Return", - "src": "5477:17:6" - } - ] - }, - "documentation": null, - "id": 1167, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "createDataset", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1142, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1137, - "name": "_datasetName", - "nodeType": "VariableDeclaration", - "scope": 1167, - "src": "5158:20:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - }, - "typeName": { - "id": 1136, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "5158:6:6", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1139, - "name": "_datasetPrice", - "nodeType": "VariableDeclaration", - "scope": 1167, - "src": "5182:21:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1138, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5182:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1141, - "name": "_datasetParams", - "nodeType": "VariableDeclaration", - "scope": 1167, - "src": "5207:22:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - }, - "typeName": { - "id": 1140, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "5207:6:6", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5154:76:6" - }, - "payable": false, - "returnParameters": { - "id": 1145, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1144, - "name": "createdDataset", - "nodeType": "VariableDeclaration", - "scope": 1167, - "src": "5250:22:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1143, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5250:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5249:24:6" - }, - "scope": 2436, - "src": "5132:366:6", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 1247, - "nodeType": "Block", - "src": "5739:568:6", - "statements": [ - { - "assignments": [ - 1187 - ], - "declarations": [ - { - "constant": false, - "id": 1187, - "name": "requester", - "nodeType": "VariableDeclaration", - "scope": 1248, - "src": "5743:17:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1186, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5743:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1190, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1188, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "5763:3:6", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1189, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5763:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5743:30:6" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1194, - "name": "_marketorderIdx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1169, - "src": "5819:15:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 1195, - "name": "requester", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1187, - "src": "5836:9:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1196, - "name": "_workerpool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1171, - "src": "5847:11:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 1192, - "name": "marketplace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 756, - "src": "5785:11:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Marketplace_$3513", - "typeString": "contract Marketplace" - } - }, - "id": 1193, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "consumeMarketOrderAsk", - "nodeType": "MemberAccess", - "referencedDeclaration": 3227, - "src": "5785:33:6", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_address_$_t_address_$returns$_t_bool_$", - "typeString": "function (uint256,address,address) external returns (bool)" - } - }, - "id": 1197, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5785:74:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 1191, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "5777:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 1198, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5777:83:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1199, - "nodeType": "ExpressionStatement", - "src": "5777:83:6" - }, - { - "assignments": [ - 1201 - ], - "declarations": [ - { - "constant": false, - "id": 1201, - "name": "emitcost", - "nodeType": "VariableDeclaration", - "scope": 1248, - "src": "5865:16:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1200, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5865:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1208, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1203, - "name": "requester", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1187, - "src": "5902:9:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1204, - "name": "_workerpool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1171, - "src": "5913:11:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1205, - "name": "_app", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1173, - "src": "5926:4:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1206, - "name": "_dataset", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1175, - "src": "5932:8:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1202, - "name": "lockWorkOrderCost", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1338, - "src": "5884:17:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_address_$returns$_t_uint256_$", - "typeString": "function (address,address,address,address) returns (uint256)" - } - }, - "id": 1207, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5884:57:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5865:76:6" - }, - { - "assignments": [ - 1210 - ], - "declarations": [ - { - "constant": false, - "id": 1210, - "name": "workorder", - "nodeType": "VariableDeclaration", - "scope": 1248, - "src": "5946:19:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkOrder_$4299", - "typeString": "contract WorkOrder" - }, - "typeName": { - "contractScope": null, - "id": 1209, - "name": "WorkOrder", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4299, - "src": "5946:9:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkOrder_$4299", - "typeString": "contract WorkOrder" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1223, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1213, - "name": "_marketorderIdx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1169, - "src": "5986:15:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 1214, - "name": "requester", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1187, - "src": "6006:9:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1215, - "name": "_app", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1173, - "src": "6020:4:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1216, - "name": "_dataset", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1175, - "src": "6029:8:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1217, - "name": "_workerpool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1171, - "src": "6042:11:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1218, - "name": "emitcost", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1201, - "src": "6058:8:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 1219, - "name": "_params", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1177, - "src": "6071:7:6", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - }, - { - "argumentTypes": null, - "id": 1220, - "name": "_callback", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1179, - "src": "6083:9:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1221, - "name": "_beneficiary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1181, - "src": "6097:12:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1212, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "5968:13:6", - "typeDescriptions": { - "typeIdentifier": "t_function_creation_nonpayable$_t_uint256_$_t_address_$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_string_memory_ptr_$_t_address_$_t_address_$returns$_t_contract$_WorkOrder_$4299_$", - "typeString": "function (uint256,address,address,address,address,uint256,string memory,address,address) returns (contract WorkOrder)" - }, - "typeName": { - "contractScope": null, - "id": 1211, - "name": "WorkOrder", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4299, - "src": "5972:9:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkOrder_$4299", - "typeString": "contract WorkOrder" - } - } - }, - "id": 1222, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5968:145:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkOrder_$4299", - "typeString": "contract WorkOrder" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5946:167:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 1228, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1224, - "name": "m_woidRegistered", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 796, - "src": "6118:16:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 1226, - "indexExpression": { - "argumentTypes": null, - "id": 1225, - "name": "workorder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1210, - "src": "6135:9:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkOrder_$4299", - "typeString": "contract WorkOrder" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6118:27:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 1227, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6148:4:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "6118:34:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1229, - "nodeType": "ExpressionStatement", - "src": "6118:34:6" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1235, - "name": "workorder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1210, - "src": "6203:9:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkOrder_$4299", - "typeString": "contract WorkOrder" - } - }, - { - "argumentTypes": null, - "id": 1236, - "name": "_marketorderIdx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1169, - "src": "6214:15:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_WorkOrder_$4299", - "typeString": "contract WorkOrder" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1232, - "name": "_workerpool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1171, - "src": "6176:11:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1231, - "name": "WorkerPool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6097, - "src": "6165:10:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_WorkerPool_$6097_$", - "typeString": "type(contract WorkerPool)" - } - }, - "id": 1233, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6165:23:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkerPool_$6097", - "typeString": "contract WorkerPool" - } - }, - "id": 1234, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "emitWorkOrder", - "nodeType": "MemberAccess", - "referencedDeclaration": 4983, - "src": "6165:37:6", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 1237, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6165:65:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 1230, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "6157:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 1238, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6157:74:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1239, - "nodeType": "ExpressionStatement", - "src": "6157:74:6" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1241, - "name": "workorder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1210, - "src": "6260:9:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkOrder_$4299", - "typeString": "contract WorkOrder" - } - }, - { - "argumentTypes": null, - "id": 1242, - "name": "_workerpool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1171, - "src": "6271:11:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_WorkOrder_$4299", - "typeString": "contract WorkOrder" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1240, - "name": "WorkOrderActivated", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 820, - "src": "6241:18:6", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", - "typeString": "function (address,address)" - } - }, - "id": 1243, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6241:42:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1244, - "nodeType": "EmitStatement", - "src": "6236:47:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 1245, - "name": "workorder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1210, - "src": "6294:9:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkOrder_$4299", - "typeString": "contract WorkOrder" - } - }, - "functionReturnParameters": 1185, - "id": 1246, - "nodeType": "Return", - "src": "6287:16:6" - } - ] - }, - "documentation": "WorkOrder Emission", - "id": 1248, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "buyForWorkOrder", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1182, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1169, - "name": "_marketorderIdx", - "nodeType": "VariableDeclaration", - "scope": 1248, - "src": "5562:23:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1168, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5562:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1171, - "name": "_workerpool", - "nodeType": "VariableDeclaration", - "scope": 1248, - "src": "5589:19:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1170, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5589:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1173, - "name": "_app", - "nodeType": "VariableDeclaration", - "scope": 1248, - "src": "5612:12:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1172, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5612:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1175, - "name": "_dataset", - "nodeType": "VariableDeclaration", - "scope": 1248, - "src": "5628:16:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1174, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5628:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1177, - "name": "_params", - "nodeType": "VariableDeclaration", - "scope": 1248, - "src": "5648:15:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - }, - "typeName": { - "id": 1176, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "5648:6:6", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1179, - "name": "_callback", - "nodeType": "VariableDeclaration", - "scope": 1248, - "src": "5667:17:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1178, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5667:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1181, - "name": "_beneficiary", - "nodeType": "VariableDeclaration", - "scope": 1248, - "src": "5688:20:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1180, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5688:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5558:151:6" - }, - "payable": false, - "returnParameters": { - "id": 1185, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1184, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1248, - "src": "5729:7:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1183, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5729:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5728:9:6" - }, - "scope": 2436, - "src": "5534:773:6", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 1259, - "nodeType": "Block", - "src": "6378:38:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1255, - "name": "m_woidRegistered", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 796, - "src": "6389:16:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 1257, - "indexExpression": { - "argumentTypes": null, - "id": 1256, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1250, - "src": "6406:5:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6389:23:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 1254, - "id": 1258, - "nodeType": "Return", - "src": "6382:30:6" - } - ] - }, - "documentation": null, - "id": 1260, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "isWoidRegistred", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1251, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1250, - "name": "_woid", - "nodeType": "VariableDeclaration", - "scope": 1260, - "src": "6335:13:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1249, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6335:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6334:15:6" - }, - "payable": false, - "returnParameters": { - "id": 1254, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1253, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1260, - "src": "6371:4:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1252, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6371:4:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6370:6:6" - }, - "scope": 2436, - "src": "6310:106:6", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 1337, - "nodeType": "Block", - "src": "6657:610:6", - "statements": [ - { - "assignments": [ - 1274 - ], - "declarations": [ - { - "constant": false, - "id": 1274, - "name": "app", - "nodeType": "VariableDeclaration", - "scope": 1338, - "src": "6670:7:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_App_$54", - "typeString": "contract App" - }, - "typeName": { - "contractScope": null, - "id": 1273, - "name": "App", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 54, - "src": "6670:3:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_App_$54", - "typeString": "contract App" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1278, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1276, - "name": "_app", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1266, - "src": "6684:4:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1275, - "name": "App", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 54, - "src": "6680:3:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_App_$54_$", - "typeString": "type(contract App)" - } - }, - "id": 1277, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6680:9:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_App_$54", - "typeString": "contract App" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6670:19:6" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1282, - "name": "_app", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1266, - "src": "6725:4:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 1280, - "name": "appHub", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 750, - "src": "6701:6:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AppHub_$224", - "typeString": "contract AppHub" - } - }, - "id": 1281, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "isAppRegistered", - "nodeType": "MemberAccess", - "referencedDeclaration": 100, - "src": "6701:22:6", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view external returns (bool)" - } - }, - "id": 1283, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6701:29:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 1279, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "6693:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 1284, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6693:38:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1285, - "nodeType": "ExpressionStatement", - "src": "6693:38:6" - }, - { - "assignments": [ - 1287 - ], - "declarations": [ - { - "constant": false, - "id": 1287, - "name": "emitcost", - "nodeType": "VariableDeclaration", - "scope": 1338, - "src": "6776:16:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1286, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6776:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1291, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 1288, - "name": "app", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1274, - "src": "6795:3:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_App_$54", - "typeString": "contract App" - } - }, - "id": 1289, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "m_appPrice", - "nodeType": "MemberAccess", - "referencedDeclaration": 11, - "src": "6795:14:6", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", - "typeString": "function () view external returns (uint256)" - } - }, - "id": 1290, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6795:16:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6776:35:6" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 1296, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1292, - "name": "_dataset", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1268, - "src": "6833:8:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 1294, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6853:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 1293, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6845:7:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 1295, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6845:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "6833:22:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 1320, - "nodeType": "IfStatement", - "src": "6829:256:6", - "trueBody": { - "id": 1319, - "nodeType": "Block", - "src": "6888:197:6", - "statements": [ - { - "assignments": [ - 1298 - ], - "declarations": [ - { - "constant": false, - "id": 1298, - "name": "dataset", - "nodeType": "VariableDeclaration", - "scope": 1338, - "src": "6893:15:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Dataset_$279", - "typeString": "contract Dataset" - }, - "typeName": { - "contractScope": null, - "id": 1297, - "name": "Dataset", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 279, - "src": "6893:7:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Dataset_$279", - "typeString": "contract Dataset" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1302, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1300, - "name": "_dataset", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1268, - "src": "6919:8:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1299, - "name": "Dataset", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 279, - "src": "6911:7:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Dataset_$279_$", - "typeString": "type(contract Dataset)" - } - }, - "id": 1301, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6911:17:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Dataset_$279", - "typeString": "contract Dataset" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6893:35:6" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1306, - "name": "_dataset", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1268, - "src": "6971:8:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 1304, - "name": "datasetHub", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 752, - "src": "6941:10:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DatasetHub_$449", - "typeString": "contract DatasetHub" - } - }, - "id": 1305, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "isDatasetRegistred", - "nodeType": "MemberAccess", - "referencedDeclaration": 325, - "src": "6941:29:6", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view external returns (bool)" - } - }, - "id": 1307, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6941:39:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 1303, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "6933:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 1308, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6933:48:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1309, - "nodeType": "ExpressionStatement", - "src": "6933:48:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 1317, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1310, - "name": "emitcost", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1287, - "src": "7031:8:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 1313, - "name": "dataset", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1298, - "src": "7055:7:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Dataset_$279", - "typeString": "contract Dataset" - } - }, - "id": 1314, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "m_datasetPrice", - "nodeType": "MemberAccess", - "referencedDeclaration": 236, - "src": "7055:22:6", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", - "typeString": "function () view external returns (uint256)" - } - }, - "id": 1315, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7055:24:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 1311, - "name": "emitcost", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1287, - "src": "7042:8:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1312, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 3773, - "src": "7042:12:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 1316, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7042:38:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7031:49:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1318, - "nodeType": "ExpressionStatement", - "src": "7031:49:6" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1324, - "name": "_workerpool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1264, - "src": "7150:11:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 1322, - "name": "workerPoolHub", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 754, - "src": "7113:13:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkerPoolHub_$6349", - "typeString": "contract WorkerPoolHub" - } - }, - "id": 1323, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "isWorkerPoolRegistered", - "nodeType": "MemberAccess", - "referencedDeclaration": 6147, - "src": "7113:36:6", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view external returns (bool)" - } - }, - "id": 1325, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7113:49:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 1321, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "7105:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 1326, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7105:58:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1327, - "nodeType": "ExpressionStatement", - "src": "7105:58:6" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1330, - "name": "_requester", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1262, - "src": "7181:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1331, - "name": "emitcost", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1287, - "src": "7193:8:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1329, - "name": "lock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2397, - "src": "7176:4:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) returns (bool)" - } - }, - "id": 1332, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7176:26:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 1328, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "7168:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 1333, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7168:35:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1334, - "nodeType": "ExpressionStatement", - "src": "7168:35:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 1335, - "name": "emitcost", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1287, - "src": "7255:8:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 1272, - "id": 1336, - "nodeType": "Return", - "src": "7248:15:6" - } - ] - }, - "documentation": null, - "id": 1338, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "lockWorkOrderCost", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1269, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1262, - "name": "_requester", - "nodeType": "VariableDeclaration", - "scope": 1338, - "src": "6449:18:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1261, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6449:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1264, - "name": "_workerpool", - "nodeType": "VariableDeclaration", - "scope": 1338, - "src": "6471:19:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1263, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6471:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1266, - "name": "_app", - "nodeType": "VariableDeclaration", - "scope": 1338, - "src": "6524:12:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1265, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6524:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1268, - "name": "_dataset", - "nodeType": "VariableDeclaration", - "scope": 1338, - "src": "6577:16:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1267, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6577:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6445:149:6" - }, - "payable": false, - "returnParameters": { - "id": 1272, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1271, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1338, - "src": "6647:7:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1270, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6647:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6646:9:6" - }, - "scope": 2436, - "src": "6419:848:6", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 1475, - "nodeType": "Block", - "src": "7401:1466:6", - "statements": [ - { - "assignments": [ - 1349 - ], - "declarations": [ - { - "constant": false, - "id": 1349, - "name": "workorder", - "nodeType": "VariableDeclaration", - "scope": 1476, - "src": "7405:20:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkOrder_$4299", - "typeString": "contract WorkOrder" - }, - "typeName": { - "contractScope": null, - "id": 1348, - "name": "WorkOrder", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4299, - "src": "7405:9:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkOrder_$4299", - "typeString": "contract WorkOrder" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1353, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1351, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1340, - "src": "7439:5:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1350, - "name": "WorkOrder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4299, - "src": "7429:9:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_WorkOrder_$4299_$", - "typeString": "type(contract WorkOrder)" - } - }, - "id": 1352, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7429:16:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkOrder_$4299", - "typeString": "contract WorkOrder" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7405:40:6" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 1360, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 1355, - "name": "workorder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1349, - "src": "7457:9:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkOrder_$4299", - "typeString": "contract WorkOrder" - } - }, - "id": 1356, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "m_requester", - "nodeType": "MemberAccess", - "referencedDeclaration": 4050, - "src": "7457:21:6", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", - "typeString": "function () view external returns (address)" - } - }, - "id": 1357, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7457:23:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1358, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "7484:3:6", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1359, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7484:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "7457:37:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 1354, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "7449:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 1361, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7449:46:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1362, - "nodeType": "ExpressionStatement", - "src": "7449:46:6" - }, - { - "assignments": [ - 1364 - ], - "declarations": [ - { - "constant": false, - "id": 1364, - "name": "workerpool", - "nodeType": "VariableDeclaration", - "scope": 1476, - "src": "7499:21:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkerPool_$6097", - "typeString": "contract WorkerPool" - }, - "typeName": { - "contractScope": null, - "id": 1363, - "name": "WorkerPool", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6097, - "src": "7499:10:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkerPool_$6097", - "typeString": "contract WorkerPool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1370, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 1366, - "name": "workorder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1349, - "src": "7534:9:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkOrder_$4299", - "typeString": "contract WorkOrder" - } - }, - "id": 1367, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "m_workerpool", - "nodeType": "MemberAccess", - "referencedDeclaration": 4048, - "src": "7534:22:6", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", - "typeString": "function () view external returns (address)" - } - }, - "id": 1368, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7534:24:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1365, - "name": "WorkerPool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6097, - "src": "7523:10:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_WorkerPool_$6097_$", - "typeString": "type(contract WorkerPool)" - } - }, - "id": 1369, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7523:36:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkerPool_$6097", - "typeString": "contract WorkerPool" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7499:60:6" - }, - { - "assignments": [ - 1374 - ], - "declarations": [ - { - "constant": false, - "id": 1374, - "name": "currentStatus", - "nodeType": "VariableDeclaration", - "scope": 1476, - "src": "7564:42:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", - "typeString": "enum IexecLib.WorkOrderStatusEnum" - }, - "typeName": { - "contractScope": null, - "id": 1373, - "name": "IexecLib.WorkOrderStatusEnum", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2832, - "src": "7564:28:6", - "typeDescriptions": { - "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", - "typeString": "enum IexecLib.WorkOrderStatusEnum" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1378, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 1375, - "name": "workorder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1349, - "src": "7609:9:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkOrder_$4299", - "typeString": "contract WorkOrder" - } - }, - "id": 1376, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "m_status", - "nodeType": "MemberAccess", - "referencedDeclaration": 4040, - "src": "7609:18:6", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_enum$_WorkOrderStatusEnum_$2832_$", - "typeString": "function () view external returns (enum IexecLib.WorkOrderStatusEnum)" - } - }, - "id": 1377, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7609:20:6", - "typeDescriptions": { - "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", - "typeString": "enum IexecLib.WorkOrderStatusEnum" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7564:65:6" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 1390, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", - "typeString": "enum IexecLib.WorkOrderStatusEnum" - }, - "id": 1384, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1380, - "name": "currentStatus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1374, - "src": "7641:13:6", - "typeDescriptions": { - "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", - "typeString": "enum IexecLib.WorkOrderStatusEnum" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1381, - "name": "IexecLib", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2893, - "src": "7658:8:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IexecLib_$2893_$", - "typeString": "type(library IexecLib)" - } - }, - "id": 1382, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "WorkOrderStatusEnum", - "nodeType": "MemberAccess", - "referencedDeclaration": 2832, - "src": "7658:28:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_WorkOrderStatusEnum_$2832_$", - "typeString": "type(enum IexecLib.WorkOrderStatusEnum)" - } - }, - "id": 1383, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "ACTIVE", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7658:35:6", - "typeDescriptions": { - "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", - "typeString": "enum IexecLib.WorkOrderStatusEnum" - } - }, - "src": "7641:52:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", - "typeString": "enum IexecLib.WorkOrderStatusEnum" - }, - "id": 1389, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1385, - "name": "currentStatus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1374, - "src": "7697:13:6", - "typeDescriptions": { - "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", - "typeString": "enum IexecLib.WorkOrderStatusEnum" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1386, - "name": "IexecLib", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2893, - "src": "7714:8:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IexecLib_$2893_$", - "typeString": "type(library IexecLib)" - } - }, - "id": 1387, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "WorkOrderStatusEnum", - "nodeType": "MemberAccess", - "referencedDeclaration": 2832, - "src": "7714:28:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_WorkOrderStatusEnum_$2832_$", - "typeString": "type(enum IexecLib.WorkOrderStatusEnum)" - } - }, - "id": 1388, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "REVEALING", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7714:38:6", - "typeDescriptions": { - "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", - "typeString": "enum IexecLib.WorkOrderStatusEnum" - } - }, - "src": "7697:55:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "7641:111:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 1379, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "7633:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 1391, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7633:120:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1392, - "nodeType": "ExpressionStatement", - "src": "7633:120:6" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1396, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1340, - "src": "7832:5:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 1394, - "name": "workerpool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1364, - "src": "7800:10:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkerPool_$6097", - "typeString": "contract WorkerPool" - } - }, - "id": 1395, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "claimFailedConsensus", - "nodeType": "MemberAccess", - "referencedDeclaration": 5063, - "src": "7800:31:6", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$_t_bool_$", - "typeString": "function (address) external returns (bool)" - } - }, - "id": 1397, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7800:38:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 1393, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "7792:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 1398, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7792:47:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1399, - "nodeType": "ExpressionStatement", - "src": "7792:47:6" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 1400, - "name": "workorder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1349, - "src": "7843:9:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkOrder_$4299", - "typeString": "contract WorkOrder" - } - }, - "id": 1402, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "claim", - "nodeType": "MemberAccess", - "referencedDeclaration": 4249, - "src": "7843:15:6", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$__$returns$__$", - "typeString": "function () external" - } - }, - "id": 1403, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7843:17:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1404, - "nodeType": "ExpressionStatement", - "src": "7843:17:6" - }, - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 1406, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 1476, - "src": "8134:13:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1405, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8134:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1407, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "8134:13:6" - }, - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 1409, - "name": "workerpoolOwner", - "nodeType": "VariableDeclaration", - "scope": 1476, - "src": "8151:23:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1408, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8151:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1410, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "8151:23:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 1420, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - null, - null, - null, - { - "argumentTypes": null, - "id": 1411, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1406, - "src": "8182:5:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - null, - null, - null, - { - "argumentTypes": null, - "id": 1412, - "name": "workerpoolOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1409, - "src": "8191:15:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "id": 1413, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "8178:29:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$__$__$_t_uint256_$__$__$__$_t_address_$", - "typeString": "tuple(,,,uint256,,,,address)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 1416, - "name": "workorder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1349, - "src": "8237:9:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkOrder_$4299", - "typeString": "contract WorkOrder" - } - }, - "id": 1417, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "m_marketorderIdx", - "nodeType": "MemberAccess", - "referencedDeclaration": 4042, - "src": "8237:26:6", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", - "typeString": "function () view external returns (uint256)" - } - }, - "id": 1418, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8237:28:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 1414, - "name": "marketplace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 756, - "src": "8210:11:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Marketplace_$3513", - "typeString": "contract Marketplace" - } - }, - "id": 1415, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getMarketOrder", - "nodeType": "MemberAccess", - "referencedDeclaration": 3372, - "src": "8210:26:6", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_enum$_MarketOrderDirectionEnum_$2809_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$_t_address_$", - "typeString": "function (uint256) view external returns (enum IexecLib.MarketOrderDirectionEnum,uint256,uint256,uint256,uint256,uint256,address,address)" - } - }, - "id": 1419, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8210:56:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MarketOrderDirectionEnum_$2809_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$_t_address_$", - "typeString": "tuple(enum IexecLib.MarketOrderDirectionEnum,uint256,uint256,uint256,uint256,uint256,address,address)" - } - }, - "src": "8178:88:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1421, - "nodeType": "ExpressionStatement", - "src": "8178:88:6" - }, - { - "assignments": [ - 1423 - ], - "declarations": [ - { - "constant": false, - "id": 1423, - "name": "workerpoolStake", - "nodeType": "VariableDeclaration", - "scope": 1476, - "src": "8299:23:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1422, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8299:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1430, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 1426, - "name": "marketplace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 756, - "src": "8342:11:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Marketplace_$3513", - "typeString": "contract Marketplace" - } - }, - "id": 1427, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "ASK_STAKE_RATIO", - "nodeType": "MemberAccess", - "referencedDeclaration": 2914, - "src": "8342:27:6", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", - "typeString": "function () view external returns (uint256)" - } - }, - "id": 1428, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8342:29:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 1424, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1406, - "src": "8325:5:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1425, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "percentage", - "nodeType": "MemberAccess", - "referencedDeclaration": 3914, - "src": "8325:16:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 1429, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8325:47:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8299:73:6" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 1433, - "name": "workorder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1349, - "src": "8393:9:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkOrder_$4299", - "typeString": "contract WorkOrder" - } - }, - "id": 1434, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "m_requester", - "nodeType": "MemberAccess", - "referencedDeclaration": 4050, - "src": "8393:21:6", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", - "typeString": "function () view external returns (address)" - } - }, - "id": 1435, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8393:23:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 1438, - "name": "workorder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1349, - "src": "8428:9:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkOrder_$4299", - "typeString": "contract WorkOrder" - } - }, - "id": 1439, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "m_emitcost", - "nodeType": "MemberAccess", - "referencedDeclaration": 4052, - "src": "8428:20:6", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", - "typeString": "function () view external returns (uint256)" - } - }, - "id": 1440, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8428:22:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 1436, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1406, - "src": "8418:5:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1437, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 3773, - "src": "8418:9:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 1441, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8418:33:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1432, - "name": "unlock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2435, - "src": "8385:6:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) returns (bool)" - } - }, - "id": 1442, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8385:67:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 1431, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "8377:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 1443, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8377:76:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1444, - "nodeType": "ExpressionStatement", - "src": "8377:76:6" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1447, - "name": "workerpoolOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1409, - "src": "8511:15:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1448, - "name": "workerpoolStake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1423, - "src": "8536:15:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1446, - "name": "seize", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2359, - "src": "8503:5:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) returns (bool)" - } - }, - "id": 1449, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8503:49:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 1445, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "8495:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 1450, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8495:58:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1451, - "nodeType": "ExpressionStatement", - "src": "8495:58:6" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1454, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7063, - "src": "8684:4:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IexecHub_$2436", - "typeString": "contract IexecHub" - } - }, - { - "argumentTypes": null, - "id": 1455, - "name": "workerpoolStake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1423, - "src": "8709:15:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IexecHub_$2436", - "typeString": "contract IexecHub" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1453, - "name": "reward", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2329, - "src": "8676:6:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) returns (bool)" - } - }, - "id": 1456, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8676:49:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 1452, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "8668:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 1457, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8668:58:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1458, - "nodeType": "ExpressionStatement", - "src": "8668:58:6" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1461, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7063, - "src": "8746:4:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IexecHub_$2436", - "typeString": "contract IexecHub" - } - }, - { - "argumentTypes": null, - "id": 1462, - "name": "workerpoolStake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1423, - "src": "8771:15:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IexecHub_$2436", - "typeString": "contract IexecHub" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1460, - "name": "lock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2397, - "src": "8738:4:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) returns (bool)" - } - }, - "id": 1463, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8738:49:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 1459, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "8730:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 1464, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8730:58:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1465, - "nodeType": "ExpressionStatement", - "src": "8730:58:6" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1467, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1340, - "src": "8816:5:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 1468, - "name": "workorder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1349, - "src": "8823:9:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkOrder_$4299", - "typeString": "contract WorkOrder" - } - }, - "id": 1469, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "m_workerpool", - "nodeType": "MemberAccess", - "referencedDeclaration": 4048, - "src": "8823:22:6", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", - "typeString": "function () view external returns (address)" - } - }, - "id": 1470, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8823:24:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1466, - "name": "WorkOrderClaimed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 826, - "src": "8799:16:6", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", - "typeString": "function (address,address)" - } - }, - "id": 1471, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8799:49:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1472, - "nodeType": "EmitStatement", - "src": "8794:54:6" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 1473, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8859:4:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 1347, - "id": 1474, - "nodeType": "Return", - "src": "8852:11:6" - } - ] - }, - "documentation": "WorkOrder life cycle", - "id": 1476, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 1343, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1340, - "src": "7378:5:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "id": 1344, - "modifierName": { - "argumentTypes": null, - "id": 1342, - "name": "onlyRegisteredWoid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 808, - "src": "7359:18:6", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_address_$", - "typeString": "modifier (address)" - } - }, - "nodeType": "ModifierInvocation", - "src": "7359:25:6" - } - ], - "name": "claimFailedConsensus", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1341, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1340, - "name": "_woid", - "nodeType": "VariableDeclaration", - "scope": 1476, - "src": "7336:13:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1339, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7336:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7335:15:6" - }, - "payable": false, - "returnParameters": { - "id": 1347, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1346, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1476, - "src": "7394:4:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1345, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "7394:4:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7393:6:6" - }, - "scope": 2436, - "src": "7306:1561:6", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 1683, - "nodeType": "Block", - "src": "9019:2281:6", - "statements": [ - { - "assignments": [ - 1493 - ], - "declarations": [ - { - "constant": false, - "id": 1493, - "name": "workorder", - "nodeType": "VariableDeclaration", - "scope": 1684, - "src": "9023:19:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkOrder_$4299", - "typeString": "contract WorkOrder" - }, - "typeName": { - "contractScope": null, - "id": 1492, - "name": "WorkOrder", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4299, - "src": "9023:9:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkOrder_$4299", - "typeString": "contract WorkOrder" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1497, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1495, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1478, - "src": "9055:5:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1494, - "name": "WorkOrder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4299, - "src": "9045:9:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_WorkOrder_$4299_$", - "typeString": "type(contract WorkOrder)" - } - }, - "id": 1496, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9045:16:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkOrder_$4299", - "typeString": "contract WorkOrder" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9023:38:6" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 1504, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 1499, - "name": "workorder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1493, - "src": "9073:9:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkOrder_$4299", - "typeString": "contract WorkOrder" - } - }, - "id": 1500, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "m_workerpool", - "nodeType": "MemberAccess", - "referencedDeclaration": 4048, - "src": "9073:22:6", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", - "typeString": "function () view external returns (address)" - } - }, - "id": 1501, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9073:24:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1502, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "9101:3:6", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1503, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "9101:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "9073:38:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 1498, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "9065:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 1505, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9065:47:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1506, - "nodeType": "ExpressionStatement", - "src": "9065:47:6" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", - "typeString": "enum IexecLib.WorkOrderStatusEnum" - }, - "id": 1514, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 1508, - "name": "workorder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1493, - "src": "9124:9:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkOrder_$4299", - "typeString": "contract WorkOrder" - } - }, - "id": 1509, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "m_status", - "nodeType": "MemberAccess", - "referencedDeclaration": 4040, - "src": "9124:18:6", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_enum$_WorkOrderStatusEnum_$2832_$", - "typeString": "function () view external returns (enum IexecLib.WorkOrderStatusEnum)" - } - }, - "id": 1510, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9124:20:6", - "typeDescriptions": { - "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", - "typeString": "enum IexecLib.WorkOrderStatusEnum" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1511, - "name": "IexecLib", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2893, - "src": "9152:8:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IexecLib_$2893_$", - "typeString": "type(library IexecLib)" - } - }, - "id": 1512, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "WorkOrderStatusEnum", - "nodeType": "MemberAccess", - "referencedDeclaration": 2832, - "src": "9152:28:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_WorkOrderStatusEnum_$2832_$", - "typeString": "type(enum IexecLib.WorkOrderStatusEnum)" - } - }, - "id": 1513, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "REVEALING", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "9152:38:6", - "typeDescriptions": { - "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", - "typeString": "enum IexecLib.WorkOrderStatusEnum" - } - }, - "src": "9124:66:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 1507, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "9116:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 1515, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9116:75:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1516, - "nodeType": "ExpressionStatement", - "src": "9116:75:6" - }, - { - "assignments": [ - 1518 - ], - "declarations": [ - { - "constant": false, - "id": 1518, - "name": "app", - "nodeType": "VariableDeclaration", - "scope": 1684, - "src": "9205:11:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_App_$54", - "typeString": "contract App" - }, - "typeName": { - "contractScope": null, - "id": 1517, - "name": "App", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 54, - "src": "9205:3:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_App_$54", - "typeString": "contract App" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1524, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 1520, - "name": "workorder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1493, - "src": "9228:9:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkOrder_$4299", - "typeString": "contract WorkOrder" - } - }, - "id": 1521, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "m_app", - "nodeType": "MemberAccess", - "referencedDeclaration": 4044, - "src": "9228:15:6", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", - "typeString": "function () view external returns (address)" - } - }, - "id": 1522, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9228:17:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1519, - "name": "App", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 54, - "src": "9224:3:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_App_$54_$", - "typeString": "type(contract App)" - } - }, - "id": 1523, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9224:22:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_App_$54", - "typeString": "contract App" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9205:41:6" - }, - { - "assignments": [ - 1526 - ], - "declarations": [ - { - "constant": false, - "id": 1526, - "name": "appPrice", - "nodeType": "VariableDeclaration", - "scope": 1684, - "src": "9250:16:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1525, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9250:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1530, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 1527, - "name": "app", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1518, - "src": "9269:3:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_App_$54", - "typeString": "contract App" - } - }, - "id": 1528, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "m_appPrice", - "nodeType": "MemberAccess", - "referencedDeclaration": 11, - "src": "9269:14:6", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", - "typeString": "function () view external returns (uint256)" - } - }, - "id": 1529, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9269:16:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9250:35:6" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1533, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1531, - "name": "appPrice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1526, - "src": "9293:8:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 1532, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9304:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "9293:12:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 1544, - "nodeType": "IfStatement", - "src": "9289:70:6", - "trueBody": { - "id": 1543, - "nodeType": "Block", - "src": "9309:50:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 1536, - "name": "app", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1518, - "src": "9329:3:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_App_$54", - "typeString": "contract App" - } - }, - "id": 1537, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "m_owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 3681, - "src": "9329:11:6", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", - "typeString": "function () view external returns (address)" - } - }, - "id": 1538, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9329:13:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1539, - "name": "appPrice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1526, - "src": "9344:8:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1535, - "name": "reward", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2329, - "src": "9322:6:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) returns (bool)" - } - }, - "id": 1540, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9322:31:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 1534, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "9314:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 1541, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9314:40:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1542, - "nodeType": "ExpressionStatement", - "src": "9314:40:6" - } - ] - } - }, - { - "assignments": [ - 1546 - ], - "declarations": [ - { - "constant": false, - "id": 1546, - "name": "dataset", - "nodeType": "VariableDeclaration", - "scope": 1684, - "src": "9376:15:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Dataset_$279", - "typeString": "contract Dataset" - }, - "typeName": { - "contractScope": null, - "id": 1545, - "name": "Dataset", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 279, - "src": "9376:7:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Dataset_$279", - "typeString": "contract Dataset" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1552, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 1548, - "name": "workorder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1493, - "src": "9402:9:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkOrder_$4299", - "typeString": "contract WorkOrder" - } - }, - "id": 1549, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "m_dataset", - "nodeType": "MemberAccess", - "referencedDeclaration": 4046, - "src": "9402:19:6", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", - "typeString": "function () view external returns (address)" - } - }, - "id": 1550, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9402:21:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1547, - "name": "Dataset", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 279, - "src": "9394:7:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Dataset_$279_$", - "typeString": "type(contract Dataset)" - } - }, - "id": 1551, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9394:30:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Dataset_$279", - "typeString": "contract Dataset" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9376:48:6" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 1557, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1553, - "name": "dataset", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1546, - "src": "9432:7:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Dataset_$279", - "typeString": "contract Dataset" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 1555, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9451:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 1554, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9443:7:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 1556, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9443:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "9432:21:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 1579, - "nodeType": "IfStatement", - "src": "9428:175:6", - "trueBody": { - "id": 1578, - "nodeType": "Block", - "src": "9457:146:6", - "statements": [ - { - "assignments": [ - 1559 - ], - "declarations": [ - { - "constant": false, - "id": 1559, - "name": "datasetPrice", - "nodeType": "VariableDeclaration", - "scope": 1684, - "src": "9462:20:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1558, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9462:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1563, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 1560, - "name": "dataset", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1546, - "src": "9485:7:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Dataset_$279", - "typeString": "contract Dataset" - } - }, - "id": 1561, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "m_datasetPrice", - "nodeType": "MemberAccess", - "referencedDeclaration": 236, - "src": "9485:22:6", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", - "typeString": "function () view external returns (uint256)" - } - }, - "id": 1562, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9485:24:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9462:47:6" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1566, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1564, - "name": "datasetPrice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1559, - "src": "9518:12:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 1565, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9533:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "9518:16:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 1577, - "nodeType": "IfStatement", - "src": "9514:85:6", - "trueBody": { - "id": 1576, - "nodeType": "Block", - "src": "9539:60:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 1569, - "name": "dataset", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1546, - "src": "9560:7:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Dataset_$279", - "typeString": "contract Dataset" - } - }, - "id": 1570, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "m_owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 3681, - "src": "9560:15:6", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", - "typeString": "function () view external returns (address)" - } - }, - "id": 1571, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9560:17:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1572, - "name": "datasetPrice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1559, - "src": "9579:12:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1568, - "name": "reward", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2329, - "src": "9553:6:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) returns (bool)" - } - }, - "id": 1573, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9553:39:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 1567, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "9545:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 1574, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9545:48:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1575, - "nodeType": "ExpressionStatement", - "src": "9545:48:6" - } - ] - } - } - ] - } - }, - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 1581, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 1684, - "src": "10072:13:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1580, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10072:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1582, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "10072:13:6" - }, - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 1584, - "name": "workerpoolOwner", - "nodeType": "VariableDeclaration", - "scope": 1684, - "src": "10089:23:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1583, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10089:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1585, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "10089:23:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 1595, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - null, - null, - null, - { - "argumentTypes": null, - "id": 1586, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1581, - "src": "10120:5:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - null, - null, - null, - { - "argumentTypes": null, - "id": 1587, - "name": "workerpoolOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1584, - "src": "10129:15:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "id": 1588, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "10116:29:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$__$__$_t_uint256_$__$__$__$_t_address_$", - "typeString": "tuple(,,,uint256,,,,address)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 1591, - "name": "workorder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1493, - "src": "10175:9:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkOrder_$4299", - "typeString": "contract WorkOrder" - } - }, - "id": 1592, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "m_marketorderIdx", - "nodeType": "MemberAccess", - "referencedDeclaration": 4042, - "src": "10175:26:6", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", - "typeString": "function () view external returns (uint256)" - } - }, - "id": 1593, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10175:28:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 1589, - "name": "marketplace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 756, - "src": "10148:11:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Marketplace_$3513", - "typeString": "contract Marketplace" - } - }, - "id": 1590, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getMarketOrder", - "nodeType": "MemberAccess", - "referencedDeclaration": 3372, - "src": "10148:26:6", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_enum$_MarketOrderDirectionEnum_$2809_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$_t_address_$", - "typeString": "function (uint256) view external returns (enum IexecLib.MarketOrderDirectionEnum,uint256,uint256,uint256,uint256,uint256,address,address)" - } - }, - "id": 1594, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10148:56:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MarketOrderDirectionEnum_$2809_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$_t_address_$", - "typeString": "tuple(enum IexecLib.MarketOrderDirectionEnum,uint256,uint256,uint256,uint256,uint256,address,address)" - } - }, - "src": "10116:88:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1596, - "nodeType": "ExpressionStatement", - "src": "10116:88:6" - }, - { - "assignments": [ - 1598 - ], - "declarations": [ - { - "constant": false, - "id": 1598, - "name": "workerpoolStake", - "nodeType": "VariableDeclaration", - "scope": 1684, - "src": "10237:23:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1597, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10237:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1605, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 1601, - "name": "marketplace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 756, - "src": "10286:11:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Marketplace_$3513", - "typeString": "contract Marketplace" - } - }, - "id": 1602, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "ASK_STAKE_RATIO", - "nodeType": "MemberAccess", - "referencedDeclaration": 2914, - "src": "10286:27:6", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", - "typeString": "function () view external returns (uint256)" - } - }, - "id": 1603, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10286:29:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 1599, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1581, - "src": "10269:5:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1600, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "percentage", - "nodeType": "MemberAccess", - "referencedDeclaration": 3914, - "src": "10269:16:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 1604, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10269:47:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10237:79:6" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 1608, - "name": "workorder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1493, - "src": "10336:9:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkOrder_$4299", - "typeString": "contract WorkOrder" - } - }, - "id": 1609, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "m_requester", - "nodeType": "MemberAccess", - "referencedDeclaration": 4050, - "src": "10336:21:6", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", - "typeString": "function () view external returns (address)" - } - }, - "id": 1610, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10336:23:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 1613, - "name": "workorder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1493, - "src": "10371:9:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkOrder_$4299", - "typeString": "contract WorkOrder" - } - }, - "id": 1614, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "m_emitcost", - "nodeType": "MemberAccess", - "referencedDeclaration": 4052, - "src": "10371:20:6", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", - "typeString": "function () view external returns (uint256)" - } - }, - "id": 1615, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10371:22:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 1611, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1581, - "src": "10361:5:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1612, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 3773, - "src": "10361:9:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 1616, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10361:33:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1607, - "name": "seize", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2359, - "src": "10329:5:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) returns (bool)" - } - }, - "id": 1617, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10329:66:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 1606, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "10321:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 1618, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10321:75:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1619, - "nodeType": "ExpressionStatement", - "src": "10321:75:6" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1622, - "name": "workerpoolOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1584, - "src": "10468:15:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1623, - "name": "workerpoolStake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1598, - "src": "10493:15:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1621, - "name": "unlock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2435, - "src": "10461:6:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) returns (bool)" - } - }, - "id": 1624, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10461:48:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 1620, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "10453:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 1625, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10453:57:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1626, - "nodeType": "ExpressionStatement", - "src": "10453:57:6" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1630, - "name": "_stdout", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1480, - "src": "10580:7:6", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 1631, - "name": "_stderr", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1482, - "src": "10589:7:6", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 1632, - "name": "_uri", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1484, - "src": "10598:4:6", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 1627, - "name": "workorder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1493, - "src": "10560:9:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkOrder_$4299", - "typeString": "contract WorkOrder" - } - }, - "id": 1629, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "setResult", - "nodeType": "MemberAccess", - "referencedDeclaration": 4298, - "src": "10560:19:6", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (string memory,string memory,string memory) external" - } - }, - "id": 1633, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10560:43:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1634, - "nodeType": "ExpressionStatement", - "src": "10560:43:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 1640, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1635, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1581, - "src": "10951:5:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1636, - "name": "m_accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 792, - "src": "10959:10:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$2878_storage_$", - "typeString": "mapping(address => struct IexecLib.Account storage ref)" - } - }, - "id": 1638, - "indexExpression": { - "argumentTypes": null, - "id": 1637, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7063, - "src": "10970:4:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IexecHub_$2436", - "typeString": "contract IexecHub" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10959:16:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Account_$2878_storage", - "typeString": "struct IexecLib.Account storage ref" - } - }, - "id": 1639, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "locked", - "nodeType": "MemberAccess", - "referencedDeclaration": 2877, - "src": "10959:23:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10951:31:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1641, - "nodeType": "ExpressionStatement", - "src": "10951:31:6" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1644, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1642, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1581, - "src": "11025:5:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 1643, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11033:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "11025:9:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 1673, - "nodeType": "IfStatement", - "src": "11022:199:6", - "trueBody": { - "id": 1672, - "nodeType": "Block", - "src": "11038:183:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 1656, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1645, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1581, - "src": "11043:5:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1653, - "name": "STAKE_BONUS_MIN_THRESHOLD", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 745, - "src": "11101:25:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1650, - "name": "STAKE_BONUS_RATIO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 742, - "src": "11078:17:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 1648, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1581, - "src": "11061:5:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1649, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "percentage", - "nodeType": "MemberAccess", - "referencedDeclaration": 3914, - "src": "11061:16:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 1651, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11061:35:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1652, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "max", - "nodeType": "MemberAccess", - "referencedDeclaration": 3861, - "src": "11061:39:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 1654, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11061:66:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 1646, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1581, - "src": "11051:5:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1647, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "min", - "nodeType": "MemberAccess", - "referencedDeclaration": 3878, - "src": "11051:9:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 1655, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11051:77:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11043:85:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1657, - "nodeType": "ExpressionStatement", - "src": "11043:85:6" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1660, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7063, - "src": "11147:4:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IexecHub_$2436", - "typeString": "contract IexecHub" - } - }, - { - "argumentTypes": null, - "id": 1661, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1581, - "src": "11165:5:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IexecHub_$2436", - "typeString": "contract IexecHub" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1659, - "name": "seize", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2359, - "src": "11141:5:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) returns (bool)" - } - }, - "id": 1662, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11141:30:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 1658, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "11133:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 1663, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11133:39:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1664, - "nodeType": "ExpressionStatement", - "src": "11133:39:6" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1667, - "name": "workerpoolOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1584, - "src": "11192:15:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1668, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1581, - "src": "11209:5:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1666, - "name": "reward", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2329, - "src": "11185:6:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) returns (bool)" - } - }, - "id": 1669, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11185:30:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 1665, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "11177:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 1670, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11177:39:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1671, - "nodeType": "ExpressionStatement", - "src": "11177:39:6" - } - ] - } - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1675, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1478, - "src": "11249:5:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 1676, - "name": "workorder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1493, - "src": "11256:9:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkOrder_$4299", - "typeString": "contract WorkOrder" - } - }, - "id": 1677, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "m_workerpool", - "nodeType": "MemberAccess", - "referencedDeclaration": 4048, - "src": "11256:22:6", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", - "typeString": "function () view external returns (address)" - } - }, - "id": 1678, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11256:24:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1674, - "name": "WorkOrderCompleted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 832, - "src": "11230:18:6", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", - "typeString": "function (address,address)" - } - }, - "id": 1679, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11230:51:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1680, - "nodeType": "EmitStatement", - "src": "11225:56:6" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 1681, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11292:4:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 1491, - "id": 1682, - "nodeType": "Return", - "src": "11285:11:6" - } - ] - }, - "documentation": null, - "id": 1684, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 1487, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1478, - "src": "8996:5:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "id": 1488, - "modifierName": { - "argumentTypes": null, - "id": 1486, - "name": "onlyRegisteredWoid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 808, - "src": "8977:18:6", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_address_$", - "typeString": "modifier (address)" - } - }, - "nodeType": "ModifierInvocation", - "src": "8977:25:6" - } - ], - "name": "finalizeWorkOrder", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1485, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1478, - "name": "_woid", - "nodeType": "VariableDeclaration", - "scope": 1684, - "src": "8900:13:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1477, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8900:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1480, - "name": "_stdout", - "nodeType": "VariableDeclaration", - "scope": 1684, - "src": "8917:15:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - "typeName": { - "id": 1479, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "8917:6:6", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1482, - "name": "_stderr", - "nodeType": "VariableDeclaration", - "scope": 1684, - "src": "8936:15:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - "typeName": { - "id": 1481, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "8936:6:6", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1484, - "name": "_uri", - "nodeType": "VariableDeclaration", - "scope": 1684, - "src": "8955:12:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - "typeName": { - "id": 1483, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "8955:6:6", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8896:72:6" - }, - "payable": false, - "returnParameters": { - "id": 1491, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1490, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1684, - "src": "9012:4:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1489, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "9012:4:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9011:6:6" - }, - "scope": 2436, - "src": "8870:2430:6", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 1702, - "nodeType": "Block", - "src": "11424:89:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1693, - "name": "_catId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1686, - "src": "11453:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1692, - "name": "existingCategory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1718, - "src": "11436:16:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 1694, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11436:24:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 1691, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "11428:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 1695, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11428:33:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1696, - "nodeType": "ExpressionStatement", - "src": "11428:33:6" - }, - { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1697, - "name": "m_categories", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 773, - "src": "11472:12:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Category_$2892_storage_$", - "typeString": "mapping(uint256 => struct IexecLib.Category storage ref)" - } - }, - "id": 1699, - "indexExpression": { - "argumentTypes": null, - "id": 1698, - "name": "_catId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1686, - "src": "11485:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11472:20:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Category_$2892_storage", - "typeString": "struct IexecLib.Category storage ref" - } - }, - "id": 1700, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "workClockTimeRef", - "nodeType": "MemberAccess", - "referencedDeclaration": 2891, - "src": "11472:37:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 1690, - "id": 1701, - "nodeType": "Return", - "src": "11465:44:6" - } - ] - }, - "documentation": "Views", - "id": 1703, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getCategoryWorkClockTimeRef", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1687, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1686, - "name": "_catId", - "nodeType": "VariableDeclaration", - "scope": 1703, - "src": "11360:14:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1685, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11360:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11359:16:6" - }, - "payable": false, - "returnParameters": { - "id": 1690, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1689, - "name": "workClockTimeRef", - "nodeType": "VariableDeclaration", - "scope": 1703, - "src": "11397:24:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1688, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11397:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11396:26:6" - }, - "scope": 2436, - "src": "11323:190:6", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 1717, - "nodeType": "Block", - "src": "11601:45:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1715, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1710, - "name": "m_categories", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 773, - "src": "11612:12:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Category_$2892_storage_$", - "typeString": "mapping(uint256 => struct IexecLib.Category storage ref)" - } - }, - "id": 1712, - "indexExpression": { - "argumentTypes": null, - "id": 1711, - "name": "_catId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1705, - "src": "11625:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11612:20:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Category_$2892_storage", - "typeString": "struct IexecLib.Category storage ref" - } - }, - "id": 1713, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "catid", - "nodeType": "MemberAccess", - "referencedDeclaration": 2885, - "src": "11612:26:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 1714, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11641:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "11612:30:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 1709, - "id": 1716, - "nodeType": "Return", - "src": "11605:37:6" - } - ] - }, - "documentation": null, - "id": 1718, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "existingCategory", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1706, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1705, - "name": "_catId", - "nodeType": "VariableDeclaration", - "scope": 1718, - "src": "11542:14:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1704, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11542:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11541:16:6" - }, - "payable": false, - "returnParameters": { - "id": 1709, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1708, - "name": "categoryExist", - "nodeType": "VariableDeclaration", - "scope": 1718, - "src": "11580:18:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1707, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "11580:4:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11579:20:6" - }, - "scope": 2436, - "src": "11516:130:6", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 1755, - "nodeType": "Block", - "src": "11783:196:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1733, - "name": "_catId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1720, - "src": "11812:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1732, - "name": "existingCategory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1718, - "src": "11795:16:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 1734, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11795:24:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 1731, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "11787:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 1735, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11787:33:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1736, - "nodeType": "ExpressionStatement", - "src": "11787:33:6" - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1737, - "name": "m_categories", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 773, - "src": "11836:12:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Category_$2892_storage_$", - "typeString": "mapping(uint256 => struct IexecLib.Category storage ref)" - } - }, - "id": 1739, - "indexExpression": { - "argumentTypes": null, - "id": 1738, - "name": "_catId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1720, - "src": "11849:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11836:20:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Category_$2892_storage", - "typeString": "struct IexecLib.Category storage ref" - } - }, - "id": 1740, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "catid", - "nodeType": "MemberAccess", - "referencedDeclaration": 2885, - "src": "11836:26:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1741, - "name": "m_categories", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 773, - "src": "11867:12:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Category_$2892_storage_$", - "typeString": "mapping(uint256 => struct IexecLib.Category storage ref)" - } - }, - "id": 1743, - "indexExpression": { - "argumentTypes": null, - "id": 1742, - "name": "_catId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1720, - "src": "11880:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11867:20:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Category_$2892_storage", - "typeString": "struct IexecLib.Category storage ref" - } - }, - "id": 1744, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "name", - "nodeType": "MemberAccess", - "referencedDeclaration": 2887, - "src": "11867:25:6", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1745, - "name": "m_categories", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 773, - "src": "11897:12:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Category_$2892_storage_$", - "typeString": "mapping(uint256 => struct IexecLib.Category storage ref)" - } - }, - "id": 1747, - "indexExpression": { - "argumentTypes": null, - "id": 1746, - "name": "_catId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1720, - "src": "11910:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11897:20:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Category_$2892_storage", - "typeString": "struct IexecLib.Category storage ref" - } - }, - "id": 1748, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "description", - "nodeType": "MemberAccess", - "referencedDeclaration": 2889, - "src": "11897:32:6", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1749, - "name": "m_categories", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 773, - "src": "11934:12:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Category_$2892_storage_$", - "typeString": "mapping(uint256 => struct IexecLib.Category storage ref)" - } - }, - "id": 1751, - "indexExpression": { - "argumentTypes": null, - "id": 1750, - "name": "_catId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1720, - "src": "11947:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11934:20:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Category_$2892_storage", - "typeString": "struct IexecLib.Category storage ref" - } - }, - "id": 1752, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "workClockTimeRef", - "nodeType": "MemberAccess", - "referencedDeclaration": 2891, - "src": "11934:37:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1753, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "11831:144:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_string_storage_$_t_string_storage_$_t_uint256_$", - "typeString": "tuple(uint256,string storage ref,string storage ref,uint256)" - } - }, - "functionReturnParameters": 1730, - "id": 1754, - "nodeType": "Return", - "src": "11824:151:6" - } - ] - }, - "documentation": null, - "id": 1756, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getCategory", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1721, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1720, - "name": "_catId", - "nodeType": "VariableDeclaration", - "scope": 1756, - "src": "11670:14:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1719, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11670:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11669:16:6" - }, - "payable": false, - "returnParameters": { - "id": 1730, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1723, - "name": "catid", - "nodeType": "VariableDeclaration", - "scope": 1756, - "src": "11707:13:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1722, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11707:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1725, - "name": "name", - "nodeType": "VariableDeclaration", - "scope": 1756, - "src": "11722:11:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - "typeName": { - "id": 1724, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "11722:6:6", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1727, - "name": "description", - "nodeType": "VariableDeclaration", - "scope": 1756, - "src": "11735:19:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - "typeName": { - "id": 1726, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "11735:6:6", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1729, - "name": "workClockTimeRef", - "nodeType": "VariableDeclaration", - "scope": 1756, - "src": "11756:24:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1728, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11756:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11706:75:6" - }, - "scope": 2436, - "src": "11649:330:6", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 1774, - "nodeType": "Block", - "src": "12087:79:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1767, - "name": "_worker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1758, - "src": "12134:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 1765, - "name": "workerPoolHub", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 754, - "src": "12099:13:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkerPoolHub_$6349", - "typeString": "contract WorkerPoolHub" - } - }, - "id": 1766, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getWorkerAffectation", - "nodeType": "MemberAccess", - "referencedDeclaration": 6199, - "src": "12099:34:6", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_address_$", - "typeString": "function (address) view external returns (address)" - } - }, - "id": 1768, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12099:43:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1769, - "name": "m_scores", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 812, - "src": "12144:8:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 1771, - "indexExpression": { - "argumentTypes": null, - "id": 1770, - "name": "_worker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1758, - "src": "12153:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12144:17:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1772, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "12098:64:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_address_$_t_uint256_$", - "typeString": "tuple(address,uint256)" - } - }, - "functionReturnParameters": 1764, - "id": 1773, - "nodeType": "Return", - "src": "12091:71:6" - } - ] - }, - "documentation": null, - "id": 1775, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getWorkerStatus", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1759, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1758, - "name": "_worker", - "nodeType": "VariableDeclaration", - "scope": 1775, - "src": "12007:15:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1757, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12007:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12006:17:6" - }, - "payable": false, - "returnParameters": { - "id": 1764, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1761, - "name": "workerPool", - "nodeType": "VariableDeclaration", - "scope": 1775, - "src": "12045:18:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1760, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12045:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1763, - "name": "workerScore", - "nodeType": "VariableDeclaration", - "scope": 1775, - "src": "12065:19:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1762, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12065:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12044:41:6" - }, - "scope": 2436, - "src": "11982:184:6", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 1786, - "nodeType": "Block", - "src": "12253:32:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1782, - "name": "m_scores", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 812, - "src": "12264:8:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 1784, - "indexExpression": { - "argumentTypes": null, - "id": 1783, - "name": "_worker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1777, - "src": "12273:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12264:17:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 1781, - "id": 1785, - "nodeType": "Return", - "src": "12257:24:6" - } - ] - }, - "documentation": null, - "id": 1787, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getWorkerScore", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1778, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1777, - "name": "_worker", - "nodeType": "VariableDeclaration", - "scope": 1787, - "src": "12193:15:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1776, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12193:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12192:17:6" - }, - "payable": false, - "returnParameters": { - "id": 1781, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1780, - "name": "workerScore", - "nodeType": "VariableDeclaration", - "scope": 1787, - "src": "12231:19:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1779, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12231:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12230:21:6" - }, - "scope": 2436, - "src": "12169:116:6", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 1856, - "nodeType": "Block", - "src": "12425:628:6", - "statements": [ - { - "assignments": [ - 1795 - ], - "declarations": [ - { - "constant": false, - "id": 1795, - "name": "workerpool", - "nodeType": "VariableDeclaration", - "scope": 1857, - "src": "12429:21:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkerPool_$6097", - "typeString": "contract WorkerPool" - }, - "typeName": { - "contractScope": null, - "id": 1794, - "name": "WorkerPool", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6097, - "src": "12429:10:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkerPool_$6097", - "typeString": "contract WorkerPool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1800, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1797, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "12464:3:6", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1798, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12464:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1796, - "name": "WorkerPool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6097, - "src": "12453:10:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_WorkerPool_$6097_$", - "typeString": "type(contract WorkerPool)" - } - }, - "id": 1799, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12453:22:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkerPool_$6097", - "typeString": "contract WorkerPool" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "12429:46:6" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1804, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "12547:3:6", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1805, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12547:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 1802, - "name": "workerPoolHub", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 754, - "src": "12510:13:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkerPoolHub_$6349", - "typeString": "contract WorkerPoolHub" - } - }, - "id": 1803, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "isWorkerPoolRegistered", - "nodeType": "MemberAccess", - "referencedDeclaration": 6147, - "src": "12510:36:6", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view external returns (bool)" - } - }, - "id": 1806, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12510:48:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 1801, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "12502:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 1807, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12502:57:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1808, - "nodeType": "ExpressionStatement", - "src": "12502:57:6" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1811, - "name": "_worker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1789, - "src": "12601:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 1812, - "name": "workerpool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1795, - "src": "12610:10:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkerPool_$6097", - "typeString": "contract WorkerPool" - } - }, - "id": 1813, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "m_subscriptionLockStakePolicy", - "nodeType": "MemberAccess", - "referencedDeclaration": 4326, - "src": "12610:40:6", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", - "typeString": "function () view external returns (uint256)" - } - }, - "id": 1814, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12610:42:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1810, - "name": "lock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2397, - "src": "12596:4:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) returns (bool)" - } - }, - "id": 1815, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12596:57:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 1809, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "12588:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 1816, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12588:66:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1817, - "nodeType": "ExpressionStatement", - "src": "12588:66:6" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1826, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1819, - "name": "m_accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 792, - "src": "12697:10:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$2878_storage_$", - "typeString": "mapping(address => struct IexecLib.Account storage ref)" - } - }, - "id": 1821, - "indexExpression": { - "argumentTypes": null, - "id": 1820, - "name": "_worker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1789, - "src": "12708:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12697:19:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Account_$2878_storage", - "typeString": "struct IexecLib.Account storage ref" - } - }, - "id": 1822, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "stake", - "nodeType": "MemberAccess", - "referencedDeclaration": 2875, - "src": "12697:25:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 1823, - "name": "workerpool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1795, - "src": "12726:10:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkerPool_$6097", - "typeString": "contract WorkerPool" - } - }, - "id": 1824, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "m_subscriptionMinimumStakePolicy", - "nodeType": "MemberAccess", - "referencedDeclaration": 4328, - "src": "12726:43:6", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", - "typeString": "function () view external returns (uint256)" - } - }, - "id": 1825, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12726:45:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12697:74:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 1818, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "12689:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 1827, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12689:83:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1828, - "nodeType": "ExpressionStatement", - "src": "12689:83:6" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1836, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1830, - "name": "m_scores", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 812, - "src": "12784:8:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 1832, - "indexExpression": { - "argumentTypes": null, - "id": 1831, - "name": "_worker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1789, - "src": "12793:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12784:17:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 1833, - "name": "workerpool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1795, - "src": "12813:10:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkerPool_$6097", - "typeString": "contract WorkerPool" - } - }, - "id": 1834, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "m_subscriptionMinimumScorePolicy", - "nodeType": "MemberAccess", - "referencedDeclaration": 4330, - "src": "12813:43:6", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", - "typeString": "function () view external returns (uint256)" - } - }, - "id": 1835, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12813:45:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12784:74:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 1829, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "12776:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 1837, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12776:83:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1838, - "nodeType": "ExpressionStatement", - "src": "12776:83:6" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1842, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "12935:3:6", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1843, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12935:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1844, - "name": "_worker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1789, - "src": "12947:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 1840, - "name": "workerPoolHub", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 754, - "src": "12895:13:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkerPoolHub_$6349", - "typeString": "contract WorkerPoolHub" - } - }, - "id": 1841, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "registerWorkerAffectation", - "nodeType": "MemberAccess", - "referencedDeclaration": 6318, - "src": "12895:39:6", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$returns$_t_bool_$", - "typeString": "function (address,address) external returns (bool)" - } - }, - "id": 1845, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12895:60:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 1839, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "12887:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 1846, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12887:69:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1847, - "nodeType": "ExpressionStatement", - "src": "12887:69:6" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1849, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "13014:3:6", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1850, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "13014:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1851, - "name": "_worker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1789, - "src": "13026:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1848, - "name": "WorkerPoolSubscription", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 880, - "src": "12991:22:6", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", - "typeString": "function (address,address)" - } - }, - "id": 1852, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12991:43:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1853, - "nodeType": "EmitStatement", - "src": "12986:48:6" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 1854, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13045:4:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 1793, - "id": 1855, - "nodeType": "Return", - "src": "13038:11:6" - } - ] - }, - "documentation": "Worker subscription", - "id": 1857, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "registerToPool", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1790, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1789, - "name": "_worker", - "nodeType": "VariableDeclaration", - "scope": 1857, - "src": "12346:15:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1788, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12346:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12345:17:6" - }, - "payable": false, - "returnParameters": { - "id": 1793, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1792, - "name": "subscribed", - "nodeType": "VariableDeclaration", - "scope": 1857, - "src": "12379:15:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1791, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "12379:4:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12378:17:6" - }, - "scope": 2436, - "src": "12322:731:6", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 1880, - "nodeType": "Block", - "src": "13165:145:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1866, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "13190:3:6", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1867, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "13190:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1868, - "name": "_worker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1859, - "src": "13202:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1865, - "name": "removeWorker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1947, - "src": "13177:12:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$returns$_t_bool_$", - "typeString": "function (address,address) returns (bool)" - } - }, - "id": 1869, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13177:33:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 1864, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "13169:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 1870, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13169:42:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1871, - "nodeType": "ExpressionStatement", - "src": "13169:42:6" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1873, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "13271:3:6", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1874, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "13271:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1875, - "name": "_worker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1859, - "src": "13283:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1872, - "name": "WorkerPoolUnsubscription", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 886, - "src": "13246:24:6", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", - "typeString": "function (address,address)" - } - }, - "id": 1876, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13246:45:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1877, - "nodeType": "EmitStatement", - "src": "13241:50:6" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 1878, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13302:4:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 1863, - "id": 1879, - "nodeType": "Return", - "src": "13295:11:6" - } - ] - }, - "documentation": null, - "id": 1881, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "unregisterFromPool", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1860, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1859, - "name": "_worker", - "nodeType": "VariableDeclaration", - "scope": 1881, - "src": "13084:15:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1858, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13084:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13083:17:6" - }, - "payable": false, - "returnParameters": { - "id": 1863, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1862, - "name": "unsubscribed", - "nodeType": "VariableDeclaration", - "scope": 1881, - "src": "13117:17:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1861, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "13117:4:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13116:19:6" - }, - "scope": 2436, - "src": "13056:254:6", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 1904, - "nodeType": "Block", - "src": "13415:139:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1890, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "13440:3:6", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1891, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "13440:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1892, - "name": "_worker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1883, - "src": "13452:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1889, - "name": "removeWorker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1947, - "src": "13427:12:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$returns$_t_bool_$", - "typeString": "function (address,address) returns (bool)" - } - }, - "id": 1893, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13427:33:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 1888, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "13419:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 1894, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13419:42:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1895, - "nodeType": "ExpressionStatement", - "src": "13419:42:6" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1897, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "13515:3:6", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1898, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "13515:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1899, - "name": "_worker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1883, - "src": "13527:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1896, - "name": "WorkerPoolEviction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 892, - "src": "13496:18:6", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", - "typeString": "function (address,address)" - } - }, - "id": 1900, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13496:39:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1901, - "nodeType": "EmitStatement", - "src": "13491:44:6" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 1902, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13546:4:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 1887, - "id": 1903, - "nodeType": "Return", - "src": "13539:11:6" - } - ] - }, - "documentation": null, - "id": 1905, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "evictWorker", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1884, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1883, - "name": "_worker", - "nodeType": "VariableDeclaration", - "scope": 1905, - "src": "13334:15:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1882, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13334:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13333:17:6" - }, - "payable": false, - "returnParameters": { - "id": 1887, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1886, - "name": "unsubscribed", - "nodeType": "VariableDeclaration", - "scope": 1905, - "src": "13367:17:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1885, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "13367:4:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13366:19:6" - }, - "scope": 2436, - "src": "13313:241:6", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 1946, - "nodeType": "Block", - "src": "13655:352:6", - "statements": [ - { - "assignments": [ - 1915 - ], - "declarations": [ - { - "constant": false, - "id": 1915, - "name": "workerpool", - "nodeType": "VariableDeclaration", - "scope": 1947, - "src": "13659:21:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkerPool_$6097", - "typeString": "contract WorkerPool" - }, - "typeName": { - "contractScope": null, - "id": 1914, - "name": "WorkerPool", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6097, - "src": "13659:10:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkerPool_$6097", - "typeString": "contract WorkerPool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1919, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1917, - "name": "_workerpool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1907, - "src": "13694:11:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1916, - "name": "WorkerPool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6097, - "src": "13683:10:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_WorkerPool_$6097_$", - "typeString": "type(contract WorkerPool)" - } - }, - "id": 1918, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13683:23:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkerPool_$6097", - "typeString": "contract WorkerPool" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "13659:47:6" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1923, - "name": "_workerpool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1907, - "src": "13778:11:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 1921, - "name": "workerPoolHub", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 754, - "src": "13741:13:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkerPoolHub_$6349", - "typeString": "contract WorkerPoolHub" - } - }, - "id": 1922, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "isWorkerPoolRegistered", - "nodeType": "MemberAccess", - "referencedDeclaration": 6147, - "src": "13741:36:6", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view external returns (bool)" - } - }, - "id": 1924, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13741:49:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 1920, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "13733:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 1925, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13733:58:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1926, - "nodeType": "ExpressionStatement", - "src": "13733:58:6" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1929, - "name": "_worker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1909, - "src": "13835:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 1930, - "name": "workerpool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1915, - "src": "13844:10:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkerPool_$6097", - "typeString": "contract WorkerPool" - } - }, - "id": 1931, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "m_subscriptionLockStakePolicy", - "nodeType": "MemberAccess", - "referencedDeclaration": 4326, - "src": "13844:40:6", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", - "typeString": "function () view external returns (uint256)" - } - }, - "id": 1932, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13844:42:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1928, - "name": "unlock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2435, - "src": "13828:6:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) returns (bool)" - } - }, - "id": 1933, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13828:59:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 1927, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "13820:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 1934, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13820:68:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1935, - "nodeType": "ExpressionStatement", - "src": "13820:68:6" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1939, - "name": "_workerpool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1907, - "src": "13966:11:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1940, - "name": "_worker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1909, - "src": "13979:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 1937, - "name": "workerPoolHub", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 754, - "src": "13924:13:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkerPoolHub_$6349", - "typeString": "contract WorkerPoolHub" - } - }, - "id": 1938, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "unregisterWorkerAffectation", - "nodeType": "MemberAccess", - "referencedDeclaration": 6348, - "src": "13924:41:6", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$returns$_t_bool_$", - "typeString": "function (address,address) external returns (bool)" - } - }, - "id": 1941, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13924:63:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 1936, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "13916:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 1942, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13916:72:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1943, - "nodeType": "ExpressionStatement", - "src": "13916:72:6" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 1944, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13999:4:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 1913, - "id": 1945, - "nodeType": "Return", - "src": "13992:11:6" - } - ] - }, - "documentation": null, - "id": 1947, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "removeWorker", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1910, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1907, - "name": "_workerpool", - "nodeType": "VariableDeclaration", - "scope": 1947, - "src": "13579:19:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1906, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13579:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1909, - "name": "_worker", - "nodeType": "VariableDeclaration", - "scope": 1947, - "src": "13600:15:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1908, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13600:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13578:38:6" - }, - "payable": false, - "returnParameters": { - "id": 1913, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1912, - "name": "unsubscribed", - "nodeType": "VariableDeclaration", - "scope": 1947, - "src": "13635:17:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1911, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "13635:4:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13634:19:6" - }, - "scope": 2436, - "src": "13557:450:6", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 1967, - "nodeType": "Block", - "src": "14172:52:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1960, - "name": "_user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1949, - "src": "14189:5:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1961, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1951, - "src": "14196:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1959, - "name": "lock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2397, - "src": "14184:4:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) returns (bool)" - } - }, - "id": 1962, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14184:20:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 1958, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "14176:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 1963, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14176:29:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1964, - "nodeType": "ExpressionStatement", - "src": "14176:29:6" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 1965, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14216:4:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 1957, - "id": 1966, - "nodeType": "Return", - "src": "14209:11:6" - } - ] - }, - "documentation": "Stake, reward and penalty functions", - "id": 1968, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [], - "id": 1954, - "modifierName": { - "argumentTypes": null, - "id": 1953, - "name": "onlyMarketplace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 769, - "src": "14140:15:6", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "14140:15:6" - } - ], - "name": "lockForOrder", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1952, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1949, - "name": "_user", - "nodeType": "VariableDeclaration", - "scope": 1968, - "src": "14101:13:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1948, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "14101:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1951, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 1968, - "src": "14116:15:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1950, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14116:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14100:32:6" - }, - "payable": false, - "returnParameters": { - "id": 1957, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1956, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1968, - "src": "14165:4:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1955, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "14165:4:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14164:6:6" - }, - "scope": 2436, - "src": "14079:145:6", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 1988, - "nodeType": "Block", - "src": "14322:54:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1981, - "name": "_user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1970, - "src": "14341:5:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1982, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1972, - "src": "14348:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1980, - "name": "unlock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2435, - "src": "14334:6:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) returns (bool)" - } - }, - "id": 1983, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14334:22:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 1979, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "14326:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 1984, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14326:31:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1985, - "nodeType": "ExpressionStatement", - "src": "14326:31:6" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 1986, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14368:4:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 1978, - "id": 1987, - "nodeType": "Return", - "src": "14361:11:6" - } - ] - }, - "documentation": null, - "id": 1989, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [], - "id": 1975, - "modifierName": { - "argumentTypes": null, - "id": 1974, - "name": "onlyMarketplace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 769, - "src": "14290:15:6", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "14290:15:6" - } - ], - "name": "unlockForOrder", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1973, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1970, - "name": "_user", - "nodeType": "VariableDeclaration", - "scope": 1989, - "src": "14250:13:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1969, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "14250:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1972, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 1989, - "src": "14265:15:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1971, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14265:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14249:32:6" - }, - "payable": false, - "returnParameters": { - "id": 1978, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1977, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1989, - "src": "14315:4:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1976, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "14315:4:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14314:6:6" - }, - "scope": 2436, - "src": "14226:150:6", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 2023, - "nodeType": "Block", - "src": "14507:110:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 2011, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2005, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1991, - "src": "14529:5:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 2004, - "name": "WorkOrder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4299, - "src": "14519:9:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_WorkOrder_$4299_$", - "typeString": "type(contract WorkOrder)" - } - }, - "id": 2006, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14519:16:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkOrder_$4299", - "typeString": "contract WorkOrder" - } - }, - "id": 2007, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "m_workerpool", - "nodeType": "MemberAccess", - "referencedDeclaration": 4048, - "src": "14519:29:6", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", - "typeString": "function () view external returns (address)" - } - }, - "id": 2008, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14519:31:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2009, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "14554:3:6", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2010, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "14554:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "14519:45:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 2003, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "14511:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 2012, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14511:54:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2013, - "nodeType": "ExpressionStatement", - "src": "14511:54:6" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2016, - "name": "_user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1993, - "src": "14582:5:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 2017, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1995, - "src": "14589:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2015, - "name": "lock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2397, - "src": "14577:4:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) returns (bool)" - } - }, - "id": 2018, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14577:20:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 2014, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "14569:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 2019, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14569:29:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2020, - "nodeType": "ExpressionStatement", - "src": "14569:29:6" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 2021, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14609:4:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 2002, - "id": 2022, - "nodeType": "Return", - "src": "14602:11:6" - } - ] - }, - "documentation": null, - "id": 2024, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 1998, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1991, - "src": "14484:5:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "id": 1999, - "modifierName": { - "argumentTypes": null, - "id": 1997, - "name": "onlyRegisteredWoid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 808, - "src": "14465:18:6", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_address_$", - "typeString": "modifier (address)" - } - }, - "nodeType": "ModifierInvocation", - "src": "14465:25:6" - } - ], - "name": "lockForWork", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1996, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1991, - "name": "_woid", - "nodeType": "VariableDeclaration", - "scope": 2024, - "src": "14411:13:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1990, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "14411:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1993, - "name": "_user", - "nodeType": "VariableDeclaration", - "scope": 2024, - "src": "14426:13:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1992, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "14426:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1995, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 2024, - "src": "14441:15:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1994, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14441:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14410:47:6" - }, - "payable": false, - "returnParameters": { - "id": 2002, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2001, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2024, - "src": "14500:4:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2000, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "14500:4:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14499:6:6" - }, - "scope": 2436, - "src": "14390:227:6", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 2058, - "nodeType": "Block", - "src": "14738:112:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 2046, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2040, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2026, - "src": "14760:5:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 2039, - "name": "WorkOrder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4299, - "src": "14750:9:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_WorkOrder_$4299_$", - "typeString": "type(contract WorkOrder)" - } - }, - "id": 2041, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14750:16:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkOrder_$4299", - "typeString": "contract WorkOrder" - } - }, - "id": 2042, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "m_workerpool", - "nodeType": "MemberAccess", - "referencedDeclaration": 4048, - "src": "14750:29:6", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", - "typeString": "function () view external returns (address)" - } - }, - "id": 2043, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14750:31:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2044, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "14785:3:6", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2045, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "14785:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "14750:45:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 2038, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "14742:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 2047, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14742:54:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2048, - "nodeType": "ExpressionStatement", - "src": "14742:54:6" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2051, - "name": "_user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2028, - "src": "14815:5:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 2052, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2030, - "src": "14822:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2050, - "name": "unlock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2435, - "src": "14808:6:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) returns (bool)" - } - }, - "id": 2053, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14808:22:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 2049, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "14800:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 2054, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14800:31:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2055, - "nodeType": "ExpressionStatement", - "src": "14800:31:6" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 2056, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14842:4:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 2037, - "id": 2057, - "nodeType": "Return", - "src": "14835:11:6" - } - ] - }, - "documentation": null, - "id": 2059, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 2033, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2026, - "src": "14715:5:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "id": 2034, - "modifierName": { - "argumentTypes": null, - "id": 2032, - "name": "onlyRegisteredWoid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 808, - "src": "14696:18:6", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_address_$", - "typeString": "modifier (address)" - } - }, - "nodeType": "ModifierInvocation", - "src": "14696:25:6" - } - ], - "name": "unlockForWork", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2031, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2026, - "name": "_woid", - "nodeType": "VariableDeclaration", - "scope": 2059, - "src": "14642:13:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2025, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "14642:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2028, - "name": "_user", - "nodeType": "VariableDeclaration", - "scope": 2059, - "src": "14657:13:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2027, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "14657:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2030, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 2059, - "src": "14672:15:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2029, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14672:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14641:47:6" - }, - "payable": false, - "returnParameters": { - "id": 2037, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2036, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2059, - "src": "14731:4:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2035, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "14731:4:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14730:6:6" - }, - "scope": 2436, - "src": "14619:231:6", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 2124, - "nodeType": "Block", - "src": "14991:309:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 2083, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2077, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2061, - "src": "15013:5:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 2076, - "name": "WorkOrder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4299, - "src": "15003:9:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_WorkOrder_$4299_$", - "typeString": "type(contract WorkOrder)" - } - }, - "id": 2078, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15003:16:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkOrder_$4299", - "typeString": "contract WorkOrder" - } - }, - "id": 2079, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "m_workerpool", - "nodeType": "MemberAccess", - "referencedDeclaration": 4048, - "src": "15003:29:6", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", - "typeString": "function () view external returns (address)" - } - }, - "id": 2080, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15003:31:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2081, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "15038:3:6", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2082, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "15038:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "15003:45:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 2075, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "14995:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 2084, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14995:54:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2085, - "nodeType": "ExpressionStatement", - "src": "14995:54:6" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2088, - "name": "_worker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2063, - "src": "15068:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 2089, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2065, - "src": "15077:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2087, - "name": "reward", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2329, - "src": "15061:6:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) returns (bool)" - } - }, - "id": 2090, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15061:24:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 2086, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "15053:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 2091, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15053:33:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2092, - "nodeType": "ExpressionStatement", - "src": "15053:33:6" - }, - { - "condition": { - "argumentTypes": null, - "id": 2093, - "name": "_reputation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2067, - "src": "15094:11:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 2121, - "nodeType": "IfStatement", - "src": "15090:192:6", - "trueBody": { - "id": 2120, - "nodeType": "Block", - "src": "15109:173:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 2102, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2094, - "name": "m_contributionHistory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 814, - "src": "15114:21:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ContributionHistory_$2883_storage", - "typeString": "struct IexecLib.ContributionHistory storage ref" - } - }, - "id": 2096, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "success", - "nodeType": "MemberAccess", - "referencedDeclaration": 2880, - "src": "15114:29:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "31", - "id": 2100, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15180:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2097, - "name": "m_contributionHistory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 814, - "src": "15146:21:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ContributionHistory_$2883_storage", - "typeString": "struct IexecLib.ContributionHistory storage ref" - } - }, - "id": 2098, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "success", - "nodeType": "MemberAccess", - "referencedDeclaration": 2880, - "src": "15146:29:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2099, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 3773, - "src": "15146:33:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2101, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15146:36:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15114:68:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2103, - "nodeType": "ExpressionStatement", - "src": "15114:68:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 2113, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2104, - "name": "m_scores", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 812, - "src": "15187:8:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2106, - "indexExpression": { - "argumentTypes": null, - "id": 2105, - "name": "_worker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2063, - "src": "15196:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "15187:17:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "31", - "id": 2111, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15229:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2107, - "name": "m_scores", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 812, - "src": "15207:8:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2109, - "indexExpression": { - "argumentTypes": null, - "id": 2108, - "name": "_worker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2063, - "src": "15216:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "15207:17:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2110, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 3773, - "src": "15207:21:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2112, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15207:24:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15187:44:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2114, - "nodeType": "ExpressionStatement", - "src": "15187:44:6" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2116, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2061, - "src": "15262:5:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 2117, - "name": "_worker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2063, - "src": "15269:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 2115, - "name": "AccurateContribution", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 898, - "src": "15241:20:6", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", - "typeString": "function (address,address)" - } - }, - "id": 2118, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15241:36:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2119, - "nodeType": "EmitStatement", - "src": "15236:41:6" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 2122, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15292:4:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 2074, - "id": 2123, - "nodeType": "Return", - "src": "15285:11:6" - } - ] - }, - "documentation": null, - "id": 2125, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 2070, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2061, - "src": "14968:5:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "id": 2071, - "modifierName": { - "argumentTypes": null, - "id": 2069, - "name": "onlyRegisteredWoid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 808, - "src": "14949:18:6", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_address_$", - "typeString": "modifier (address)" - } - }, - "nodeType": "ModifierInvocation", - "src": "14949:25:6" - } - ], - "name": "rewardForWork", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2068, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2061, - "name": "_woid", - "nodeType": "VariableDeclaration", - "scope": 2125, - "src": "14875:13:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2060, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "14875:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2063, - "name": "_worker", - "nodeType": "VariableDeclaration", - "scope": 2125, - "src": "14890:15:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2062, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "14890:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2065, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 2125, - "src": "14907:15:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2064, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14907:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2067, - "name": "_reputation", - "nodeType": "VariableDeclaration", - "scope": 2125, - "src": "14924:16:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2066, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "14924:4:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14874:67:6" - }, - "payable": false, - "returnParameters": { - "id": 2074, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2073, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2125, - "src": "14984:4:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2072, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "14984:4:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14983:6:6" - }, - "scope": 2436, - "src": "14852:448:6", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 2195, - "nodeType": "Block", - "src": "15440:345:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 2149, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2143, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2127, - "src": "15462:5:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 2142, - "name": "WorkOrder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4299, - "src": "15452:9:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_WorkOrder_$4299_$", - "typeString": "type(contract WorkOrder)" - } - }, - "id": 2144, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15452:16:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkOrder_$4299", - "typeString": "contract WorkOrder" - } - }, - "id": 2145, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "m_workerpool", - "nodeType": "MemberAccess", - "referencedDeclaration": 4048, - "src": "15452:29:6", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", - "typeString": "function () view external returns (address)" - } - }, - "id": 2146, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15452:31:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2147, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "15487:3:6", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2148, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "15487:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "15452:45:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 2141, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "15444:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 2150, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15444:54:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2151, - "nodeType": "ExpressionStatement", - "src": "15444:54:6" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2154, - "name": "_worker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2129, - "src": "15516:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 2155, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2131, - "src": "15525:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2153, - "name": "seize", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2359, - "src": "15510:5:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) returns (bool)" - } - }, - "id": 2156, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15510:23:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 2152, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "15502:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 2157, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15502:32:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2158, - "nodeType": "ExpressionStatement", - "src": "15502:32:6" - }, - { - "condition": { - "argumentTypes": null, - "id": 2159, - "name": "_reputation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2133, - "src": "15542:11:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 2192, - "nodeType": "IfStatement", - "src": "15538:229:6", - "trueBody": { - "id": 2191, - "nodeType": "Block", - "src": "15557:210:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 2168, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2160, - "name": "m_contributionHistory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 814, - "src": "15562:21:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ContributionHistory_$2883_storage", - "typeString": "struct IexecLib.ContributionHistory storage ref" - } - }, - "id": 2162, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "failed", - "nodeType": "MemberAccess", - "referencedDeclaration": 2882, - "src": "15562:28:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "31", - "id": 2166, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15626:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2163, - "name": "m_contributionHistory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 814, - "src": "15593:21:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ContributionHistory_$2883_storage", - "typeString": "struct IexecLib.ContributionHistory storage ref" - } - }, - "id": 2164, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "failed", - "nodeType": "MemberAccess", - "referencedDeclaration": 2882, - "src": "15593:28:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2165, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 3773, - "src": "15593:32:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2167, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15593:35:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15562:66:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2169, - "nodeType": "ExpressionStatement", - "src": "15562:66:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 2184, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2170, - "name": "m_scores", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 812, - "src": "15633:8:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2172, - "indexExpression": { - "argumentTypes": null, - "id": 2171, - "name": "_worker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2129, - "src": "15642:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "15633:17:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2181, - "name": "SCORE_UNITARY_SLASH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 748, - "src": "15697:19:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2177, - "name": "m_scores", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 812, - "src": "15675:8:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2179, - "indexExpression": { - "argumentTypes": null, - "id": 2178, - "name": "_worker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2129, - "src": "15684:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "15675:17:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2180, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "min", - "nodeType": "MemberAccess", - "referencedDeclaration": 3878, - "src": "15675:21:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2182, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15675:42:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2173, - "name": "m_scores", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 812, - "src": "15653:8:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2175, - "indexExpression": { - "argumentTypes": null, - "id": 2174, - "name": "_worker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2129, - "src": "15662:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "15653:17:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2176, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 3793, - "src": "15653:21:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2183, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15653:65:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15633:85:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2185, - "nodeType": "ExpressionStatement", - "src": "15633:85:6" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2187, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2127, - "src": "15747:5:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 2188, - "name": "_worker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2129, - "src": "15754:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 2186, - "name": "FaultyContribution", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 904, - "src": "15728:18:6", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", - "typeString": "function (address,address)" - } - }, - "id": 2189, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15728:34:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2190, - "nodeType": "EmitStatement", - "src": "15723:39:6" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 2193, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15777:4:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 2140, - "id": 2194, - "nodeType": "Return", - "src": "15770:11:6" - } - ] - }, - "documentation": null, - "id": 2196, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 2136, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2127, - "src": "15417:5:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "id": 2137, - "modifierName": { - "argumentTypes": null, - "id": 2135, - "name": "onlyRegisteredWoid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 808, - "src": "15398:18:6", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_address_$", - "typeString": "modifier (address)" - } - }, - "nodeType": "ModifierInvocation", - "src": "15398:25:6" - } - ], - "name": "seizeForWork", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2134, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2127, - "name": "_woid", - "nodeType": "VariableDeclaration", - "scope": 2196, - "src": "15324:13:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2126, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "15324:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2129, - "name": "_worker", - "nodeType": "VariableDeclaration", - "scope": 2196, - "src": "15339:15:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2128, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "15339:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2131, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 2196, - "src": "15356:15:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2130, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15356:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2133, - "name": "_reputation", - "nodeType": "VariableDeclaration", - "scope": 2196, - "src": "15373:16:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2132, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "15373:4:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15323:67:6" - }, - "payable": false, - "returnParameters": { - "id": 2140, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2139, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2196, - "src": "15433:4:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2138, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "15433:4:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15432:6:6" - }, - "scope": 2436, - "src": "15302:483:6", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 2238, - "nodeType": "Block", - "src": "15883:197:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2206, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "15912:3:6", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2207, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "15912:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2209, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7063, - "src": "15932:4:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IexecHub_$2436", - "typeString": "contract IexecHub" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IexecHub_$2436", - "typeString": "contract IexecHub" - } - ], - "id": 2208, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "15924:7:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 2210, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15924:13:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 2211, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2198, - "src": "15939:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 2204, - "name": "rlc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 739, - "src": "15895:3:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RLC_$6785", - "typeString": "contract RLC" - } - }, - "id": 2205, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 6696, - "src": "15895:16:6", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256) external returns (bool)" - } - }, - "id": 2212, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15895:52:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 2203, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "15887:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 2213, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15887:61:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2214, - "nodeType": "ExpressionStatement", - "src": "15887:61:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 2228, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2215, - "name": "m_accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 792, - "src": "15952:10:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$2878_storage_$", - "typeString": "mapping(address => struct IexecLib.Account storage ref)" - } - }, - "id": 2218, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2216, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "15963:3:6", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2217, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "15963:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "15952:22:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Account_$2878_storage", - "typeString": "struct IexecLib.Account storage ref" - } - }, - "id": 2219, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "stake", - "nodeType": "MemberAccess", - "referencedDeclaration": 2875, - "src": "15952:28:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2226, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2198, - "src": "16016:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2220, - "name": "m_accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 792, - "src": "15983:10:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$2878_storage_$", - "typeString": "mapping(address => struct IexecLib.Account storage ref)" - } - }, - "id": 2223, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2221, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "15994:3:6", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2222, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "15994:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "15983:22:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Account_$2878_storage", - "typeString": "struct IexecLib.Account storage ref" - } - }, - "id": 2224, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "stake", - "nodeType": "MemberAccess", - "referencedDeclaration": 2875, - "src": "15983:28:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2225, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 3773, - "src": "15983:32:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2227, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15983:41:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15952:72:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2229, - "nodeType": "ExpressionStatement", - "src": "15952:72:6" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2231, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "16041:3:6", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2232, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "16041:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 2233, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2198, - "src": "16053:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2230, - "name": "Deposit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 910, - "src": "16033:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 2234, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16033:28:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2235, - "nodeType": "EmitStatement", - "src": "16028:33:6" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 2236, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16072:4:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 2202, - "id": 2237, - "nodeType": "Return", - "src": "16065:11:6" - } - ] - }, - "documentation": "Wallet methods: public", - "id": 2239, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "deposit", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2199, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2198, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 2239, - "src": "15841:15:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2197, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15841:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15840:17:6" - }, - "payable": false, - "returnParameters": { - "id": 2202, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2201, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2239, - "src": "15876:4:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2200, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "15876:4:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15875:6:6" - }, - "scope": 2436, - "src": "15824:256:6", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 2278, - "nodeType": "Block", - "src": "16142:179:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 2259, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2246, - "name": "m_accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 792, - "src": "16146:10:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$2878_storage_$", - "typeString": "mapping(address => struct IexecLib.Account storage ref)" - } - }, - "id": 2249, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2247, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "16157:3:6", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2248, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "16157:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "16146:22:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Account_$2878_storage", - "typeString": "struct IexecLib.Account storage ref" - } - }, - "id": 2250, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "stake", - "nodeType": "MemberAccess", - "referencedDeclaration": 2875, - "src": "16146:28:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2257, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2241, - "src": "16210:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2251, - "name": "m_accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 792, - "src": "16177:10:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$2878_storage_$", - "typeString": "mapping(address => struct IexecLib.Account storage ref)" - } - }, - "id": 2254, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2252, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "16188:3:6", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2253, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "16188:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "16177:22:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Account_$2878_storage", - "typeString": "struct IexecLib.Account storage ref" - } - }, - "id": 2255, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "stake", - "nodeType": "MemberAccess", - "referencedDeclaration": 2875, - "src": "16177:28:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2256, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 3793, - "src": "16177:32:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2258, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16177:41:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16146:72:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2260, - "nodeType": "ExpressionStatement", - "src": "16146:72:6" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2264, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "16243:3:6", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2265, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "16243:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 2266, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2241, - "src": "16255:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 2262, - "name": "rlc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 739, - "src": "16230:3:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RLC_$6785", - "typeString": "contract RLC" - } - }, - "id": 2263, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 6632, - "src": "16230:12:6", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 2267, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16230:33:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 2261, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "16222:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 2268, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16222:42:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2269, - "nodeType": "ExpressionStatement", - "src": "16222:42:6" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2271, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "16282:3:6", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2272, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "16282:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 2273, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2241, - "src": "16294:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2270, - "name": "Withdraw", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 916, - "src": "16273:8:6", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 2274, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16273:29:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2275, - "nodeType": "EmitStatement", - "src": "16268:34:6" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 2276, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16313:4:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 2245, - "id": 2277, - "nodeType": "Return", - "src": "16306:11:6" - } - ] - }, - "documentation": null, - "id": 2279, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "withdraw", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2242, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2241, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 2279, - "src": "16100:15:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2240, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16100:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16099:17:6" - }, - "payable": false, - "returnParameters": { - "id": 2245, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2244, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2279, - "src": "16135:4:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2243, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "16135:4:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16134:6:6" - }, - "scope": 2436, - "src": "16082:239:6", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 2298, - "nodeType": "Block", - "src": "16414:68:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2288, - "name": "m_accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 792, - "src": "16426:10:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$2878_storage_$", - "typeString": "mapping(address => struct IexecLib.Account storage ref)" - } - }, - "id": 2290, - "indexExpression": { - "argumentTypes": null, - "id": 2289, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2281, - "src": "16437:6:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "16426:18:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Account_$2878_storage", - "typeString": "struct IexecLib.Account storage ref" - } - }, - "id": 2291, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "stake", - "nodeType": "MemberAccess", - "referencedDeclaration": 2875, - "src": "16426:24:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2292, - "name": "m_accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 792, - "src": "16452:10:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$2878_storage_$", - "typeString": "mapping(address => struct IexecLib.Account storage ref)" - } - }, - "id": 2294, - "indexExpression": { - "argumentTypes": null, - "id": 2293, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2281, - "src": "16463:6:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "16452:18:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Account_$2878_storage", - "typeString": "struct IexecLib.Account storage ref" - } - }, - "id": 2295, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "locked", - "nodeType": "MemberAccess", - "referencedDeclaration": 2877, - "src": "16452:25:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 2296, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "16425:53:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "functionReturnParameters": 2287, - "id": 2297, - "nodeType": "Return", - "src": "16418:60:6" - } - ] - }, - "documentation": null, - "id": 2299, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "checkBalance", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2282, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2281, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 2299, - "src": "16345:14:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2280, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "16345:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16344:16:6" - }, - "payable": false, - "returnParameters": { - "id": 2287, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2284, - "name": "stake", - "nodeType": "VariableDeclaration", - "scope": 2299, - "src": "16382:13:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2283, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16382:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2286, - "name": "locked", - "nodeType": "VariableDeclaration", - "scope": 2299, - "src": "16397:14:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2285, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16397:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16381:31:6" - }, - "scope": 2436, - "src": "16323:159:6", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 2328, - "nodeType": "Block", - "src": "16596:116:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 2319, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2308, - "name": "m_accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 792, - "src": "16600:10:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$2878_storage_$", - "typeString": "mapping(address => struct IexecLib.Account storage ref)" - } - }, - "id": 2310, - "indexExpression": { - "argumentTypes": null, - "id": 2309, - "name": "_user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2301, - "src": "16611:5:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "16600:17:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Account_$2878_storage", - "typeString": "struct IexecLib.Account storage ref" - } - }, - "id": 2311, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "stake", - "nodeType": "MemberAccess", - "referencedDeclaration": 2875, - "src": "16600:23:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2317, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2303, - "src": "16654:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2312, - "name": "m_accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 792, - "src": "16626:10:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$2878_storage_$", - "typeString": "mapping(address => struct IexecLib.Account storage ref)" - } - }, - "id": 2314, - "indexExpression": { - "argumentTypes": null, - "id": 2313, - "name": "_user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2301, - "src": "16637:5:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "16626:17:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Account_$2878_storage", - "typeString": "struct IexecLib.Account storage ref" - } - }, - "id": 2315, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "stake", - "nodeType": "MemberAccess", - "referencedDeclaration": 2875, - "src": "16626:23:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2316, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 3773, - "src": "16626:27:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2318, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16626:36:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16600:62:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2320, - "nodeType": "ExpressionStatement", - "src": "16600:62:6" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2322, - "name": "_user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2301, - "src": "16678:5:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 2323, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2303, - "src": "16685:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2321, - "name": "Reward", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 922, - "src": "16671:6:6", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 2324, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16671:22:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2325, - "nodeType": "EmitStatement", - "src": "16666:27:6" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 2326, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16704:4:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 2307, - "id": 2327, - "nodeType": "Return", - "src": "16697:11:6" - } - ] - }, - "documentation": "Wallet methods: Internal", - "id": 2329, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "reward", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2304, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2301, - "name": "_user", - "nodeType": "VariableDeclaration", - "scope": 2329, - "src": "16539:13:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2300, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "16539:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2303, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 2329, - "src": "16554:15:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2302, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16554:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16538:32:6" - }, - "payable": false, - "returnParameters": { - "id": 2307, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2306, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2329, - "src": "16589:4:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2305, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "16589:4:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16588:6:6" - }, - "scope": 2436, - "src": "16523:189:6", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 2358, - "nodeType": "Block", - "src": "16786:117:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 2349, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2338, - "name": "m_accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 792, - "src": "16790:10:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$2878_storage_$", - "typeString": "mapping(address => struct IexecLib.Account storage ref)" - } - }, - "id": 2340, - "indexExpression": { - "argumentTypes": null, - "id": 2339, - "name": "_user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2331, - "src": "16801:5:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "16790:17:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Account_$2878_storage", - "typeString": "struct IexecLib.Account storage ref" - } - }, - "id": 2341, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "locked", - "nodeType": "MemberAccess", - "referencedDeclaration": 2877, - "src": "16790:24:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2347, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2333, - "src": "16846:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2342, - "name": "m_accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 792, - "src": "16817:10:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$2878_storage_$", - "typeString": "mapping(address => struct IexecLib.Account storage ref)" - } - }, - "id": 2344, - "indexExpression": { - "argumentTypes": null, - "id": 2343, - "name": "_user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2331, - "src": "16828:5:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "16817:17:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Account_$2878_storage", - "typeString": "struct IexecLib.Account storage ref" - } - }, - "id": 2345, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "locked", - "nodeType": "MemberAccess", - "referencedDeclaration": 2877, - "src": "16817:24:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2346, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 3793, - "src": "16817:28:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2348, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16817:37:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16790:64:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2350, - "nodeType": "ExpressionStatement", - "src": "16790:64:6" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2352, - "name": "_user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2331, - "src": "16869:5:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 2353, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2333, - "src": "16876:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2351, - "name": "Seize", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 928, - "src": "16863:5:6", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 2354, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16863:21:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2355, - "nodeType": "EmitStatement", - "src": "16858:26:6" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 2356, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16895:4:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 2337, - "id": 2357, - "nodeType": "Return", - "src": "16888:11:6" - } - ] - }, - "documentation": null, - "id": 2359, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "seize", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2334, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2331, - "name": "_user", - "nodeType": "VariableDeclaration", - "scope": 2359, - "src": "16729:13:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2330, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "16729:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2333, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 2359, - "src": "16744:15:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2332, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16744:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16728:32:6" - }, - "payable": false, - "returnParameters": { - "id": 2337, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2336, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2359, - "src": "16779:4:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2335, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "16779:4:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16778:6:6" - }, - "scope": 2436, - "src": "16714:189:6", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 2396, - "nodeType": "Block", - "src": "16976:154:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 2379, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2368, - "name": "m_accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 792, - "src": "16980:10:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$2878_storage_$", - "typeString": "mapping(address => struct IexecLib.Account storage ref)" - } - }, - "id": 2370, - "indexExpression": { - "argumentTypes": null, - "id": 2369, - "name": "_user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2361, - "src": "16991:5:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "16980:17:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Account_$2878_storage", - "typeString": "struct IexecLib.Account storage ref" - } - }, - "id": 2371, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "stake", - "nodeType": "MemberAccess", - "referencedDeclaration": 2875, - "src": "16980:23:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2377, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2363, - "src": "17035:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2372, - "name": "m_accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 792, - "src": "17007:10:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$2878_storage_$", - "typeString": "mapping(address => struct IexecLib.Account storage ref)" - } - }, - "id": 2374, - "indexExpression": { - "argumentTypes": null, - "id": 2373, - "name": "_user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2361, - "src": "17018:5:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "17007:17:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Account_$2878_storage", - "typeString": "struct IexecLib.Account storage ref" - } - }, - "id": 2375, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "stake", - "nodeType": "MemberAccess", - "referencedDeclaration": 2875, - "src": "17007:23:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2376, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 3793, - "src": "17007:27:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2378, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17007:36:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16980:63:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2380, - "nodeType": "ExpressionStatement", - "src": "16980:63:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 2392, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2381, - "name": "m_accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 792, - "src": "17047:10:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$2878_storage_$", - "typeString": "mapping(address => struct IexecLib.Account storage ref)" - } - }, - "id": 2383, - "indexExpression": { - "argumentTypes": null, - "id": 2382, - "name": "_user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2361, - "src": "17058:5:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "17047:17:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Account_$2878_storage", - "typeString": "struct IexecLib.Account storage ref" - } - }, - "id": 2384, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "locked", - "nodeType": "MemberAccess", - "referencedDeclaration": 2877, - "src": "17047:24:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2390, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2363, - "src": "17103:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2385, - "name": "m_accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 792, - "src": "17074:10:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$2878_storage_$", - "typeString": "mapping(address => struct IexecLib.Account storage ref)" - } - }, - "id": 2387, - "indexExpression": { - "argumentTypes": null, - "id": 2386, - "name": "_user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2361, - "src": "17085:5:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "17074:17:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Account_$2878_storage", - "typeString": "struct IexecLib.Account storage ref" - } - }, - "id": 2388, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "locked", - "nodeType": "MemberAccess", - "referencedDeclaration": 2877, - "src": "17074:24:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2389, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 3773, - "src": "17074:28:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2391, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17074:37:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17047:64:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2393, - "nodeType": "ExpressionStatement", - "src": "17047:64:6" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 2394, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17122:4:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 2367, - "id": 2395, - "nodeType": "Return", - "src": "17115:11:6" - } - ] - }, - "documentation": null, - "id": 2397, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "lock", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2364, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2361, - "name": "_user", - "nodeType": "VariableDeclaration", - "scope": 2397, - "src": "16919:13:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2360, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "16919:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2363, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 2397, - "src": "16934:15:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2362, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16934:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16918:32:6" - }, - "payable": false, - "returnParameters": { - "id": 2367, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2366, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2397, - "src": "16969:4:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2365, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "16969:4:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16968:6:6" - }, - "scope": 2436, - "src": "16905:225:6", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 2434, - "nodeType": "Block", - "src": "17205:154:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 2417, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2406, - "name": "m_accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 792, - "src": "17209:10:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$2878_storage_$", - "typeString": "mapping(address => struct IexecLib.Account storage ref)" - } - }, - "id": 2408, - "indexExpression": { - "argumentTypes": null, - "id": 2407, - "name": "_user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2399, - "src": "17220:5:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "17209:17:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Account_$2878_storage", - "typeString": "struct IexecLib.Account storage ref" - } - }, - "id": 2409, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "locked", - "nodeType": "MemberAccess", - "referencedDeclaration": 2877, - "src": "17209:24:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2415, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2401, - "src": "17265:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2410, - "name": "m_accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 792, - "src": "17236:10:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$2878_storage_$", - "typeString": "mapping(address => struct IexecLib.Account storage ref)" - } - }, - "id": 2412, - "indexExpression": { - "argumentTypes": null, - "id": 2411, - "name": "_user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2399, - "src": "17247:5:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "17236:17:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Account_$2878_storage", - "typeString": "struct IexecLib.Account storage ref" - } - }, - "id": 2413, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "locked", - "nodeType": "MemberAccess", - "referencedDeclaration": 2877, - "src": "17236:24:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2414, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 3793, - "src": "17236:28:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2416, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17236:37:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17209:64:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2418, - "nodeType": "ExpressionStatement", - "src": "17209:64:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 2430, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2419, - "name": "m_accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 792, - "src": "17277:10:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$2878_storage_$", - "typeString": "mapping(address => struct IexecLib.Account storage ref)" - } - }, - "id": 2421, - "indexExpression": { - "argumentTypes": null, - "id": 2420, - "name": "_user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2399, - "src": "17288:5:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "17277:17:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Account_$2878_storage", - "typeString": "struct IexecLib.Account storage ref" - } - }, - "id": 2422, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "stake", - "nodeType": "MemberAccess", - "referencedDeclaration": 2875, - "src": "17277:23:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2428, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2401, - "src": "17332:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2423, - "name": "m_accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 792, - "src": "17304:10:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$2878_storage_$", - "typeString": "mapping(address => struct IexecLib.Account storage ref)" - } - }, - "id": 2425, - "indexExpression": { - "argumentTypes": null, - "id": 2424, - "name": "_user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2399, - "src": "17315:5:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "17304:17:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Account_$2878_storage", - "typeString": "struct IexecLib.Account storage ref" - } - }, - "id": 2426, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "stake", - "nodeType": "MemberAccess", - "referencedDeclaration": 2875, - "src": "17304:23:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2427, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 3773, - "src": "17304:27:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2429, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17304:36:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17277:63:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2431, - "nodeType": "ExpressionStatement", - "src": "17277:63:6" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 2432, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17351:4:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 2405, - "id": 2433, - "nodeType": "Return", - "src": "17344:11:6" - } - ] - }, - "documentation": null, - "id": 2435, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "unlock", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2402, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2399, - "name": "_user", - "nodeType": "VariableDeclaration", - "scope": 2435, - "src": "17148:13:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2398, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17148:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2401, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 2435, - "src": "17163:15:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2400, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17163:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17147:32:6" - }, - "payable": false, - "returnParameters": { - "id": 2405, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2404, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2435, - "src": "17198:4:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2403, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "17198:4:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17197:6:6" - }, - "scope": 2436, - "src": "17132:227:6", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 2437, - "src": "281:17080:6" - } - ], - "src": "0:17362:6" - }, - "compiler": { - "name": "solc", - "version": "0.4.21+commit.dfe3193c.Emscripten.clang" - }, - "networks": { - "3": { - "events": { - "0x359f2105b31d71ee8e2315c3dc3427b3f7297dcc85dd3883d4554e67f1f22d00": { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "woid", - "type": "address" - }, - { - "indexed": true, - "name": "workerPool", - "type": "address" - } - ], - "name": "WorkOrderActivated", - "type": "event" - }, - "0xb3cae8ec1c2754530963fb2e254826aae88dda74178f1a0c5656776941e604b8": { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "woid", - "type": "address" - }, - { - "indexed": false, - "name": "workerPool", - "type": "address" - } - ], - "name": "WorkOrderClaimed", - "type": "event" - }, - "0xed236d0a24cb7a32c76960696e44bac711b80ef76780688405dc96c2495b75f9": { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "woid", - "type": "address" - }, - { - "indexed": false, - "name": "workerPool", - "type": "address" - } - ], - "name": "WorkOrderCompleted", - "type": "event" - }, - "0x03d3b6187bbe7d21aa3cf229e292ba41fa8bca6ec2128c0f1625178b8191cdc2": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "appOwner", - "type": "address" - }, - { - "indexed": true, - "name": "app", - "type": "address" - }, - { - "indexed": false, - "name": "appName", - "type": "string" - }, - { - "indexed": false, - "name": "appPrice", - "type": "uint256" - }, - { - "indexed": false, - "name": "appParams", - "type": "string" - } - ], - "name": "CreateApp", - "type": "event" - }, - "0x49413c774d3fe9c92f6ada69299963d9b4b1c13a1f2a95a019188e2c161ed143": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "datasetOwner", - "type": "address" - }, - { - "indexed": true, - "name": "dataset", - "type": "address" - }, - { - "indexed": false, - "name": "datasetName", - "type": "string" - }, - { - "indexed": false, - "name": "datasetPrice", - "type": "uint256" - }, - { - "indexed": false, - "name": "datasetParams", - "type": "string" - } - ], - "name": "CreateDataset", - "type": "event" - }, - "0x3c29f4ff1e741e465a1ad9cc4c0b8e51c046c021ca9e77172d812ae667f566f8": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "workerPoolOwner", - "type": "address" - }, - { - "indexed": true, - "name": "workerPool", - "type": "address" - }, - { - "indexed": false, - "name": "workerPoolDescription", - "type": "string" - } - ], - "name": "CreateWorkerPool", - "type": "event" - }, - "0x62bf08360c9d561749c54eaf4f8bf8cb6c8b6f4f40607bcec39a8172e714d25c": { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "catid", - "type": "uint256" - }, - { - "indexed": false, - "name": "name", - "type": "string" - }, - { - "indexed": false, - "name": "description", - "type": "string" - }, - { - "indexed": false, - "name": "workClockTimeRef", - "type": "uint256" - } - ], - "name": "CreateCategory", - "type": "event" - }, - "0xd3548f8b6a2a11c4a35ef5a16dbf7142c9db5163c7d46e7f66482664277cff07": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "workerPool", - "type": "address" - }, - { - "indexed": false, - "name": "worker", - "type": "address" - } - ], - "name": "WorkerPoolSubscription", - "type": "event" - }, - "0x9644170e77fec17243f5fdc3519cba6d2162d1dda59af75508fd9a2005aeb784": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "workerPool", - "type": "address" - }, - { - "indexed": false, - "name": "worker", - "type": "address" - } - ], - "name": "WorkerPoolUnsubscription", - "type": "event" - }, - "0x5580db655b3146ef4d1fdba3305cf74dbc3f29126c7a3832533f84e00d149ee3": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "workerPool", - "type": "address" - }, - { - "indexed": false, - "name": "worker", - "type": "address" - } - ], - "name": "WorkerPoolEviction", - "type": "event" - }, - "0x98b231d22df4a95e9d99b5d3f4d25fab5a821c22d7f517a522731c2892ed4535": { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "woid", - "type": "address" - }, - { - "indexed": true, - "name": "worker", - "type": "address" - } - ], - "name": "AccurateContribution", - "type": "event" - }, - "0xd21e70eb7104cb6f403402b79fe1c088dc56b69ecb7474ae68a3e861a5a6d499": { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "woid", - "type": "address" - }, - { - "indexed": true, - "name": "worker", - "type": "address" - } - ], - "name": "FaultyContribution", - "type": "event" - }, - "0xe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c": { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "owner", - "type": "address" - }, - { - "indexed": false, - "name": "amount", - "type": "uint256" - } - ], - "name": "Deposit", - "type": "event" - }, - "0x884edad9ce6fa2440d8a54cc123490eb96d2768479d49ff9c7366125a9424364": { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "owner", - "type": "address" - }, - { - "indexed": false, - "name": "amount", - "type": "uint256" - } - ], - "name": "Withdraw", - "type": "event" - }, - "0x619caafabdd75649b302ba8419e48cccf64f37f1983ac4727cfb38b57703ffc9": { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "user", - "type": "address" - }, - { - "indexed": false, - "name": "amount", - "type": "uint256" - } - ], - "name": "Reward", - "type": "event" - }, - "0x4051ba94e08bb094159fc38391422b4b8ccfd2b1f8919c0eb37bb042d4b9cd8e": { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "user", - "type": "address" - }, - { - "indexed": false, - "name": "amount", - "type": "uint256" - } - ], - "name": "Seize", - "type": "event" - } - }, - "links": {}, - "address": "0x63d3215027dfaeab233d8feeddc660724c6b921b", - "transactionHash": "0xe8daef1530474edbf097305edfca2a3707146c1fa4e53fd75004f3e438e76e33" - }, - "4": { - "events": { - "0x359f2105b31d71ee8e2315c3dc3427b3f7297dcc85dd3883d4554e67f1f22d00": { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "woid", - "type": "address" - }, - { - "indexed": true, - "name": "workerPool", - "type": "address" - } - ], - "name": "WorkOrderActivated", - "type": "event" - }, - "0xb3cae8ec1c2754530963fb2e254826aae88dda74178f1a0c5656776941e604b8": { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "woid", - "type": "address" - }, - { - "indexed": false, - "name": "workerPool", - "type": "address" - } - ], - "name": "WorkOrderClaimed", - "type": "event" - }, - "0xed236d0a24cb7a32c76960696e44bac711b80ef76780688405dc96c2495b75f9": { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "woid", - "type": "address" - }, - { - "indexed": false, - "name": "workerPool", - "type": "address" - } - ], - "name": "WorkOrderCompleted", - "type": "event" - }, - "0x03d3b6187bbe7d21aa3cf229e292ba41fa8bca6ec2128c0f1625178b8191cdc2": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "appOwner", - "type": "address" - }, - { - "indexed": true, - "name": "app", - "type": "address" - }, - { - "indexed": false, - "name": "appName", - "type": "string" - }, - { - "indexed": false, - "name": "appPrice", - "type": "uint256" - }, - { - "indexed": false, - "name": "appParams", - "type": "string" - } - ], - "name": "CreateApp", - "type": "event" - }, - "0x49413c774d3fe9c92f6ada69299963d9b4b1c13a1f2a95a019188e2c161ed143": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "datasetOwner", - "type": "address" - }, - { - "indexed": true, - "name": "dataset", - "type": "address" - }, - { - "indexed": false, - "name": "datasetName", - "type": "string" - }, - { - "indexed": false, - "name": "datasetPrice", - "type": "uint256" - }, - { - "indexed": false, - "name": "datasetParams", - "type": "string" - } - ], - "name": "CreateDataset", - "type": "event" - }, - "0x3c29f4ff1e741e465a1ad9cc4c0b8e51c046c021ca9e77172d812ae667f566f8": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "workerPoolOwner", - "type": "address" - }, - { - "indexed": true, - "name": "workerPool", - "type": "address" - }, - { - "indexed": false, - "name": "workerPoolDescription", - "type": "string" - } - ], - "name": "CreateWorkerPool", - "type": "event" - }, - "0x62bf08360c9d561749c54eaf4f8bf8cb6c8b6f4f40607bcec39a8172e714d25c": { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "catid", - "type": "uint256" - }, - { - "indexed": false, - "name": "name", - "type": "string" - }, - { - "indexed": false, - "name": "description", - "type": "string" - }, - { - "indexed": false, - "name": "workClockTimeRef", - "type": "uint256" - } - ], - "name": "CreateCategory", - "type": "event" - }, - "0xd3548f8b6a2a11c4a35ef5a16dbf7142c9db5163c7d46e7f66482664277cff07": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "workerPool", - "type": "address" - }, - { - "indexed": false, - "name": "worker", - "type": "address" - } - ], - "name": "WorkerPoolSubscription", - "type": "event" - }, - "0x9644170e77fec17243f5fdc3519cba6d2162d1dda59af75508fd9a2005aeb784": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "workerPool", - "type": "address" - }, - { - "indexed": false, - "name": "worker", - "type": "address" - } - ], - "name": "WorkerPoolUnsubscription", - "type": "event" - }, - "0x5580db655b3146ef4d1fdba3305cf74dbc3f29126c7a3832533f84e00d149ee3": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "workerPool", - "type": "address" - }, - { - "indexed": false, - "name": "worker", - "type": "address" - } - ], - "name": "WorkerPoolEviction", - "type": "event" - }, - "0x98b231d22df4a95e9d99b5d3f4d25fab5a821c22d7f517a522731c2892ed4535": { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "woid", - "type": "address" - }, - { - "indexed": true, - "name": "worker", - "type": "address" - } - ], - "name": "AccurateContribution", - "type": "event" - }, - "0xd21e70eb7104cb6f403402b79fe1c088dc56b69ecb7474ae68a3e861a5a6d499": { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "woid", - "type": "address" - }, - { - "indexed": true, - "name": "worker", - "type": "address" - } - ], - "name": "FaultyContribution", - "type": "event" - }, - "0xe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c": { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "owner", - "type": "address" - }, - { - "indexed": false, - "name": "amount", - "type": "uint256" - } - ], - "name": "Deposit", - "type": "event" - }, - "0x884edad9ce6fa2440d8a54cc123490eb96d2768479d49ff9c7366125a9424364": { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "owner", - "type": "address" - }, - { - "indexed": false, - "name": "amount", - "type": "uint256" - } - ], - "name": "Withdraw", - "type": "event" - }, - "0x619caafabdd75649b302ba8419e48cccf64f37f1983ac4727cfb38b57703ffc9": { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "user", - "type": "address" - }, - { - "indexed": false, - "name": "amount", - "type": "uint256" - } - ], - "name": "Reward", - "type": "event" - }, - "0x4051ba94e08bb094159fc38391422b4b8ccfd2b1f8919c0eb37bb042d4b9cd8e": { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "user", - "type": "address" - }, - { - "indexed": false, - "name": "amount", - "type": "uint256" - } - ], - "name": "Seize", - "type": "event" - } - }, - "links": {}, - "address": "0x32aedc290604f7a674781b232143b837a358d711", - "transactionHash": "0x9dcaa4ee834a66bb877998c176364dc03496aaced0f751df4edc459c680d98a1" - }, - "42": { - "events": { - "0x359f2105b31d71ee8e2315c3dc3427b3f7297dcc85dd3883d4554e67f1f22d00": { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "woid", - "type": "address" - }, - { - "indexed": true, - "name": "workerPool", - "type": "address" - } - ], - "name": "WorkOrderActivated", - "type": "event" - }, - "0xb3cae8ec1c2754530963fb2e254826aae88dda74178f1a0c5656776941e604b8": { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "woid", - "type": "address" - }, - { - "indexed": false, - "name": "workerPool", - "type": "address" - } - ], - "name": "WorkOrderClaimed", - "type": "event" - }, - "0xed236d0a24cb7a32c76960696e44bac711b80ef76780688405dc96c2495b75f9": { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "woid", - "type": "address" - }, - { - "indexed": false, - "name": "workerPool", - "type": "address" - } - ], - "name": "WorkOrderCompleted", - "type": "event" - }, - "0x03d3b6187bbe7d21aa3cf229e292ba41fa8bca6ec2128c0f1625178b8191cdc2": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "appOwner", - "type": "address" - }, - { - "indexed": true, - "name": "app", - "type": "address" - }, - { - "indexed": false, - "name": "appName", - "type": "string" - }, - { - "indexed": false, - "name": "appPrice", - "type": "uint256" - }, - { - "indexed": false, - "name": "appParams", - "type": "string" - } - ], - "name": "CreateApp", - "type": "event" - }, - "0x49413c774d3fe9c92f6ada69299963d9b4b1c13a1f2a95a019188e2c161ed143": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "datasetOwner", - "type": "address" - }, - { - "indexed": true, - "name": "dataset", - "type": "address" - }, - { - "indexed": false, - "name": "datasetName", - "type": "string" - }, - { - "indexed": false, - "name": "datasetPrice", - "type": "uint256" - }, - { - "indexed": false, - "name": "datasetParams", - "type": "string" - } - ], - "name": "CreateDataset", - "type": "event" - }, - "0x3c29f4ff1e741e465a1ad9cc4c0b8e51c046c021ca9e77172d812ae667f566f8": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "workerPoolOwner", - "type": "address" - }, - { - "indexed": true, - "name": "workerPool", - "type": "address" - }, - { - "indexed": false, - "name": "workerPoolDescription", - "type": "string" - } - ], - "name": "CreateWorkerPool", - "type": "event" - }, - "0x62bf08360c9d561749c54eaf4f8bf8cb6c8b6f4f40607bcec39a8172e714d25c": { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "catid", - "type": "uint256" - }, - { - "indexed": false, - "name": "name", - "type": "string" - }, - { - "indexed": false, - "name": "description", - "type": "string" - }, - { - "indexed": false, - "name": "workClockTimeRef", - "type": "uint256" - } - ], - "name": "CreateCategory", - "type": "event" - }, - "0xd3548f8b6a2a11c4a35ef5a16dbf7142c9db5163c7d46e7f66482664277cff07": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "workerPool", - "type": "address" - }, - { - "indexed": false, - "name": "worker", - "type": "address" - } - ], - "name": "WorkerPoolSubscription", - "type": "event" - }, - "0x9644170e77fec17243f5fdc3519cba6d2162d1dda59af75508fd9a2005aeb784": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "workerPool", - "type": "address" - }, - { - "indexed": false, - "name": "worker", - "type": "address" - } - ], - "name": "WorkerPoolUnsubscription", - "type": "event" - }, - "0x5580db655b3146ef4d1fdba3305cf74dbc3f29126c7a3832533f84e00d149ee3": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "workerPool", - "type": "address" - }, - { - "indexed": false, - "name": "worker", - "type": "address" - } - ], - "name": "WorkerPoolEviction", - "type": "event" - }, - "0x98b231d22df4a95e9d99b5d3f4d25fab5a821c22d7f517a522731c2892ed4535": { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "woid", - "type": "address" - }, - { - "indexed": true, - "name": "worker", - "type": "address" - } - ], - "name": "AccurateContribution", - "type": "event" - }, - "0xd21e70eb7104cb6f403402b79fe1c088dc56b69ecb7474ae68a3e861a5a6d499": { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "woid", - "type": "address" - }, - { - "indexed": true, - "name": "worker", - "type": "address" - } - ], - "name": "FaultyContribution", - "type": "event" - }, - "0xe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c": { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "owner", - "type": "address" - }, - { - "indexed": false, - "name": "amount", - "type": "uint256" - } - ], - "name": "Deposit", - "type": "event" - }, - "0x884edad9ce6fa2440d8a54cc123490eb96d2768479d49ff9c7366125a9424364": { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "owner", - "type": "address" - }, - { - "indexed": false, - "name": "amount", - "type": "uint256" - } - ], - "name": "Withdraw", - "type": "event" - }, - "0x619caafabdd75649b302ba8419e48cccf64f37f1983ac4727cfb38b57703ffc9": { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "user", - "type": "address" - }, - { - "indexed": false, - "name": "amount", - "type": "uint256" - } - ], - "name": "Reward", - "type": "event" - }, - "0x4051ba94e08bb094159fc38391422b4b8ccfd2b1f8919c0eb37bb042d4b9cd8e": { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "user", - "type": "address" - }, - { - "indexed": false, - "name": "amount", - "type": "uint256" - } - ], - "name": "Seize", - "type": "event" - } - }, - "links": {}, - "address": "0x12b92a17b1ca4bb10b861386446b8b2716e58c9b", - "transactionHash": "0xa1dbdbf6f34fe166b0e9d5eb68d3995b435717866dd50829a852cde33218c0f4" - } - }, - "schemaVersion": "2.0.0", - "updatedAt": "2018-05-21T11:48:56.503Z" -} diff --git a/build/contracts/IexecHubAccessor.json b/build/contracts/IexecHubAccessor.json deleted file mode 100644 index 6020ce24..00000000 --- a/build/contracts/IexecHubAccessor.json +++ /dev/null @@ -1,1067 +0,0 @@ -{ - "contractName": "IexecHubAccessor", - "abi": [ - { - "inputs": [ - { - "name": "_iexecHubAddress", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - } - ], - "bytecode": "0x60606040523415600e57600080fd5b604051602080609a83398101604052808051915050600160a060020a0381161515603757600080fd5b60008054600160a060020a03909216600160a060020a031990921691909117905560358060656000396000f3006060604052600080fd00a165627a7a72305820e3add50370a10e6d566788f9b4fe3aaae55052ba1acc894788f4b8d1e0c9622c0029", - "deployedBytecode": "0x6060604052600080fd00a165627a7a72305820e3add50370a10e6d566788f9b4fe3aaae55052ba1acc894788f4b8d1e0c9622c0029", - "sourceMap": "61:336:7:-;;;228:166;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;300:30:7;;;;292:39;;;;;;335:17;:55;;-1:-1:-1;;;;;335:55:7;;;-1:-1:-1;;;;;;335:55:7;;;;;;;;;61:336;;;;;;", - "deployedSourceMap": "61:336:7:-;;;;;", - "source": "pragma solidity ^0.4.21;\n\nimport './IexecHubInterface.sol';\n\ncontract IexecHubAccessor\n{\n\tIexecHubInterface internal iexecHubInterface;\n\n\tmodifier onlyIexecHub()\n\t{\n\t\trequire(msg.sender == address(iexecHubInterface));\n\t\t_;\n\t}\n\n\tfunction IexecHubAccessor(address _iexecHubAddress) public\n\t{\n\t\trequire(_iexecHubAddress != address(0));\n\t\tiexecHubInterface = IexecHubInterface(_iexecHubAddress);\n\t}\n\n}\n", - "sourcePath": "/Users/fbranci/iexecdev/PoCo/contracts/IexecHubAccessor.sol", - "ast": { - "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/IexecHubAccessor.sol", - "exportedSymbols": { - "IexecHubAccessor": [ - 2475 - ] - }, - "id": 2476, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 2438, - "literals": [ - "solidity", - "^", - "0.4", - ".21" - ], - "nodeType": "PragmaDirective", - "src": "0:24:7" - }, - { - "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/IexecHubInterface.sol", - "file": "./IexecHubInterface.sol", - "id": 2439, - "nodeType": "ImportDirective", - "scope": 2476, - "sourceUnit": 2803, - "src": "26:33:7", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 2475, - "linearizedBaseContracts": [ - 2475 - ], - "name": "IexecHubAccessor", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "id": 2441, - "name": "iexecHubInterface", - "nodeType": "VariableDeclaration", - "scope": 2475, - "src": "90:44:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IexecHubInterface_$2802", - "typeString": "contract IexecHubInterface" - }, - "typeName": { - "contractScope": null, - "id": 2440, - "name": "IexecHubInterface", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2802, - "src": "90:17:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IexecHubInterface_$2802", - "typeString": "contract IexecHubInterface" - } - }, - "value": null, - "visibility": "internal" - }, - { - "body": { - "id": 2453, - "nodeType": "Block", - "src": "163:62:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 2449, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2444, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "175:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2445, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "175:10:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2447, - "name": "iexecHubInterface", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2441, - "src": "197:17:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IexecHubInterface_$2802", - "typeString": "contract IexecHubInterface" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IexecHubInterface_$2802", - "typeString": "contract IexecHubInterface" - } - ], - "id": 2446, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "189:7:7", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 2448, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "189:26:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "175:40:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 2443, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "167:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 2450, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "167:49:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2451, - "nodeType": "ExpressionStatement", - "src": "167:49:7" - }, - { - "id": 2452, - "nodeType": "PlaceholderStatement", - "src": "220:1:7" - } - ] - }, - "documentation": null, - "id": 2454, - "name": "onlyIexecHub", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 2442, - "nodeType": "ParameterList", - "parameters": [], - "src": "159:2:7" - }, - "src": "138:87:7", - "visibility": "internal" - }, - { - "body": { - "id": 2473, - "nodeType": "Block", - "src": "288:106:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 2464, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2460, - "name": "_iexecHubAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2456, - "src": "300:16:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 2462, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "328:1:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 2461, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "320:7:7", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 2463, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "320:10:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "300:30:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 2459, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "292:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 2465, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "292:39:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2466, - "nodeType": "ExpressionStatement", - "src": "292:39:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 2471, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2467, - "name": "iexecHubInterface", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2441, - "src": "335:17:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IexecHubInterface_$2802", - "typeString": "contract IexecHubInterface" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2469, - "name": "_iexecHubAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2456, - "src": "373:16:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 2468, - "name": "IexecHubInterface", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2802, - "src": "355:17:7", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IexecHubInterface_$2802_$", - "typeString": "type(contract IexecHubInterface)" - } - }, - "id": 2470, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "355:35:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IexecHubInterface_$2802", - "typeString": "contract IexecHubInterface" - } - }, - "src": "335:55:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IexecHubInterface_$2802", - "typeString": "contract IexecHubInterface" - } - }, - "id": 2472, - "nodeType": "ExpressionStatement", - "src": "335:55:7" - } - ] - }, - "documentation": null, - "id": 2474, - "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, - "modifiers": [], - "name": "IexecHubAccessor", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2457, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2456, - "name": "_iexecHubAddress", - "nodeType": "VariableDeclaration", - "scope": 2474, - "src": "254:24:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2455, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "254:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "253:26:7" - }, - "payable": false, - "returnParameters": { - "id": 2458, - "nodeType": "ParameterList", - "parameters": [], - "src": "288:0:7" - }, - "scope": 2475, - "src": "228:166:7", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 2476, - "src": "61:336:7" - } - ], - "src": "0:398:7" - }, - "legacyAST": { - "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/IexecHubAccessor.sol", - "exportedSymbols": { - "IexecHubAccessor": [ - 2475 - ] - }, - "id": 2476, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 2438, - "literals": [ - "solidity", - "^", - "0.4", - ".21" - ], - "nodeType": "PragmaDirective", - "src": "0:24:7" - }, - { - "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/IexecHubInterface.sol", - "file": "./IexecHubInterface.sol", - "id": 2439, - "nodeType": "ImportDirective", - "scope": 2476, - "sourceUnit": 2803, - "src": "26:33:7", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 2475, - "linearizedBaseContracts": [ - 2475 - ], - "name": "IexecHubAccessor", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "id": 2441, - "name": "iexecHubInterface", - "nodeType": "VariableDeclaration", - "scope": 2475, - "src": "90:44:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IexecHubInterface_$2802", - "typeString": "contract IexecHubInterface" - }, - "typeName": { - "contractScope": null, - "id": 2440, - "name": "IexecHubInterface", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2802, - "src": "90:17:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IexecHubInterface_$2802", - "typeString": "contract IexecHubInterface" - } - }, - "value": null, - "visibility": "internal" - }, - { - "body": { - "id": 2453, - "nodeType": "Block", - "src": "163:62:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 2449, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2444, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "175:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2445, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "175:10:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2447, - "name": "iexecHubInterface", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2441, - "src": "197:17:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IexecHubInterface_$2802", - "typeString": "contract IexecHubInterface" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IexecHubInterface_$2802", - "typeString": "contract IexecHubInterface" - } - ], - "id": 2446, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "189:7:7", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 2448, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "189:26:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "175:40:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 2443, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "167:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 2450, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "167:49:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2451, - "nodeType": "ExpressionStatement", - "src": "167:49:7" - }, - { - "id": 2452, - "nodeType": "PlaceholderStatement", - "src": "220:1:7" - } - ] - }, - "documentation": null, - "id": 2454, - "name": "onlyIexecHub", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 2442, - "nodeType": "ParameterList", - "parameters": [], - "src": "159:2:7" - }, - "src": "138:87:7", - "visibility": "internal" - }, - { - "body": { - "id": 2473, - "nodeType": "Block", - "src": "288:106:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 2464, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2460, - "name": "_iexecHubAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2456, - "src": "300:16:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 2462, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "328:1:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 2461, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "320:7:7", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 2463, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "320:10:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "300:30:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 2459, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "292:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 2465, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "292:39:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2466, - "nodeType": "ExpressionStatement", - "src": "292:39:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 2471, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2467, - "name": "iexecHubInterface", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2441, - "src": "335:17:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IexecHubInterface_$2802", - "typeString": "contract IexecHubInterface" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2469, - "name": "_iexecHubAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2456, - "src": "373:16:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 2468, - "name": "IexecHubInterface", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2802, - "src": "355:17:7", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IexecHubInterface_$2802_$", - "typeString": "type(contract IexecHubInterface)" - } - }, - "id": 2470, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "355:35:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IexecHubInterface_$2802", - "typeString": "contract IexecHubInterface" - } - }, - "src": "335:55:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IexecHubInterface_$2802", - "typeString": "contract IexecHubInterface" - } - }, - "id": 2472, - "nodeType": "ExpressionStatement", - "src": "335:55:7" - } - ] - }, - "documentation": null, - "id": 2474, - "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, - "modifiers": [], - "name": "IexecHubAccessor", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2457, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2456, - "name": "_iexecHubAddress", - "nodeType": "VariableDeclaration", - "scope": 2474, - "src": "254:24:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2455, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "254:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "253:26:7" - }, - "payable": false, - "returnParameters": { - "id": 2458, - "nodeType": "ParameterList", - "parameters": [], - "src": "288:0:7" - }, - "scope": 2475, - "src": "228:166:7", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 2476, - "src": "61:336:7" - } - ], - "src": "0:398:7" - }, - "compiler": { - "name": "solc", - "version": "0.4.21+commit.dfe3193c.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "2.0.0", - "updatedAt": "2018-05-20T20:12:33.553Z" -} diff --git a/build/contracts/IexecHubInterface.json b/build/contracts/IexecHubInterface.json deleted file mode 100644 index 572bc113..00000000 --- a/build/contracts/IexecHubInterface.json +++ /dev/null @@ -1,8665 +0,0 @@ -{ - "contractName": "IexecHubInterface", - "abi": [ - { - "constant": true, - "inputs": [], - "name": "rlc", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_tokenAddress", - "type": "address" - }, - { - "name": "_marketplaceAddress", - "type": "address" - }, - { - "name": "_workerPoolHubAddress", - "type": "address" - }, - { - "name": "_appHubAddress", - "type": "address" - }, - { - "name": "_datasetHubAddress", - "type": "address" - } - ], - "name": "attachContracts", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_categoriesCreator", - "type": "address" - } - ], - "name": "setCategoriesCreator", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_name", - "type": "string" - }, - { - "name": "_description", - "type": "string" - }, - { - "name": "_workClockTimeRef", - "type": "uint256" - } - ], - "name": "createCategory", - "outputs": [ - { - "name": "catid", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_description", - "type": "string" - }, - { - "name": "_subscriptionLockStakePolicy", - "type": "uint256" - }, - { - "name": "_subscriptionMinimumStakePolicy", - "type": "uint256" - }, - { - "name": "_subscriptionMinimumScorePolicy", - "type": "uint256" - } - ], - "name": "createWorkerPool", - "outputs": [ - { - "name": "createdWorkerPool", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_appName", - "type": "string" - }, - { - "name": "_appPrice", - "type": "uint256" - }, - { - "name": "_appParams", - "type": "string" - } - ], - "name": "createApp", - "outputs": [ - { - "name": "createdApp", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_datasetName", - "type": "string" - }, - { - "name": "_datasetPrice", - "type": "uint256" - }, - { - "name": "_datasetParams", - "type": "string" - } - ], - "name": "createDataset", - "outputs": [ - { - "name": "createdDataset", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_marketorderIdx", - "type": "uint256" - }, - { - "name": "_workerpool", - "type": "address" - }, - { - "name": "_app", - "type": "address" - }, - { - "name": "_dataset", - "type": "address" - }, - { - "name": "_params", - "type": "string" - }, - { - "name": "_callback", - "type": "address" - }, - { - "name": "_beneficiary", - "type": "address" - } - ], - "name": "buyForWorkOrder", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_woid", - "type": "address" - } - ], - "name": "isWoidRegistred", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_woid", - "type": "address" - } - ], - "name": "claimFailedConsensus", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_woid", - "type": "address" - }, - { - "name": "_stdout", - "type": "string" - }, - { - "name": "_stderr", - "type": "string" - }, - { - "name": "_uri", - "type": "string" - } - ], - "name": "finalizeWorkOrder", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_catId", - "type": "uint256" - } - ], - "name": "getCategoryWorkClockTimeRef", - "outputs": [ - { - "name": "workClockTimeRef", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_catId", - "type": "uint256" - } - ], - "name": "existingCategory", - "outputs": [ - { - "name": "categoryExist", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_catId", - "type": "uint256" - } - ], - "name": "getCategory", - "outputs": [ - { - "name": "catid", - "type": "uint256" - }, - { - "name": "name", - "type": "string" - }, - { - "name": "description", - "type": "string" - }, - { - "name": "workClockTimeRef", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_worker", - "type": "address" - } - ], - "name": "getWorkerStatus", - "outputs": [ - { - "name": "workerPool", - "type": "address" - }, - { - "name": "workerScore", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_worker", - "type": "address" - } - ], - "name": "getWorkerScore", - "outputs": [ - { - "name": "workerScore", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_worker", - "type": "address" - } - ], - "name": "registerToPool", - "outputs": [ - { - "name": "subscribed", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_worker", - "type": "address" - } - ], - "name": "unregisterFromPool", - "outputs": [ - { - "name": "unsubscribed", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_worker", - "type": "address" - } - ], - "name": "evictWorker", - "outputs": [ - { - "name": "unsubscribed", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_user", - "type": "address" - }, - { - "name": "_amount", - "type": "uint256" - } - ], - "name": "lockForOrder", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_user", - "type": "address" - }, - { - "name": "_amount", - "type": "uint256" - } - ], - "name": "unlockForOrder", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_woid", - "type": "address" - }, - { - "name": "_user", - "type": "address" - }, - { - "name": "_amount", - "type": "uint256" - } - ], - "name": "lockForWork", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_woid", - "type": "address" - }, - { - "name": "_user", - "type": "address" - }, - { - "name": "_amount", - "type": "uint256" - } - ], - "name": "unlockForWork", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_woid", - "type": "address" - }, - { - "name": "_worker", - "type": "address" - }, - { - "name": "_amount", - "type": "uint256" - }, - { - "name": "_reputation", - "type": "bool" - } - ], - "name": "rewardForWork", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_woid", - "type": "address" - }, - { - "name": "_worker", - "type": "address" - }, - { - "name": "_amount", - "type": "uint256" - }, - { - "name": "_reputation", - "type": "bool" - } - ], - "name": "seizeForWork", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_amount", - "type": "uint256" - } - ], - "name": "deposit", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_amount", - "type": "uint256" - } - ], - "name": "withdraw", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_owner", - "type": "address" - } - ], - "name": "checkBalance", - "outputs": [ - { - "name": "stake", - "type": "uint256" - }, - { - "name": "locked", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x", - "deployedBytecode": "0x", - "sourceMap": "", - "deployedSourceMap": "", - "source": "pragma solidity ^0.4.21;\n\nimport \"rlc-token/contracts/RLC.sol\";\n\ncontract IexecHubInterface\n{\n\tRLC public rlc;\n\n\tfunction attachContracts(\n\t\taddress _tokenAddress,\n\t\taddress _marketplaceAddress,\n\t\taddress _workerPoolHubAddress,\n\t\taddress _appHubAddress,\n\t\taddress _datasetHubAddress)\n\t\tpublic;\n\n\tfunction setCategoriesCreator(\n\t\taddress _categoriesCreator)\n\tpublic;\n\n\tfunction createCategory(\n\t\tstring _name,\n\t\tstring _description,\n\t\tuint256 _workClockTimeRef)\n\tpublic returns (uint256 catid);\n\n\tfunction createWorkerPool(\n\t\tstring _description,\n\t\tuint256 _subscriptionLockStakePolicy,\n\t\tuint256 _subscriptionMinimumStakePolicy,\n\t\tuint256 _subscriptionMinimumScorePolicy)\n\texternal returns (address createdWorkerPool);\n\n\tfunction createApp(\n\t\tstring _appName,\n\t\tuint256 _appPrice,\n\t\tstring _appParams)\n\texternal returns (address createdApp);\n\n\tfunction createDataset(\n\t\tstring _datasetName,\n\t\tuint256 _datasetPrice,\n\t\tstring _datasetParams)\n\texternal returns (address createdDataset);\n\n\tfunction buyForWorkOrder(\n\t\tuint256 _marketorderIdx,\n\t\taddress _workerpool,\n\t\taddress _app,\n\t\taddress _dataset,\n\t\tstring _params,\n\t\taddress _callback,\n\t\taddress _beneficiary)\n\texternal returns (address);\n\n\tfunction isWoidRegistred(\n\t\taddress _woid)\n\tpublic view returns (bool);\n\n\tfunction lockWorkOrderCost(\n\t\taddress _requester,\n\t\taddress _workerpool, // Address of a smartcontract\n\t\taddress _app, // Address of a smartcontract\n\t\taddress _dataset) // Address of a smartcontract\n\tinternal returns (uint256);\n\n\tfunction claimFailedConsensus(\n\t\taddress _woid)\n\tpublic returns (bool);\n\n\tfunction finalizeWorkOrder(\n\t\taddress _woid,\n\t\tstring _stdout,\n\t\tstring _stderr,\n\t\tstring _uri)\n\tpublic returns (bool);\n\n\tfunction getCategoryWorkClockTimeRef(\n\t\tuint256 _catId)\n\tpublic view returns (uint256 workClockTimeRef);\n\n\tfunction existingCategory(\n\t\tuint256 _catId)\n\tpublic view returns (bool categoryExist);\n\n\tfunction getCategory(\n\t\tuint256 _catId)\n\t\tpublic view returns (uint256 catid, string name, string description, uint256 workClockTimeRef);\n\n\tfunction getWorkerStatus(\n\t\taddress _worker)\n\tpublic view returns (address workerPool, uint256 workerScore);\n\n\tfunction getWorkerScore(address _worker) public view returns (uint256 workerScore);\n\n\tfunction registerToPool(address _worker) public returns (bool subscribed);\n\n\tfunction unregisterFromPool(address _worker) public returns (bool unsubscribed);\n\n\tfunction evictWorker(address _worker) public returns (bool unsubscribed);\n\n\tfunction removeWorker(address _workerpool, address _worker) internal returns (bool unsubscribed);\n\n\tfunction lockForOrder(address _user, uint256 _amount) public returns (bool);\n\n\tfunction unlockForOrder(address _user, uint256 _amount) public returns (bool);\n\n\tfunction lockForWork(address _woid, address _user, uint256 _amount) public returns (bool);\n\n\tfunction unlockForWork(address _woid, address _user, uint256 _amount) public returns (bool);\n\n\tfunction rewardForWork(address _woid, address _worker, uint256 _amount, bool _reputation) public returns (bool);\n\n\tfunction seizeForWork(address _woid, address _worker, uint256 _amount, bool _reputation) public returns (bool);\n\n\tfunction deposit(uint256 _amount) external returns (bool);\n\n\tfunction withdraw(uint256 _amount) external returns (bool);\n\n\tfunction checkBalance(address _owner) public view returns (uint256 stake, uint256 locked);\n\n\tfunction reward(address _user, uint256 _amount) internal returns (bool);\n\n\tfunction seize(address _user, uint256 _amount) internal returns (bool);\n\n\tfunction lock(address _user, uint256 _amount) internal returns (bool);\n\n\tfunction unlock(address _user, uint256 _amount) internal returns (bool);\n}\n", - "sourcePath": "/Users/fbranci/iexecdev/PoCo/contracts/IexecHubInterface.sol", - "ast": { - "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/IexecHubInterface.sol", - "exportedSymbols": { - "IexecHubInterface": [ - 2802 - ] - }, - "id": 2803, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 2477, - "literals": [ - "solidity", - "^", - "0.4", - ".21" - ], - "nodeType": "PragmaDirective", - "src": "0:24:8" - }, - { - "absolutePath": "rlc-token/contracts/RLC.sol", - "file": "rlc-token/contracts/RLC.sol", - "id": 2478, - "nodeType": "ImportDirective", - "scope": 2803, - "sourceUnit": 6786, - "src": "26:37:8", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": false, - "id": 2802, - "linearizedBaseContracts": [ - 2802 - ], - "name": "IexecHubInterface", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "id": 2480, - "name": "rlc", - "nodeType": "VariableDeclaration", - "scope": 2802, - "src": "95:14:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RLC_$6785", - "typeString": "contract RLC" - }, - "typeName": { - "contractScope": null, - "id": 2479, - "name": "RLC", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6785, - "src": "95:3:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RLC_$6785", - "typeString": "contract RLC" - } - }, - "value": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 2493, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "attachContracts", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2491, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2482, - "name": "_tokenAddress", - "nodeType": "VariableDeclaration", - "scope": 2493, - "src": "141:21:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2481, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "141:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2484, - "name": "_marketplaceAddress", - "nodeType": "VariableDeclaration", - "scope": 2493, - "src": "166:27:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2483, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "166:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2486, - "name": "_workerPoolHubAddress", - "nodeType": "VariableDeclaration", - "scope": 2493, - "src": "197:29:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2485, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "197:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2488, - "name": "_appHubAddress", - "nodeType": "VariableDeclaration", - "scope": 2493, - "src": "230:22:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2487, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "230:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2490, - "name": "_datasetHubAddress", - "nodeType": "VariableDeclaration", - "scope": 2493, - "src": "256:26:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2489, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "256:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "137:146:8" - }, - "payable": false, - "returnParameters": { - "id": 2492, - "nodeType": "ParameterList", - "parameters": [], - "src": "292:0:8" - }, - "scope": 2802, - "src": "113:180:8", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 2498, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "setCategoriesCreator", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2496, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2495, - "name": "_categoriesCreator", - "nodeType": "VariableDeclaration", - "scope": 2498, - "src": "329:26:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2494, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "329:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "325:31:8" - }, - "payable": false, - "returnParameters": { - "id": 2497, - "nodeType": "ParameterList", - "parameters": [], - "src": "364:0:8" - }, - "scope": 2802, - "src": "296:69:8", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 2509, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "createCategory", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2505, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2500, - "name": "_name", - "nodeType": "VariableDeclaration", - "scope": 2509, - "src": "395:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - "typeName": { - "id": 2499, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "395:6:8", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2502, - "name": "_description", - "nodeType": "VariableDeclaration", - "scope": 2509, - "src": "412:20:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - "typeName": { - "id": 2501, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "412:6:8", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2504, - "name": "_workClockTimeRef", - "nodeType": "VariableDeclaration", - "scope": 2509, - "src": "436:25:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2503, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "436:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "391:71:8" - }, - "payable": false, - "returnParameters": { - "id": 2508, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2507, - "name": "catid", - "nodeType": "VariableDeclaration", - "scope": 2509, - "src": "480:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2506, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "480:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "479:15:8" - }, - "scope": 2802, - "src": "368:127:8", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 2522, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "createWorkerPool", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2518, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2511, - "name": "_description", - "nodeType": "VariableDeclaration", - "scope": 2522, - "src": "527:20:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - }, - "typeName": { - "id": 2510, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "527:6:8", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2513, - "name": "_subscriptionLockStakePolicy", - "nodeType": "VariableDeclaration", - "scope": 2522, - "src": "551:36:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2512, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "551:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2515, - "name": "_subscriptionMinimumStakePolicy", - "nodeType": "VariableDeclaration", - "scope": 2522, - "src": "591:39:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2514, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "591:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2517, - "name": "_subscriptionMinimumScorePolicy", - "nodeType": "VariableDeclaration", - "scope": 2522, - "src": "634:39:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2516, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "634:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "523:151:8" - }, - "payable": false, - "returnParameters": { - "id": 2521, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2520, - "name": "createdWorkerPool", - "nodeType": "VariableDeclaration", - "scope": 2522, - "src": "694:25:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2519, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "694:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "693:27:8" - }, - "scope": 2802, - "src": "498:223:8", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "id": 2533, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "createApp", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2529, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2524, - "name": "_appName", - "nodeType": "VariableDeclaration", - "scope": 2533, - "src": "746:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - }, - "typeName": { - "id": 2523, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "746:6:8", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2526, - "name": "_appPrice", - "nodeType": "VariableDeclaration", - "scope": 2533, - "src": "766:17:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2525, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "766:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2528, - "name": "_appParams", - "nodeType": "VariableDeclaration", - "scope": 2533, - "src": "787:18:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - }, - "typeName": { - "id": 2527, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "787:6:8", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "742:64:8" - }, - "payable": false, - "returnParameters": { - "id": 2532, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2531, - "name": "createdApp", - "nodeType": "VariableDeclaration", - "scope": 2533, - "src": "826:18:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2530, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "826:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "825:20:8" - }, - "scope": 2802, - "src": "724:122:8", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "id": 2544, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "createDataset", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2540, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2535, - "name": "_datasetName", - "nodeType": "VariableDeclaration", - "scope": 2544, - "src": "875:20:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - }, - "typeName": { - "id": 2534, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "875:6:8", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2537, - "name": "_datasetPrice", - "nodeType": "VariableDeclaration", - "scope": 2544, - "src": "899:21:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2536, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "899:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2539, - "name": "_datasetParams", - "nodeType": "VariableDeclaration", - "scope": 2544, - "src": "924:22:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - }, - "typeName": { - "id": 2538, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "924:6:8", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "871:76:8" - }, - "payable": false, - "returnParameters": { - "id": 2543, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2542, - "name": "createdDataset", - "nodeType": "VariableDeclaration", - "scope": 2544, - "src": "967:22:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2541, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "967:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "966:24:8" - }, - "scope": 2802, - "src": "849:142:8", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "id": 2563, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "buyForWorkOrder", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2559, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2546, - "name": "_marketorderIdx", - "nodeType": "VariableDeclaration", - "scope": 2563, - "src": "1022:23:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2545, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1022:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2548, - "name": "_workerpool", - "nodeType": "VariableDeclaration", - "scope": 2563, - "src": "1049:19:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2547, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1049:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2550, - "name": "_app", - "nodeType": "VariableDeclaration", - "scope": 2563, - "src": "1072:12:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2549, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1072:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2552, - "name": "_dataset", - "nodeType": "VariableDeclaration", - "scope": 2563, - "src": "1088:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2551, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1088:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2554, - "name": "_params", - "nodeType": "VariableDeclaration", - "scope": 2563, - "src": "1108:15:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - }, - "typeName": { - "id": 2553, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1108:6:8", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2556, - "name": "_callback", - "nodeType": "VariableDeclaration", - "scope": 2563, - "src": "1127:17:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2555, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1127:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2558, - "name": "_beneficiary", - "nodeType": "VariableDeclaration", - "scope": 2563, - "src": "1148:20:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2557, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1148:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1018:151:8" - }, - "payable": false, - "returnParameters": { - "id": 2562, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2561, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2563, - "src": "1189:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2560, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1189:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1188:9:8" - }, - "scope": 2802, - "src": "994:204:8", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "id": 2570, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "isWoidRegistred", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2566, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2565, - "name": "_woid", - "nodeType": "VariableDeclaration", - "scope": 2570, - "src": "1229:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2564, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1229:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1225:18:8" - }, - "payable": false, - "returnParameters": { - "id": 2569, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2568, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2570, - "src": "1266:4:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2567, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1266:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1265:6:8" - }, - "scope": 2802, - "src": "1201:71:8", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 2583, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "lockWorkOrderCost", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2579, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2572, - "name": "_requester", - "nodeType": "VariableDeclaration", - "scope": 2583, - "src": "1305:18:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2571, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1305:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2574, - "name": "_workerpool", - "nodeType": "VariableDeclaration", - "scope": 2583, - "src": "1327:19:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2573, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1327:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2576, - "name": "_app", - "nodeType": "VariableDeclaration", - "scope": 2583, - "src": "1380:12:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2575, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1380:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2578, - "name": "_dataset", - "nodeType": "VariableDeclaration", - "scope": 2583, - "src": "1433:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2577, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1433:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1301:149:8" - }, - "payable": false, - "returnParameters": { - "id": 2582, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2581, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2583, - "src": "1503:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2580, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1503:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1502:9:8" - }, - "scope": 2802, - "src": "1275:237:8", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": null, - "documentation": null, - "id": 2590, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "claimFailedConsensus", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2586, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2585, - "name": "_woid", - "nodeType": "VariableDeclaration", - "scope": 2590, - "src": "1548:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2584, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1548:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1544:18:8" - }, - "payable": false, - "returnParameters": { - "id": 2589, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2588, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2590, - "src": "1580:4:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2587, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1580:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1579:6:8" - }, - "scope": 2802, - "src": "1515:71:8", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 2603, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "finalizeWorkOrder", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2599, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2592, - "name": "_woid", - "nodeType": "VariableDeclaration", - "scope": 2603, - "src": "1619:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2591, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1619:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2594, - "name": "_stdout", - "nodeType": "VariableDeclaration", - "scope": 2603, - "src": "1636:15:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - "typeName": { - "id": 2593, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1636:6:8", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2596, - "name": "_stderr", - "nodeType": "VariableDeclaration", - "scope": 2603, - "src": "1655:15:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - "typeName": { - "id": 2595, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1655:6:8", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2598, - "name": "_uri", - "nodeType": "VariableDeclaration", - "scope": 2603, - "src": "1674:12:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - "typeName": { - "id": 2597, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1674:6:8", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1615:72:8" - }, - "payable": false, - "returnParameters": { - "id": 2602, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2601, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2603, - "src": "1705:4:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2600, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1705:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1704:6:8" - }, - "scope": 2802, - "src": "1589:122:8", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 2610, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getCategoryWorkClockTimeRef", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2606, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2605, - "name": "_catId", - "nodeType": "VariableDeclaration", - "scope": 2610, - "src": "1754:14:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2604, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1754:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1750:19:8" - }, - "payable": false, - "returnParameters": { - "id": 2609, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2608, - "name": "workClockTimeRef", - "nodeType": "VariableDeclaration", - "scope": 2610, - "src": "1792:24:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2607, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1792:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1791:26:8" - }, - "scope": 2802, - "src": "1714:104:8", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 2617, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "existingCategory", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2613, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2612, - "name": "_catId", - "nodeType": "VariableDeclaration", - "scope": 2617, - "src": "1850:14:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2611, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1850:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1846:19:8" - }, - "payable": false, - "returnParameters": { - "id": 2616, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2615, - "name": "categoryExist", - "nodeType": "VariableDeclaration", - "scope": 2617, - "src": "1889:18:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2614, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1889:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1888:20:8" - }, - "scope": 2802, - "src": "1821:88:8", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 2630, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getCategory", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2620, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2619, - "name": "_catId", - "nodeType": "VariableDeclaration", - "scope": 2630, - "src": "1936:14:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2618, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1936:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1932:19:8" - }, - "payable": false, - "returnParameters": { - "id": 2629, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2622, - "name": "catid", - "nodeType": "VariableDeclaration", - "scope": 2630, - "src": "1975:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2621, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1975:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2624, - "name": "name", - "nodeType": "VariableDeclaration", - "scope": 2630, - "src": "1990:11:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - "typeName": { - "id": 2623, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1990:6:8", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2626, - "name": "description", - "nodeType": "VariableDeclaration", - "scope": 2630, - "src": "2003:19:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - "typeName": { - "id": 2625, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2003:6:8", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2628, - "name": "workClockTimeRef", - "nodeType": "VariableDeclaration", - "scope": 2630, - "src": "2024:24:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2627, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2024:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1974:75:8" - }, - "scope": 2802, - "src": "1912:138:8", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 2639, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getWorkerStatus", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2633, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2632, - "name": "_worker", - "nodeType": "VariableDeclaration", - "scope": 2639, - "src": "2081:15:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2631, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2081:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2077:20:8" - }, - "payable": false, - "returnParameters": { - "id": 2638, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2635, - "name": "workerPool", - "nodeType": "VariableDeclaration", - "scope": 2639, - "src": "2120:18:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2634, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2120:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2637, - "name": "workerScore", - "nodeType": "VariableDeclaration", - "scope": 2639, - "src": "2140:19:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2636, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2140:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2119:41:8" - }, - "scope": 2802, - "src": "2053:108:8", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 2646, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getWorkerScore", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2642, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2641, - "name": "_worker", - "nodeType": "VariableDeclaration", - "scope": 2646, - "src": "2188:15:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2640, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2188:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2187:17:8" - }, - "payable": false, - "returnParameters": { - "id": 2645, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2644, - "name": "workerScore", - "nodeType": "VariableDeclaration", - "scope": 2646, - "src": "2226:19:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2643, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2226:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2225:21:8" - }, - "scope": 2802, - "src": "2164:83:8", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 2653, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "registerToPool", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2649, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2648, - "name": "_worker", - "nodeType": "VariableDeclaration", - "scope": 2653, - "src": "2274:15:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2647, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2274:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2273:17:8" - }, - "payable": false, - "returnParameters": { - "id": 2652, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2651, - "name": "subscribed", - "nodeType": "VariableDeclaration", - "scope": 2653, - "src": "2307:15:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2650, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2307:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2306:17:8" - }, - "scope": 2802, - "src": "2250:74:8", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 2660, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "unregisterFromPool", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2656, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2655, - "name": "_worker", - "nodeType": "VariableDeclaration", - "scope": 2660, - "src": "2355:15:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2654, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2355:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2354:17:8" - }, - "payable": false, - "returnParameters": { - "id": 2659, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2658, - "name": "unsubscribed", - "nodeType": "VariableDeclaration", - "scope": 2660, - "src": "2388:17:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2657, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2388:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2387:19:8" - }, - "scope": 2802, - "src": "2327:80:8", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 2667, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "evictWorker", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2663, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2662, - "name": "_worker", - "nodeType": "VariableDeclaration", - "scope": 2667, - "src": "2431:15:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2661, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2431:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2430:17:8" - }, - "payable": false, - "returnParameters": { - "id": 2666, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2665, - "name": "unsubscribed", - "nodeType": "VariableDeclaration", - "scope": 2667, - "src": "2464:17:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2664, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2464:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2463:19:8" - }, - "scope": 2802, - "src": "2410:73:8", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 2676, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "removeWorker", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2672, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2669, - "name": "_workerpool", - "nodeType": "VariableDeclaration", - "scope": 2676, - "src": "2508:19:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2668, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2508:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2671, - "name": "_worker", - "nodeType": "VariableDeclaration", - "scope": 2676, - "src": "2529:15:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2670, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2529:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2507:38:8" - }, - "payable": false, - "returnParameters": { - "id": 2675, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2674, - "name": "unsubscribed", - "nodeType": "VariableDeclaration", - "scope": 2676, - "src": "2564:17:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2673, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2564:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2563:19:8" - }, - "scope": 2802, - "src": "2486:97:8", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": null, - "documentation": null, - "id": 2685, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "lockForOrder", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2681, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2678, - "name": "_user", - "nodeType": "VariableDeclaration", - "scope": 2685, - "src": "2608:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2677, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2608:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2680, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 2685, - "src": "2623:15:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2679, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2623:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2607:32:8" - }, - "payable": false, - "returnParameters": { - "id": 2684, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2683, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2685, - "src": "2656:4:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2682, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2656:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2655:6:8" - }, - "scope": 2802, - "src": "2586:76:8", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 2694, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "unlockForOrder", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2690, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2687, - "name": "_user", - "nodeType": "VariableDeclaration", - "scope": 2694, - "src": "2689:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2686, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2689:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2689, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 2694, - "src": "2704:15:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2688, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2704:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2688:32:8" - }, - "payable": false, - "returnParameters": { - "id": 2693, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2692, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2694, - "src": "2737:4:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2691, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2737:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2736:6:8" - }, - "scope": 2802, - "src": "2665:78:8", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 2705, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "lockForWork", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2701, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2696, - "name": "_woid", - "nodeType": "VariableDeclaration", - "scope": 2705, - "src": "2767:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2695, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2767:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2698, - "name": "_user", - "nodeType": "VariableDeclaration", - "scope": 2705, - "src": "2782:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2697, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2782:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2700, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 2705, - "src": "2797:15:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2699, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2797:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2766:47:8" - }, - "payable": false, - "returnParameters": { - "id": 2704, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2703, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2705, - "src": "2830:4:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2702, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2830:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2829:6:8" - }, - "scope": 2802, - "src": "2746:90:8", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 2716, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "unlockForWork", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2712, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2707, - "name": "_woid", - "nodeType": "VariableDeclaration", - "scope": 2716, - "src": "2862:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2706, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2862:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2709, - "name": "_user", - "nodeType": "VariableDeclaration", - "scope": 2716, - "src": "2877:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2708, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2877:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2711, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 2716, - "src": "2892:15:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2710, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2892:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2861:47:8" - }, - "payable": false, - "returnParameters": { - "id": 2715, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2714, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2716, - "src": "2925:4:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2713, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2925:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2924:6:8" - }, - "scope": 2802, - "src": "2839:92:8", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 2729, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "rewardForWork", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2725, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2718, - "name": "_woid", - "nodeType": "VariableDeclaration", - "scope": 2729, - "src": "2957:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2717, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2957:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2720, - "name": "_worker", - "nodeType": "VariableDeclaration", - "scope": 2729, - "src": "2972:15:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2719, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2972:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2722, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 2729, - "src": "2989:15:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2721, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2989:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2724, - "name": "_reputation", - "nodeType": "VariableDeclaration", - "scope": 2729, - "src": "3006:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2723, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3006:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2956:67:8" - }, - "payable": false, - "returnParameters": { - "id": 2728, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2727, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2729, - "src": "3040:4:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2726, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3040:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3039:6:8" - }, - "scope": 2802, - "src": "2934:112:8", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 2742, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "seizeForWork", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2738, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2731, - "name": "_woid", - "nodeType": "VariableDeclaration", - "scope": 2742, - "src": "3071:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2730, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3071:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2733, - "name": "_worker", - "nodeType": "VariableDeclaration", - "scope": 2742, - "src": "3086:15:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2732, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3086:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2735, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 2742, - "src": "3103:15:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2734, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3103:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2737, - "name": "_reputation", - "nodeType": "VariableDeclaration", - "scope": 2742, - "src": "3120:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2736, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3120:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3070:67:8" - }, - "payable": false, - "returnParameters": { - "id": 2741, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2740, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2742, - "src": "3154:4:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2739, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3154:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3153:6:8" - }, - "scope": 2802, - "src": "3049:111:8", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 2749, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "deposit", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2745, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2744, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 2749, - "src": "3180:15:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2743, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3180:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3179:17:8" - }, - "payable": false, - "returnParameters": { - "id": 2748, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2747, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2749, - "src": "3215:4:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2746, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3215:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3214:6:8" - }, - "scope": 2802, - "src": "3163:58:8", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "id": 2756, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "withdraw", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2752, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2751, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 2756, - "src": "3242:15:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2750, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3242:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3241:17:8" - }, - "payable": false, - "returnParameters": { - "id": 2755, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2754, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2756, - "src": "3277:4:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2753, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3277:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3276:6:8" - }, - "scope": 2802, - "src": "3224:59:8", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "id": 2765, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "checkBalance", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2759, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2758, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 2765, - "src": "3308:14:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2757, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3308:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3307:16:8" - }, - "payable": false, - "returnParameters": { - "id": 2764, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2761, - "name": "stake", - "nodeType": "VariableDeclaration", - "scope": 2765, - "src": "3345:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2760, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3345:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2763, - "name": "locked", - "nodeType": "VariableDeclaration", - "scope": 2765, - "src": "3360:14:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2762, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3360:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3344:31:8" - }, - "scope": 2802, - "src": "3286:90:8", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 2774, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "reward", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2770, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2767, - "name": "_user", - "nodeType": "VariableDeclaration", - "scope": 2774, - "src": "3395:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2766, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3395:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2769, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 2774, - "src": "3410:15:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2768, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3410:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3394:32:8" - }, - "payable": false, - "returnParameters": { - "id": 2773, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2772, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2774, - "src": "3445:4:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2771, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3445:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3444:6:8" - }, - "scope": 2802, - "src": "3379:72:8", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": null, - "documentation": null, - "id": 2783, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "seize", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2779, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2776, - "name": "_user", - "nodeType": "VariableDeclaration", - "scope": 2783, - "src": "3469:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2775, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3469:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2778, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 2783, - "src": "3484:15:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2777, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3484:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3468:32:8" - }, - "payable": false, - "returnParameters": { - "id": 2782, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2781, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2783, - "src": "3519:4:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2780, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3519:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3518:6:8" - }, - "scope": 2802, - "src": "3454:71:8", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": null, - "documentation": null, - "id": 2792, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "lock", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2788, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2785, - "name": "_user", - "nodeType": "VariableDeclaration", - "scope": 2792, - "src": "3542:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2784, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3542:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2787, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 2792, - "src": "3557:15:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2786, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3557:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3541:32:8" - }, - "payable": false, - "returnParameters": { - "id": 2791, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2790, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2792, - "src": "3592:4:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2789, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3592:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3591:6:8" - }, - "scope": 2802, - "src": "3528:70:8", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": null, - "documentation": null, - "id": 2801, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "unlock", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2797, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2794, - "name": "_user", - "nodeType": "VariableDeclaration", - "scope": 2801, - "src": "3617:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2793, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3617:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2796, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 2801, - "src": "3632:15:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2795, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3632:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3616:32:8" - }, - "payable": false, - "returnParameters": { - "id": 2800, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2799, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2801, - "src": "3667:4:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2798, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3667:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3666:6:8" - }, - "scope": 2802, - "src": "3601:72:8", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 2803, - "src": "65:3610:8" - } - ], - "src": "0:3676:8" - }, - "legacyAST": { - "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/IexecHubInterface.sol", - "exportedSymbols": { - "IexecHubInterface": [ - 2802 - ] - }, - "id": 2803, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 2477, - "literals": [ - "solidity", - "^", - "0.4", - ".21" - ], - "nodeType": "PragmaDirective", - "src": "0:24:8" - }, - { - "absolutePath": "rlc-token/contracts/RLC.sol", - "file": "rlc-token/contracts/RLC.sol", - "id": 2478, - "nodeType": "ImportDirective", - "scope": 2803, - "sourceUnit": 6786, - "src": "26:37:8", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": false, - "id": 2802, - "linearizedBaseContracts": [ - 2802 - ], - "name": "IexecHubInterface", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "id": 2480, - "name": "rlc", - "nodeType": "VariableDeclaration", - "scope": 2802, - "src": "95:14:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RLC_$6785", - "typeString": "contract RLC" - }, - "typeName": { - "contractScope": null, - "id": 2479, - "name": "RLC", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6785, - "src": "95:3:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RLC_$6785", - "typeString": "contract RLC" - } - }, - "value": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 2493, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "attachContracts", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2491, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2482, - "name": "_tokenAddress", - "nodeType": "VariableDeclaration", - "scope": 2493, - "src": "141:21:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2481, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "141:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2484, - "name": "_marketplaceAddress", - "nodeType": "VariableDeclaration", - "scope": 2493, - "src": "166:27:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2483, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "166:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2486, - "name": "_workerPoolHubAddress", - "nodeType": "VariableDeclaration", - "scope": 2493, - "src": "197:29:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2485, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "197:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2488, - "name": "_appHubAddress", - "nodeType": "VariableDeclaration", - "scope": 2493, - "src": "230:22:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2487, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "230:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2490, - "name": "_datasetHubAddress", - "nodeType": "VariableDeclaration", - "scope": 2493, - "src": "256:26:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2489, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "256:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "137:146:8" - }, - "payable": false, - "returnParameters": { - "id": 2492, - "nodeType": "ParameterList", - "parameters": [], - "src": "292:0:8" - }, - "scope": 2802, - "src": "113:180:8", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 2498, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "setCategoriesCreator", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2496, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2495, - "name": "_categoriesCreator", - "nodeType": "VariableDeclaration", - "scope": 2498, - "src": "329:26:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2494, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "329:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "325:31:8" - }, - "payable": false, - "returnParameters": { - "id": 2497, - "nodeType": "ParameterList", - "parameters": [], - "src": "364:0:8" - }, - "scope": 2802, - "src": "296:69:8", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 2509, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "createCategory", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2505, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2500, - "name": "_name", - "nodeType": "VariableDeclaration", - "scope": 2509, - "src": "395:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - "typeName": { - "id": 2499, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "395:6:8", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2502, - "name": "_description", - "nodeType": "VariableDeclaration", - "scope": 2509, - "src": "412:20:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - "typeName": { - "id": 2501, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "412:6:8", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2504, - "name": "_workClockTimeRef", - "nodeType": "VariableDeclaration", - "scope": 2509, - "src": "436:25:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2503, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "436:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "391:71:8" - }, - "payable": false, - "returnParameters": { - "id": 2508, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2507, - "name": "catid", - "nodeType": "VariableDeclaration", - "scope": 2509, - "src": "480:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2506, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "480:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "479:15:8" - }, - "scope": 2802, - "src": "368:127:8", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 2522, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "createWorkerPool", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2518, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2511, - "name": "_description", - "nodeType": "VariableDeclaration", - "scope": 2522, - "src": "527:20:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - }, - "typeName": { - "id": 2510, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "527:6:8", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2513, - "name": "_subscriptionLockStakePolicy", - "nodeType": "VariableDeclaration", - "scope": 2522, - "src": "551:36:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2512, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "551:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2515, - "name": "_subscriptionMinimumStakePolicy", - "nodeType": "VariableDeclaration", - "scope": 2522, - "src": "591:39:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2514, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "591:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2517, - "name": "_subscriptionMinimumScorePolicy", - "nodeType": "VariableDeclaration", - "scope": 2522, - "src": "634:39:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2516, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "634:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "523:151:8" - }, - "payable": false, - "returnParameters": { - "id": 2521, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2520, - "name": "createdWorkerPool", - "nodeType": "VariableDeclaration", - "scope": 2522, - "src": "694:25:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2519, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "694:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "693:27:8" - }, - "scope": 2802, - "src": "498:223:8", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "id": 2533, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "createApp", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2529, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2524, - "name": "_appName", - "nodeType": "VariableDeclaration", - "scope": 2533, - "src": "746:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - }, - "typeName": { - "id": 2523, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "746:6:8", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2526, - "name": "_appPrice", - "nodeType": "VariableDeclaration", - "scope": 2533, - "src": "766:17:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2525, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "766:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2528, - "name": "_appParams", - "nodeType": "VariableDeclaration", - "scope": 2533, - "src": "787:18:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - }, - "typeName": { - "id": 2527, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "787:6:8", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "742:64:8" - }, - "payable": false, - "returnParameters": { - "id": 2532, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2531, - "name": "createdApp", - "nodeType": "VariableDeclaration", - "scope": 2533, - "src": "826:18:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2530, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "826:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "825:20:8" - }, - "scope": 2802, - "src": "724:122:8", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "id": 2544, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "createDataset", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2540, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2535, - "name": "_datasetName", - "nodeType": "VariableDeclaration", - "scope": 2544, - "src": "875:20:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - }, - "typeName": { - "id": 2534, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "875:6:8", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2537, - "name": "_datasetPrice", - "nodeType": "VariableDeclaration", - "scope": 2544, - "src": "899:21:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2536, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "899:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2539, - "name": "_datasetParams", - "nodeType": "VariableDeclaration", - "scope": 2544, - "src": "924:22:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - }, - "typeName": { - "id": 2538, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "924:6:8", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "871:76:8" - }, - "payable": false, - "returnParameters": { - "id": 2543, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2542, - "name": "createdDataset", - "nodeType": "VariableDeclaration", - "scope": 2544, - "src": "967:22:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2541, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "967:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "966:24:8" - }, - "scope": 2802, - "src": "849:142:8", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "id": 2563, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "buyForWorkOrder", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2559, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2546, - "name": "_marketorderIdx", - "nodeType": "VariableDeclaration", - "scope": 2563, - "src": "1022:23:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2545, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1022:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2548, - "name": "_workerpool", - "nodeType": "VariableDeclaration", - "scope": 2563, - "src": "1049:19:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2547, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1049:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2550, - "name": "_app", - "nodeType": "VariableDeclaration", - "scope": 2563, - "src": "1072:12:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2549, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1072:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2552, - "name": "_dataset", - "nodeType": "VariableDeclaration", - "scope": 2563, - "src": "1088:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2551, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1088:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2554, - "name": "_params", - "nodeType": "VariableDeclaration", - "scope": 2563, - "src": "1108:15:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - }, - "typeName": { - "id": 2553, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1108:6:8", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2556, - "name": "_callback", - "nodeType": "VariableDeclaration", - "scope": 2563, - "src": "1127:17:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2555, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1127:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2558, - "name": "_beneficiary", - "nodeType": "VariableDeclaration", - "scope": 2563, - "src": "1148:20:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2557, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1148:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1018:151:8" - }, - "payable": false, - "returnParameters": { - "id": 2562, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2561, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2563, - "src": "1189:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2560, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1189:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1188:9:8" - }, - "scope": 2802, - "src": "994:204:8", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "id": 2570, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "isWoidRegistred", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2566, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2565, - "name": "_woid", - "nodeType": "VariableDeclaration", - "scope": 2570, - "src": "1229:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2564, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1229:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1225:18:8" - }, - "payable": false, - "returnParameters": { - "id": 2569, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2568, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2570, - "src": "1266:4:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2567, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1266:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1265:6:8" - }, - "scope": 2802, - "src": "1201:71:8", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 2583, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "lockWorkOrderCost", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2579, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2572, - "name": "_requester", - "nodeType": "VariableDeclaration", - "scope": 2583, - "src": "1305:18:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2571, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1305:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2574, - "name": "_workerpool", - "nodeType": "VariableDeclaration", - "scope": 2583, - "src": "1327:19:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2573, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1327:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2576, - "name": "_app", - "nodeType": "VariableDeclaration", - "scope": 2583, - "src": "1380:12:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2575, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1380:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2578, - "name": "_dataset", - "nodeType": "VariableDeclaration", - "scope": 2583, - "src": "1433:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2577, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1433:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1301:149:8" - }, - "payable": false, - "returnParameters": { - "id": 2582, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2581, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2583, - "src": "1503:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2580, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1503:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1502:9:8" - }, - "scope": 2802, - "src": "1275:237:8", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": null, - "documentation": null, - "id": 2590, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "claimFailedConsensus", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2586, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2585, - "name": "_woid", - "nodeType": "VariableDeclaration", - "scope": 2590, - "src": "1548:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2584, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1548:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1544:18:8" - }, - "payable": false, - "returnParameters": { - "id": 2589, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2588, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2590, - "src": "1580:4:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2587, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1580:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1579:6:8" - }, - "scope": 2802, - "src": "1515:71:8", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 2603, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "finalizeWorkOrder", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2599, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2592, - "name": "_woid", - "nodeType": "VariableDeclaration", - "scope": 2603, - "src": "1619:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2591, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1619:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2594, - "name": "_stdout", - "nodeType": "VariableDeclaration", - "scope": 2603, - "src": "1636:15:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - "typeName": { - "id": 2593, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1636:6:8", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2596, - "name": "_stderr", - "nodeType": "VariableDeclaration", - "scope": 2603, - "src": "1655:15:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - "typeName": { - "id": 2595, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1655:6:8", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2598, - "name": "_uri", - "nodeType": "VariableDeclaration", - "scope": 2603, - "src": "1674:12:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - "typeName": { - "id": 2597, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1674:6:8", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1615:72:8" - }, - "payable": false, - "returnParameters": { - "id": 2602, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2601, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2603, - "src": "1705:4:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2600, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1705:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1704:6:8" - }, - "scope": 2802, - "src": "1589:122:8", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 2610, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getCategoryWorkClockTimeRef", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2606, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2605, - "name": "_catId", - "nodeType": "VariableDeclaration", - "scope": 2610, - "src": "1754:14:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2604, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1754:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1750:19:8" - }, - "payable": false, - "returnParameters": { - "id": 2609, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2608, - "name": "workClockTimeRef", - "nodeType": "VariableDeclaration", - "scope": 2610, - "src": "1792:24:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2607, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1792:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1791:26:8" - }, - "scope": 2802, - "src": "1714:104:8", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 2617, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "existingCategory", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2613, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2612, - "name": "_catId", - "nodeType": "VariableDeclaration", - "scope": 2617, - "src": "1850:14:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2611, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1850:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1846:19:8" - }, - "payable": false, - "returnParameters": { - "id": 2616, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2615, - "name": "categoryExist", - "nodeType": "VariableDeclaration", - "scope": 2617, - "src": "1889:18:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2614, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1889:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1888:20:8" - }, - "scope": 2802, - "src": "1821:88:8", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 2630, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getCategory", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2620, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2619, - "name": "_catId", - "nodeType": "VariableDeclaration", - "scope": 2630, - "src": "1936:14:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2618, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1936:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1932:19:8" - }, - "payable": false, - "returnParameters": { - "id": 2629, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2622, - "name": "catid", - "nodeType": "VariableDeclaration", - "scope": 2630, - "src": "1975:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2621, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1975:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2624, - "name": "name", - "nodeType": "VariableDeclaration", - "scope": 2630, - "src": "1990:11:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - "typeName": { - "id": 2623, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1990:6:8", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2626, - "name": "description", - "nodeType": "VariableDeclaration", - "scope": 2630, - "src": "2003:19:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - "typeName": { - "id": 2625, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2003:6:8", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2628, - "name": "workClockTimeRef", - "nodeType": "VariableDeclaration", - "scope": 2630, - "src": "2024:24:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2627, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2024:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1974:75:8" - }, - "scope": 2802, - "src": "1912:138:8", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 2639, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getWorkerStatus", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2633, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2632, - "name": "_worker", - "nodeType": "VariableDeclaration", - "scope": 2639, - "src": "2081:15:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2631, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2081:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2077:20:8" - }, - "payable": false, - "returnParameters": { - "id": 2638, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2635, - "name": "workerPool", - "nodeType": "VariableDeclaration", - "scope": 2639, - "src": "2120:18:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2634, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2120:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2637, - "name": "workerScore", - "nodeType": "VariableDeclaration", - "scope": 2639, - "src": "2140:19:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2636, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2140:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2119:41:8" - }, - "scope": 2802, - "src": "2053:108:8", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 2646, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getWorkerScore", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2642, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2641, - "name": "_worker", - "nodeType": "VariableDeclaration", - "scope": 2646, - "src": "2188:15:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2640, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2188:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2187:17:8" - }, - "payable": false, - "returnParameters": { - "id": 2645, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2644, - "name": "workerScore", - "nodeType": "VariableDeclaration", - "scope": 2646, - "src": "2226:19:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2643, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2226:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2225:21:8" - }, - "scope": 2802, - "src": "2164:83:8", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 2653, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "registerToPool", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2649, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2648, - "name": "_worker", - "nodeType": "VariableDeclaration", - "scope": 2653, - "src": "2274:15:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2647, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2274:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2273:17:8" - }, - "payable": false, - "returnParameters": { - "id": 2652, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2651, - "name": "subscribed", - "nodeType": "VariableDeclaration", - "scope": 2653, - "src": "2307:15:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2650, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2307:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2306:17:8" - }, - "scope": 2802, - "src": "2250:74:8", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 2660, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "unregisterFromPool", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2656, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2655, - "name": "_worker", - "nodeType": "VariableDeclaration", - "scope": 2660, - "src": "2355:15:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2654, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2355:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2354:17:8" - }, - "payable": false, - "returnParameters": { - "id": 2659, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2658, - "name": "unsubscribed", - "nodeType": "VariableDeclaration", - "scope": 2660, - "src": "2388:17:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2657, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2388:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2387:19:8" - }, - "scope": 2802, - "src": "2327:80:8", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 2667, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "evictWorker", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2663, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2662, - "name": "_worker", - "nodeType": "VariableDeclaration", - "scope": 2667, - "src": "2431:15:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2661, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2431:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2430:17:8" - }, - "payable": false, - "returnParameters": { - "id": 2666, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2665, - "name": "unsubscribed", - "nodeType": "VariableDeclaration", - "scope": 2667, - "src": "2464:17:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2664, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2464:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2463:19:8" - }, - "scope": 2802, - "src": "2410:73:8", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 2676, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "removeWorker", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2672, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2669, - "name": "_workerpool", - "nodeType": "VariableDeclaration", - "scope": 2676, - "src": "2508:19:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2668, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2508:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2671, - "name": "_worker", - "nodeType": "VariableDeclaration", - "scope": 2676, - "src": "2529:15:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2670, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2529:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2507:38:8" - }, - "payable": false, - "returnParameters": { - "id": 2675, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2674, - "name": "unsubscribed", - "nodeType": "VariableDeclaration", - "scope": 2676, - "src": "2564:17:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2673, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2564:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2563:19:8" - }, - "scope": 2802, - "src": "2486:97:8", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": null, - "documentation": null, - "id": 2685, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "lockForOrder", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2681, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2678, - "name": "_user", - "nodeType": "VariableDeclaration", - "scope": 2685, - "src": "2608:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2677, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2608:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2680, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 2685, - "src": "2623:15:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2679, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2623:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2607:32:8" - }, - "payable": false, - "returnParameters": { - "id": 2684, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2683, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2685, - "src": "2656:4:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2682, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2656:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2655:6:8" - }, - "scope": 2802, - "src": "2586:76:8", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 2694, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "unlockForOrder", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2690, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2687, - "name": "_user", - "nodeType": "VariableDeclaration", - "scope": 2694, - "src": "2689:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2686, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2689:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2689, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 2694, - "src": "2704:15:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2688, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2704:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2688:32:8" - }, - "payable": false, - "returnParameters": { - "id": 2693, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2692, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2694, - "src": "2737:4:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2691, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2737:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2736:6:8" - }, - "scope": 2802, - "src": "2665:78:8", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 2705, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "lockForWork", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2701, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2696, - "name": "_woid", - "nodeType": "VariableDeclaration", - "scope": 2705, - "src": "2767:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2695, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2767:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2698, - "name": "_user", - "nodeType": "VariableDeclaration", - "scope": 2705, - "src": "2782:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2697, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2782:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2700, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 2705, - "src": "2797:15:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2699, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2797:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2766:47:8" - }, - "payable": false, - "returnParameters": { - "id": 2704, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2703, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2705, - "src": "2830:4:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2702, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2830:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2829:6:8" - }, - "scope": 2802, - "src": "2746:90:8", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 2716, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "unlockForWork", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2712, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2707, - "name": "_woid", - "nodeType": "VariableDeclaration", - "scope": 2716, - "src": "2862:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2706, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2862:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2709, - "name": "_user", - "nodeType": "VariableDeclaration", - "scope": 2716, - "src": "2877:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2708, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2877:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2711, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 2716, - "src": "2892:15:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2710, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2892:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2861:47:8" - }, - "payable": false, - "returnParameters": { - "id": 2715, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2714, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2716, - "src": "2925:4:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2713, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2925:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2924:6:8" - }, - "scope": 2802, - "src": "2839:92:8", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 2729, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "rewardForWork", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2725, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2718, - "name": "_woid", - "nodeType": "VariableDeclaration", - "scope": 2729, - "src": "2957:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2717, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2957:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2720, - "name": "_worker", - "nodeType": "VariableDeclaration", - "scope": 2729, - "src": "2972:15:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2719, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2972:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2722, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 2729, - "src": "2989:15:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2721, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2989:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2724, - "name": "_reputation", - "nodeType": "VariableDeclaration", - "scope": 2729, - "src": "3006:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2723, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3006:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2956:67:8" - }, - "payable": false, - "returnParameters": { - "id": 2728, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2727, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2729, - "src": "3040:4:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2726, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3040:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3039:6:8" - }, - "scope": 2802, - "src": "2934:112:8", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 2742, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "seizeForWork", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2738, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2731, - "name": "_woid", - "nodeType": "VariableDeclaration", - "scope": 2742, - "src": "3071:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2730, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3071:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2733, - "name": "_worker", - "nodeType": "VariableDeclaration", - "scope": 2742, - "src": "3086:15:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2732, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3086:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2735, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 2742, - "src": "3103:15:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2734, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3103:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2737, - "name": "_reputation", - "nodeType": "VariableDeclaration", - "scope": 2742, - "src": "3120:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2736, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3120:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3070:67:8" - }, - "payable": false, - "returnParameters": { - "id": 2741, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2740, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2742, - "src": "3154:4:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2739, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3154:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3153:6:8" - }, - "scope": 2802, - "src": "3049:111:8", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 2749, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "deposit", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2745, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2744, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 2749, - "src": "3180:15:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2743, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3180:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3179:17:8" - }, - "payable": false, - "returnParameters": { - "id": 2748, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2747, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2749, - "src": "3215:4:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2746, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3215:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3214:6:8" - }, - "scope": 2802, - "src": "3163:58:8", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "id": 2756, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "withdraw", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2752, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2751, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 2756, - "src": "3242:15:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2750, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3242:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3241:17:8" - }, - "payable": false, - "returnParameters": { - "id": 2755, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2754, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2756, - "src": "3277:4:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2753, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3277:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3276:6:8" - }, - "scope": 2802, - "src": "3224:59:8", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "id": 2765, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "checkBalance", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2759, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2758, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 2765, - "src": "3308:14:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2757, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3308:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3307:16:8" - }, - "payable": false, - "returnParameters": { - "id": 2764, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2761, - "name": "stake", - "nodeType": "VariableDeclaration", - "scope": 2765, - "src": "3345:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2760, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3345:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2763, - "name": "locked", - "nodeType": "VariableDeclaration", - "scope": 2765, - "src": "3360:14:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2762, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3360:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3344:31:8" - }, - "scope": 2802, - "src": "3286:90:8", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 2774, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "reward", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2770, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2767, - "name": "_user", - "nodeType": "VariableDeclaration", - "scope": 2774, - "src": "3395:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2766, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3395:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2769, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 2774, - "src": "3410:15:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2768, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3410:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3394:32:8" - }, - "payable": false, - "returnParameters": { - "id": 2773, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2772, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2774, - "src": "3445:4:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2771, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3445:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3444:6:8" - }, - "scope": 2802, - "src": "3379:72:8", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": null, - "documentation": null, - "id": 2783, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "seize", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2779, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2776, - "name": "_user", - "nodeType": "VariableDeclaration", - "scope": 2783, - "src": "3469:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2775, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3469:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2778, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 2783, - "src": "3484:15:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2777, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3484:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3468:32:8" - }, - "payable": false, - "returnParameters": { - "id": 2782, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2781, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2783, - "src": "3519:4:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2780, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3519:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3518:6:8" - }, - "scope": 2802, - "src": "3454:71:8", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": null, - "documentation": null, - "id": 2792, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "lock", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2788, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2785, - "name": "_user", - "nodeType": "VariableDeclaration", - "scope": 2792, - "src": "3542:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2784, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3542:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2787, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 2792, - "src": "3557:15:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2786, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3557:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3541:32:8" - }, - "payable": false, - "returnParameters": { - "id": 2791, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2790, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2792, - "src": "3592:4:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2789, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3592:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3591:6:8" - }, - "scope": 2802, - "src": "3528:70:8", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": null, - "documentation": null, - "id": 2801, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "unlock", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2797, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2794, - "name": "_user", - "nodeType": "VariableDeclaration", - "scope": 2801, - "src": "3617:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2793, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3617:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2796, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 2801, - "src": "3632:15:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2795, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3632:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3616:32:8" - }, - "payable": false, - "returnParameters": { - "id": 2800, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2799, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2801, - "src": "3667:4:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2798, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3667:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3666:6:8" - }, - "scope": 2802, - "src": "3601:72:8", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 2803, - "src": "65:3610:8" - } - ], - "src": "0:3676:8" - }, - "compiler": { - "name": "solc", - "version": "0.4.21+commit.dfe3193c.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "2.0.0", - "updatedAt": "2018-05-20T20:12:33.553Z" -} diff --git a/build/contracts/IexecLib.json b/build/contracts/IexecLib.json deleted file mode 100644 index 05deb840..00000000 --- a/build/contracts/IexecLib.json +++ /dev/null @@ -1,2149 +0,0 @@ -{ - "contractName": "IexecLib", - "abi": [], - "bytecode": "0x604c602c600b82828239805160001a60731460008114601c57601e565bfe5b5030600052607381538281f30073000000000000000000000000000000000000000030146060604052600080fd00a165627a7a723058206876c881fdd6ab94cc12dd67f987d338b226048c7966c70b1866f320929306050029", - "deployedBytecode": "0x73000000000000000000000000000000000000000030146060604052600080fd00a165627a7a723058206876c881fdd6ab94cc12dd67f987d338b226048c7966c70b1866f320929306050029", - "sourceMap": "26:3305:9:-;;132:2:-1;166:7;155:9;146:7;137:37;252:7;246:14;243:1;238:23;232:4;229:33;270:1;265:20;;;;222:63;;265:20;274:9;222:63;;298:9;295:1;288:20;328:4;319:7;311:22;352:7;343;336:24", - "deployedSourceMap": "26:3305:9:-;;;;;;;;", - "source": "pragma solidity ^0.4.21;\n\nlibrary IexecLib\n{\n\t/***************************************************************************/\n\t/* Market Order */\n\t/***************************************************************************/\n\tenum MarketOrderDirectionEnum\n\t{\n\t\tUNSET,\n\t\tBID,\n\t\tASK,\n\t\tCLOSED\n\t}\n\tstruct MarketOrder\n\t{\n\t\tMarketOrderDirectionEnum direction;\n\t\tuint256 category; // runtime selection\n\t\tuint256 trust; // for PoCo\n\t\tuint256 value; // value/cost/price\n\t\tuint256 volume; // quantity of instances (total)\n\t\tuint256 remaining; // remaining instances\n\t\taddress workerpool; // BID can use null for any\n\t\taddress workerpoolOwner; // fix ownership if workerpool ownership change during the workorder steps\n\t}\n\n\t/***************************************************************************/\n\t/* Work Order */\n\t/***************************************************************************/\n\tenum WorkOrderStatusEnum\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\tCLAIMED, // failed consensus\n\t\tCOMPLETED // Concensus achieved\n\t}\n\n\t/***************************************************************************/\n\t/* Consensus */\n\t/* --- */\n\t/* used in WorkerPool.sol */\n\t/***************************************************************************/\n\tstruct Consensus\n\t{\n\t\tuint256 poolReward;\n\t\tuint256 stakeAmount;\n\t\tbytes32 consensus;\n\t\tuint256 revealDate;\n\t\tuint256 revealCounter;\n\t\tuint256 consensusTimeout;\n\t\tuint256 winnerCount;\n\t\taddress[] contributors;\n\t\taddress workerpoolOwner;\n\t\tuint256 schedulerRewardRatioPolicy;\n\n\t}\n\n\t/***************************************************************************/\n\t/* Contribution */\n\t/* --- */\n\t/* used in WorkerPool.sol */\n\t/***************************************************************************/\n\tenum ContributionStatusEnum\n\t{\n\t\tUNSET,\n\t\tAUTHORIZED,\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 resultSign;\n\t\taddress enclaveChallenge;\n\t\tuint256 score;\n\t\tuint256 weight;\n\t}\n\n\t/***************************************************************************/\n\t/* Account / ContributionHistory / Category */\n\t/* --- */\n\t/* used in IexecHub.sol */\n\t/***************************************************************************/\n\tstruct Account\n\t{\n\t\tuint256 stake;\n\t\tuint256 locked;\n\t}\n\n\tstruct ContributionHistory // for credibility computation, f = failed/total\n\t{\n\t\tuint256 success;\n\t\tuint256 failed;\n\t}\n\n\tstruct Category\n\t{\n\t\tuint256 catid;\n\t\tstring name;\n\t\tstring description;\n\t\tuint256 workClockTimeRef;\n\t}\n\n}\n", - "sourcePath": "/Users/fbranci/iexecdev/PoCo/contracts/IexecLib.sol", - "ast": { - "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/IexecLib.sol", - "exportedSymbols": { - "IexecLib": [ - 2893 - ] - }, - "id": 2894, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 2804, - "literals": [ - "solidity", - "^", - "0.4", - ".21" - ], - "nodeType": "PragmaDirective", - "src": "0:24:9" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "documentation": null, - "fullyImplemented": true, - "id": 2893, - "linearizedBaseContracts": [ - 2893 - ], - "name": "IexecLib", - "nodeType": "ContractDefinition", - "nodes": [ - { - "canonicalName": "IexecLib.MarketOrderDirectionEnum", - "id": 2809, - "members": [ - { - "id": 2805, - "name": "UNSET", - "nodeType": "EnumValue", - "src": "318:5:9" - }, - { - "id": 2806, - "name": "BID", - "nodeType": "EnumValue", - "src": "327:3:9" - }, - { - "id": 2807, - "name": "ASK", - "nodeType": "EnumValue", - "src": "334:3:9" - }, - { - "id": 2808, - "name": "CLOSED", - "nodeType": "EnumValue", - "src": "341:6:9" - } - ], - "name": "MarketOrderDirectionEnum", - "nodeType": "EnumDefinition", - "src": "283:67:9" - }, - { - "canonicalName": "IexecLib.MarketOrder", - "id": 2826, - "members": [ - { - "constant": false, - "id": 2811, - "name": "direction", - "nodeType": "VariableDeclaration", - "scope": 2826, - "src": "376:34:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2809", - "typeString": "enum IexecLib.MarketOrderDirectionEnum" - }, - "typeName": { - "contractScope": null, - "id": 2810, - "name": "MarketOrderDirectionEnum", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2809, - "src": "376:24:9", - "typeDescriptions": { - "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2809", - "typeString": "enum IexecLib.MarketOrderDirectionEnum" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2813, - "name": "category", - "nodeType": "VariableDeclaration", - "scope": 2826, - "src": "414:16:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2812, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "414:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2815, - "name": "trust", - "nodeType": "VariableDeclaration", - "scope": 2826, - "src": "462:13:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2814, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "462:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2817, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 2826, - "src": "501:13:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2816, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "501:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2819, - "name": "volume", - "nodeType": "VariableDeclaration", - "scope": 2826, - "src": "548:14:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2818, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "548:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2821, - "name": "remaining", - "nodeType": "VariableDeclaration", - "scope": 2826, - "src": "608:17:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2820, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "608:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2823, - "name": "workerpool", - "nodeType": "VariableDeclaration", - "scope": 2826, - "src": "658:18:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2822, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "658:7:9", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2825, - "name": "workerpoolOwner", - "nodeType": "VariableDeclaration", - "scope": 2826, - "src": "713:23:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2824, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "713:7:9", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "MarketOrder", - "nodeType": "StructDefinition", - "scope": 2893, - "src": "352:463:9", - "visibility": "public" - }, - { - "canonicalName": "IexecLib.WorkOrderStatusEnum", - "id": 2832, - "members": [ - { - "id": 2827, - "name": "UNSET", - "nodeType": "EnumValue", - "src": "1085:5:9" - }, - { - "id": 2828, - "name": "ACTIVE", - "nodeType": "EnumValue", - "src": "1150:6:9" - }, - { - "id": 2829, - "name": "REVEALING", - "nodeType": "EnumValue", - "src": "1203:9:9" - }, - { - "id": 2830, - "name": "CLAIMED", - "nodeType": "EnumValue", - "src": "1245:7:9" - }, - { - "id": 2831, - "name": "COMPLETED", - "nodeType": "EnumValue", - "src": "1278:9:9" - } - ], - "name": "WorkOrderStatusEnum", - "nodeType": "EnumDefinition", - "src": "1055:258:9" - }, - { - "canonicalName": "IexecLib.Consensus", - "id": 2854, - "members": [ - { - "constant": false, - "id": 2834, - "name": "poolReward", - "nodeType": "VariableDeclaration", - "scope": 2854, - "src": "1733:18:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2833, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1733:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2836, - "name": "stakeAmount", - "nodeType": "VariableDeclaration", - "scope": 2854, - "src": "1755:19:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2835, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1755:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2838, - "name": "consensus", - "nodeType": "VariableDeclaration", - "scope": 2854, - "src": "1778:17:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 2837, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1778:7:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2840, - "name": "revealDate", - "nodeType": "VariableDeclaration", - "scope": 2854, - "src": "1799:18:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2839, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1799:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2842, - "name": "revealCounter", - "nodeType": "VariableDeclaration", - "scope": 2854, - "src": "1821:21:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2841, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1821:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2844, - "name": "consensusTimeout", - "nodeType": "VariableDeclaration", - "scope": 2854, - "src": "1846:24:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2843, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1846:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2846, - "name": "winnerCount", - "nodeType": "VariableDeclaration", - "scope": 2854, - "src": "1874:19:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2845, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1874:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2849, - "name": "contributors", - "nodeType": "VariableDeclaration", - "scope": 2854, - "src": "1897:22:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[] storage pointer" - }, - "typeName": { - "baseType": { - "id": 2847, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1897:7:9", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 2848, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1897:9:9", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[] storage pointer" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2851, - "name": "workerpoolOwner", - "nodeType": "VariableDeclaration", - "scope": 2854, - "src": "1923:23:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2850, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1923:7:9", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2853, - "name": "schedulerRewardRatioPolicy", - "nodeType": "VariableDeclaration", - "scope": 2854, - "src": "1950:34:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2852, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1950:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Consensus", - "nodeType": "StructDefinition", - "scope": 2893, - "src": "1711:278:9", - "visibility": "public" - }, - { - "canonicalName": "IexecLib.ContributionStatusEnum", - "id": 2860, - "members": [ - { - "id": 2855, - "name": "UNSET", - "nodeType": "EnumValue", - "src": "2420:5:9" - }, - { - "id": 2856, - "name": "AUTHORIZED", - "nodeType": "EnumValue", - "src": "2429:10:9" - }, - { - "id": 2857, - "name": "CONTRIBUTED", - "nodeType": "EnumValue", - "src": "2443:11:9" - }, - { - "id": 2858, - "name": "PROVED", - "nodeType": "EnumValue", - "src": "2458:6:9" - }, - { - "id": 2859, - "name": "REJECTED", - "nodeType": "EnumValue", - "src": "2468:8:9" - } - ], - "name": "ContributionStatusEnum", - "nodeType": "EnumDefinition", - "src": "2387:92:9" - }, - { - "canonicalName": "IexecLib.Contribution", - "id": 2873, - "members": [ - { - "constant": false, - "id": 2862, - "name": "status", - "nodeType": "VariableDeclaration", - "scope": 2873, - "src": "2506:29:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", - "typeString": "enum IexecLib.ContributionStatusEnum" - }, - "typeName": { - "contractScope": null, - "id": 2861, - "name": "ContributionStatusEnum", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2860, - "src": "2506:22:9", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", - "typeString": "enum IexecLib.ContributionStatusEnum" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2864, - "name": "resultHash", - "nodeType": "VariableDeclaration", - "scope": 2873, - "src": "2539:18:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 2863, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2539:7:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2866, - "name": "resultSign", - "nodeType": "VariableDeclaration", - "scope": 2873, - "src": "2561:18:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 2865, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2561:7:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2868, - "name": "enclaveChallenge", - "nodeType": "VariableDeclaration", - "scope": 2873, - "src": "2583:24:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2867, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2583:7:9", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2870, - "name": "score", - "nodeType": "VariableDeclaration", - "scope": 2873, - "src": "2611:13:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2869, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2611:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2872, - "name": "weight", - "nodeType": "VariableDeclaration", - "scope": 2873, - "src": "2628:14:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2871, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2628:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Contribution", - "nodeType": "StructDefinition", - "scope": 2893, - "src": "2481:165:9", - "visibility": "public" - }, - { - "canonicalName": "IexecLib.Account", - "id": 2878, - "members": [ - { - "constant": false, - "id": 2875, - "name": "stake", - "nodeType": "VariableDeclaration", - "scope": 2878, - "src": "3064:13:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2874, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3064:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2877, - "name": "locked", - "nodeType": "VariableDeclaration", - "scope": 2878, - "src": "3081:14:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2876, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3081:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Account", - "nodeType": "StructDefinition", - "scope": 2893, - "src": "3044:55:9", - "visibility": "public" - }, - { - "canonicalName": "IexecLib.ContributionHistory", - "id": 2883, - "members": [ - { - "constant": false, - "id": 2880, - "name": "success", - "nodeType": "VariableDeclaration", - "scope": 2883, - "src": "3183:15:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2879, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3183:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2882, - "name": "failed", - "nodeType": "VariableDeclaration", - "scope": 2883, - "src": "3202:14:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2881, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3202:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "ContributionHistory", - "nodeType": "StructDefinition", - "scope": 2893, - "src": "3102:118:9", - "visibility": "public" - }, - { - "canonicalName": "IexecLib.Category", - "id": 2892, - "members": [ - { - "constant": false, - "id": 2885, - "name": "catid", - "nodeType": "VariableDeclaration", - "scope": 2892, - "src": "3244:13:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2884, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3244:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2887, - "name": "name", - "nodeType": "VariableDeclaration", - "scope": 2892, - "src": "3261:12:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - }, - "typeName": { - "id": 2886, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3261:6:9", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2889, - "name": "description", - "nodeType": "VariableDeclaration", - "scope": 2892, - "src": "3277:19:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - }, - "typeName": { - "id": 2888, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3277:6:9", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2891, - "name": "workClockTimeRef", - "nodeType": "VariableDeclaration", - "scope": 2892, - "src": "3300:24:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2890, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3300:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Category", - "nodeType": "StructDefinition", - "scope": 2893, - "src": "3223:105:9", - "visibility": "public" - } - ], - "scope": 2894, - "src": "26:3305:9" - } - ], - "src": "0:3332:9" - }, - "legacyAST": { - "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/IexecLib.sol", - "exportedSymbols": { - "IexecLib": [ - 2893 - ] - }, - "id": 2894, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 2804, - "literals": [ - "solidity", - "^", - "0.4", - ".21" - ], - "nodeType": "PragmaDirective", - "src": "0:24:9" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "documentation": null, - "fullyImplemented": true, - "id": 2893, - "linearizedBaseContracts": [ - 2893 - ], - "name": "IexecLib", - "nodeType": "ContractDefinition", - "nodes": [ - { - "canonicalName": "IexecLib.MarketOrderDirectionEnum", - "id": 2809, - "members": [ - { - "id": 2805, - "name": "UNSET", - "nodeType": "EnumValue", - "src": "318:5:9" - }, - { - "id": 2806, - "name": "BID", - "nodeType": "EnumValue", - "src": "327:3:9" - }, - { - "id": 2807, - "name": "ASK", - "nodeType": "EnumValue", - "src": "334:3:9" - }, - { - "id": 2808, - "name": "CLOSED", - "nodeType": "EnumValue", - "src": "341:6:9" - } - ], - "name": "MarketOrderDirectionEnum", - "nodeType": "EnumDefinition", - "src": "283:67:9" - }, - { - "canonicalName": "IexecLib.MarketOrder", - "id": 2826, - "members": [ - { - "constant": false, - "id": 2811, - "name": "direction", - "nodeType": "VariableDeclaration", - "scope": 2826, - "src": "376:34:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2809", - "typeString": "enum IexecLib.MarketOrderDirectionEnum" - }, - "typeName": { - "contractScope": null, - "id": 2810, - "name": "MarketOrderDirectionEnum", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2809, - "src": "376:24:9", - "typeDescriptions": { - "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2809", - "typeString": "enum IexecLib.MarketOrderDirectionEnum" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2813, - "name": "category", - "nodeType": "VariableDeclaration", - "scope": 2826, - "src": "414:16:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2812, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "414:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2815, - "name": "trust", - "nodeType": "VariableDeclaration", - "scope": 2826, - "src": "462:13:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2814, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "462:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2817, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 2826, - "src": "501:13:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2816, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "501:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2819, - "name": "volume", - "nodeType": "VariableDeclaration", - "scope": 2826, - "src": "548:14:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2818, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "548:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2821, - "name": "remaining", - "nodeType": "VariableDeclaration", - "scope": 2826, - "src": "608:17:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2820, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "608:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2823, - "name": "workerpool", - "nodeType": "VariableDeclaration", - "scope": 2826, - "src": "658:18:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2822, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "658:7:9", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2825, - "name": "workerpoolOwner", - "nodeType": "VariableDeclaration", - "scope": 2826, - "src": "713:23:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2824, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "713:7:9", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "MarketOrder", - "nodeType": "StructDefinition", - "scope": 2893, - "src": "352:463:9", - "visibility": "public" - }, - { - "canonicalName": "IexecLib.WorkOrderStatusEnum", - "id": 2832, - "members": [ - { - "id": 2827, - "name": "UNSET", - "nodeType": "EnumValue", - "src": "1085:5:9" - }, - { - "id": 2828, - "name": "ACTIVE", - "nodeType": "EnumValue", - "src": "1150:6:9" - }, - { - "id": 2829, - "name": "REVEALING", - "nodeType": "EnumValue", - "src": "1203:9:9" - }, - { - "id": 2830, - "name": "CLAIMED", - "nodeType": "EnumValue", - "src": "1245:7:9" - }, - { - "id": 2831, - "name": "COMPLETED", - "nodeType": "EnumValue", - "src": "1278:9:9" - } - ], - "name": "WorkOrderStatusEnum", - "nodeType": "EnumDefinition", - "src": "1055:258:9" - }, - { - "canonicalName": "IexecLib.Consensus", - "id": 2854, - "members": [ - { - "constant": false, - "id": 2834, - "name": "poolReward", - "nodeType": "VariableDeclaration", - "scope": 2854, - "src": "1733:18:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2833, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1733:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2836, - "name": "stakeAmount", - "nodeType": "VariableDeclaration", - "scope": 2854, - "src": "1755:19:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2835, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1755:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2838, - "name": "consensus", - "nodeType": "VariableDeclaration", - "scope": 2854, - "src": "1778:17:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 2837, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1778:7:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2840, - "name": "revealDate", - "nodeType": "VariableDeclaration", - "scope": 2854, - "src": "1799:18:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2839, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1799:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2842, - "name": "revealCounter", - "nodeType": "VariableDeclaration", - "scope": 2854, - "src": "1821:21:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2841, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1821:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2844, - "name": "consensusTimeout", - "nodeType": "VariableDeclaration", - "scope": 2854, - "src": "1846:24:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2843, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1846:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2846, - "name": "winnerCount", - "nodeType": "VariableDeclaration", - "scope": 2854, - "src": "1874:19:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2845, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1874:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2849, - "name": "contributors", - "nodeType": "VariableDeclaration", - "scope": 2854, - "src": "1897:22:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[] storage pointer" - }, - "typeName": { - "baseType": { - "id": 2847, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1897:7:9", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 2848, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1897:9:9", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[] storage pointer" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2851, - "name": "workerpoolOwner", - "nodeType": "VariableDeclaration", - "scope": 2854, - "src": "1923:23:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2850, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1923:7:9", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2853, - "name": "schedulerRewardRatioPolicy", - "nodeType": "VariableDeclaration", - "scope": 2854, - "src": "1950:34:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2852, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1950:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Consensus", - "nodeType": "StructDefinition", - "scope": 2893, - "src": "1711:278:9", - "visibility": "public" - }, - { - "canonicalName": "IexecLib.ContributionStatusEnum", - "id": 2860, - "members": [ - { - "id": 2855, - "name": "UNSET", - "nodeType": "EnumValue", - "src": "2420:5:9" - }, - { - "id": 2856, - "name": "AUTHORIZED", - "nodeType": "EnumValue", - "src": "2429:10:9" - }, - { - "id": 2857, - "name": "CONTRIBUTED", - "nodeType": "EnumValue", - "src": "2443:11:9" - }, - { - "id": 2858, - "name": "PROVED", - "nodeType": "EnumValue", - "src": "2458:6:9" - }, - { - "id": 2859, - "name": "REJECTED", - "nodeType": "EnumValue", - "src": "2468:8:9" - } - ], - "name": "ContributionStatusEnum", - "nodeType": "EnumDefinition", - "src": "2387:92:9" - }, - { - "canonicalName": "IexecLib.Contribution", - "id": 2873, - "members": [ - { - "constant": false, - "id": 2862, - "name": "status", - "nodeType": "VariableDeclaration", - "scope": 2873, - "src": "2506:29:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", - "typeString": "enum IexecLib.ContributionStatusEnum" - }, - "typeName": { - "contractScope": null, - "id": 2861, - "name": "ContributionStatusEnum", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2860, - "src": "2506:22:9", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", - "typeString": "enum IexecLib.ContributionStatusEnum" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2864, - "name": "resultHash", - "nodeType": "VariableDeclaration", - "scope": 2873, - "src": "2539:18:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 2863, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2539:7:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2866, - "name": "resultSign", - "nodeType": "VariableDeclaration", - "scope": 2873, - "src": "2561:18:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 2865, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2561:7:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2868, - "name": "enclaveChallenge", - "nodeType": "VariableDeclaration", - "scope": 2873, - "src": "2583:24:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2867, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2583:7:9", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2870, - "name": "score", - "nodeType": "VariableDeclaration", - "scope": 2873, - "src": "2611:13:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2869, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2611:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2872, - "name": "weight", - "nodeType": "VariableDeclaration", - "scope": 2873, - "src": "2628:14:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2871, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2628:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Contribution", - "nodeType": "StructDefinition", - "scope": 2893, - "src": "2481:165:9", - "visibility": "public" - }, - { - "canonicalName": "IexecLib.Account", - "id": 2878, - "members": [ - { - "constant": false, - "id": 2875, - "name": "stake", - "nodeType": "VariableDeclaration", - "scope": 2878, - "src": "3064:13:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2874, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3064:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2877, - "name": "locked", - "nodeType": "VariableDeclaration", - "scope": 2878, - "src": "3081:14:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2876, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3081:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Account", - "nodeType": "StructDefinition", - "scope": 2893, - "src": "3044:55:9", - "visibility": "public" - }, - { - "canonicalName": "IexecLib.ContributionHistory", - "id": 2883, - "members": [ - { - "constant": false, - "id": 2880, - "name": "success", - "nodeType": "VariableDeclaration", - "scope": 2883, - "src": "3183:15:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2879, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3183:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2882, - "name": "failed", - "nodeType": "VariableDeclaration", - "scope": 2883, - "src": "3202:14:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2881, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3202:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "ContributionHistory", - "nodeType": "StructDefinition", - "scope": 2893, - "src": "3102:118:9", - "visibility": "public" - }, - { - "canonicalName": "IexecLib.Category", - "id": 2892, - "members": [ - { - "constant": false, - "id": 2885, - "name": "catid", - "nodeType": "VariableDeclaration", - "scope": 2892, - "src": "3244:13:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2884, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3244:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2887, - "name": "name", - "nodeType": "VariableDeclaration", - "scope": 2892, - "src": "3261:12:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - }, - "typeName": { - "id": 2886, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3261:6:9", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2889, - "name": "description", - "nodeType": "VariableDeclaration", - "scope": 2892, - "src": "3277:19:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - }, - "typeName": { - "id": 2888, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3277:6:9", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2891, - "name": "workClockTimeRef", - "nodeType": "VariableDeclaration", - "scope": 2892, - "src": "3300:24:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2890, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3300:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Category", - "nodeType": "StructDefinition", - "scope": 2893, - "src": "3223:105:9", - "visibility": "public" - } - ], - "scope": 2894, - "src": "26:3305:9" - } - ], - "src": "0:3332:9" - }, - "compiler": { - "name": "solc", - "version": "0.4.21+commit.dfe3193c.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "2.0.0", -<<<<<<< Updated upstream - "updatedAt": "2018-05-19T20:49:59.814Z" -======= - "updatedAt": "2018-05-20T20:12:33.554Z" ->>>>>>> Stashed changes -} \ No newline at end of file diff --git a/build/contracts/Marketplace.json b/build/contracts/Marketplace.json deleted file mode 100644 index 9529d8e5..00000000 --- a/build/contracts/Marketplace.json +++ /dev/null @@ -1,16701 +0,0 @@ -{ - "contractName": "Marketplace", - "abi": [ - { - "constant": true, - "inputs": [ - { - "name": "", - "type": "uint256" - } - ], - "name": "m_orderBook", - "outputs": [ - { - "name": "direction", - "type": "uint8" - }, - { - "name": "category", - "type": "uint256" - }, - { - "name": "trust", - "type": "uint256" - }, - { - "name": "value", - "type": "uint256" - }, - { - "name": "volume", - "type": "uint256" - }, - { - "name": "remaining", - "type": "uint256" - }, - { - "name": "workerpool", - "type": "address" - }, - { - "name": "workerpoolOwner", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "m_orderCount", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "ASK_STAKE_RATIO", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "name": "_iexecHubAddress", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "marketorderIdx", - "type": "uint256" - } - ], - "name": "MarketOrderCreated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "marketorderIdx", - "type": "uint256" - } - ], - "name": "MarketOrderClosed", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "marketorderIdx", - "type": "uint256" - }, - { - "indexed": false, - "name": "requester", - "type": "address" - } - ], - "name": "MarketOrderAskConsume", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "woid", - "type": "address" - }, - { - "indexed": false, - "name": "requester", - "type": "address" - }, - { - "indexed": false, - "name": "beneficiary", - "type": "address" - }, - { - "indexed": true, - "name": "callbackTo", - "type": "address" - }, - { - "indexed": true, - "name": "gasCallbackProvider", - "type": "address" - }, - { - "indexed": false, - "name": "stdout", - "type": "string" - }, - { - "indexed": false, - "name": "stderr", - "type": "string" - }, - { - "indexed": false, - "name": "uri", - "type": "string" - } - ], - "name": "WorkOrderCallbackProof", - "type": "event" - }, - { - "constant": false, - "inputs": [ - { - "name": "_direction", - "type": "uint8" - }, - { - "name": "_category", - "type": "uint256" - }, - { - "name": "_trust", - "type": "uint256" - }, - { - "name": "_value", - "type": "uint256" - }, - { - "name": "_workerpool", - "type": "address" - }, - { - "name": "_volume", - "type": "uint256" - } - ], - "name": "createMarketOrder", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_marketorderIdx", - "type": "uint256" - } - ], - "name": "closeMarketOrder", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_marketorderIdx", - "type": "uint256" - }, - { - "name": "_requester", - "type": "address" - }, - { - "name": "_workerpool", - "type": "address" - } - ], - "name": "consumeMarketOrderAsk", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_marketorderIdx", - "type": "uint256" - } - ], - "name": "existingMarketOrder", - "outputs": [ - { - "name": "marketOrderExist", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_marketorderIdx", - "type": "uint256" - } - ], - "name": "getMarketOrderValue", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_marketorderIdx", - "type": "uint256" - } - ], - "name": "getMarketOrderWorkerpoolOwner", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_marketorderIdx", - "type": "uint256" - } - ], - "name": "getMarketOrderCategory", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_marketorderIdx", - "type": "uint256" - } - ], - "name": "getMarketOrderTrust", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_marketorderIdx", - "type": "uint256" - } - ], - "name": "getMarketOrder", - "outputs": [ - { - "name": "direction", - "type": "uint8" - }, - { - "name": "category", - "type": "uint256" - }, - { - "name": "trust", - "type": "uint256" - }, - { - "name": "value", - "type": "uint256" - }, - { - "name": "volume", - "type": "uint256" - }, - { - "name": "remaining", - "type": "uint256" - }, - { - "name": "workerpool", - "type": "address" - }, - { - "name": "workerpoolOwner", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_woid", - "type": "address" - } - ], - "name": "isCallbackDone", - "outputs": [ - { - "name": "callbackDone", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_woid", - "type": "address" - }, - { - "name": "_stdout", - "type": "string" - }, - { - "name": "_stderr", - "type": "string" - }, - { - "name": "_uri", - "type": "string" - } - ], - "name": "workOrderCallback", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x6060604052341561000f57600080fd5b6040516020806112a6833981016040528080519150819050600160a060020a038116151561003c57600080fd5b60008054600160a060020a03909216600160a060020a0319909216919091179055506112398061006d6000396000f3006060604052600436106100b65763ffffffff60e060020a60003504166302a63c2881146100bb57806324026bfb146100f7578063270a8ef71461011f57806338c4090b146101355780633ab679561461014b5780634cfddcfb146101c2578063514d7067146101d857806355d66c3e146102bd57806360f75f3b146102ef57806369c7c180146103055780636b14ea361461031857806397e645f31461032b578063ea0b25901461034a578063eb3721be1461037b575b600080fd5b34156100c657600080fd5b6100e3600435600160a060020a0360243581169060443516610391565b604051901515815260200160405180910390f35b341561010257600080fd5b61010d600435610508565b60405190815260200160405180910390f35b341561012a57600080fd5b6100e3600435610535565b341561014057600080fd5b61010d60043561054b565b341561015657600080fd5b610161600435610577565b6040518089600381111561017157fe5b60ff1681526020810198909852506040808801969096526060870194909452608086019290925260a0850152600160a060020a0390811660c08501521660e083015261010090910191505180910390f35b34156101cd57600080fd5b61010d6004356105cc565b34156101e357600080fd5b6102bb60048035600160a060020a03169060446024803590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405281815292919060208401838380828437509496506105f895505050505050565b005b34156102c857600080fd5b6102d3600435610cde565b604051600160a060020a03909116815260200160405180910390f35b34156102fa57600080fd5b6100e3600435610d13565b341561031057600080fd5b61010d610e4a565b341561032357600080fd5b61010d610e50565b341561033657600080fd5b6100e3600160a060020a0360043516610e55565b341561035557600080fd5b61010d60ff60043516602435604435606435600160a060020a036084351660a435610e73565b341561038657600080fd5b6101616004356110ee565b60008054819033600160a060020a039081169116146103af57600080fd5b50600084815260026020819052604090912090815460ff1660038111156103d257fe5b146103dc57600080fd5b6005810154600090116103ee57600080fd5b6006810154600160a060020a0384811691161461040a57600080fd5b600581015461042090600163ffffffff61116d16565b60058201819055151561043957805460ff191660031781555b6000546003820154600160a060020a039091169063ac26109e90869060405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151561049857600080fd5b5af115156104a557600080fd5b5050506040518051905015156104ba57600080fd5b7fe15b7f1dd90867f2f9084033184322ae15a1572828d3d2a5a2dca5f6038332ba8585604051918252600160a060020a031660208201526040908101905180910390a1506001949350505050565b600061051382610535565b151561051e57600080fd5b506000908152600260208190526040909120015490565b6000908152600260205260408120600101541190565b600061055682610535565b151561056157600080fd5b5060009081526002602052604090206003015490565b60026020819052600091825260409091208054600182015492820154600383015460048401546005850154600686015460079096015460ff90951696959394929391929091600160a060020a03908116911688565b60006105d782610535565b15156105e257600080fd5b5060009081526002602052604090206001015490565b60008054600160a060020a03166332ca55878660405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151561064957600080fd5b5af1151561065657600080fd5b50505060405180519050151561066b57600080fd5b61067485610e55565b1561067e57600080fd5b600160a060020a0385166000908152600360205260409020805460ff19166001179055600485600160a060020a031663e329c4786040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156106e057600080fd5b5af115156106ed57600080fd5b50505060405180519050600481111561070257fe5b1461070c57600080fd5b8383836040518084805190602001908083835b6020831061073e5780518252601f19909201916020918201910161071f565b6001836020036101000a038019825116818451161790925250505091909101905083805190602001908083835b6020831061078a5780518252601f19909201916020918201910161076b565b6001836020036101000a038019825116818451161790925250505091909101905082805190602001908083835b602083106107d65780518252601f1990920191602091820191016107b7565b6001836020036101000a03801982511681845116179092525050509190910194506040935050505051908190039020600160a060020a03861663d3281fd66040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561084257600080fd5b5af1151561084f57600080fd5b505050604051805191909114905061086657600080fd5b84600160a060020a031663da1fea286040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156108a357600080fd5b5af115156108b057600080fd5b5050506040518051915050600160a060020a03811615156108d057600080fd5b80600160a060020a031663514d7067868686866040518563ffffffff1660e060020a0281526004018085600160a060020a0316600160a060020a03168152602001806020018060200180602001848103845287818151815260200191508051906020019080838360005b8381101561095257808201518382015260200161093a565b50505050905090810190601f16801561097f5780820380516001836020036101000a031916815260200191505b50848103835286818151815260200191508051906020019080838360005b838110156109b557808201518382015260200161099d565b50505050905090810190601f1680156109e25780820380516001836020036101000a031916815260200191505b50848103825285818151815260200191508051906020019080838360005b83811015610a18578082015183820152602001610a00565b50505050905090810190601f168015610a455780820380516001836020036101000a031916815260200191505b50975050505050505050602060405180830381600087803b1515610a6857600080fd5b5af11515610a7557600080fd5b505050604051805190501515610a8a57600080fd5b32600160a060020a031681600160a060020a031686600160a060020a03167ffaa5bd626c00cd99117399c04259a0d49a005fdde47f67ed013a1f473a49587088600160a060020a0316635f44910c6040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610b0657600080fd5b5af11515610b1357600080fd5b5050506040518051905089600160a060020a031663f6a5b13e6040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610b5a57600080fd5b5af11515610b6757600080fd5b50505060405180519050898989604051600160a060020a0380871682528516602082015260a0604082018181529060608301906080840190840187818151815260200191508051906020019080838360005b83811015610bd1578082015183820152602001610bb9565b50505050905090810190601f168015610bfe5780820380516001836020036101000a031916815260200191505b50848103835286818151815260200191508051906020019080838360005b83811015610c34578082015183820152602001610c1c565b50505050905090810190601f168015610c615780820380516001836020036101000a031916815260200191505b50848103825285818151815260200191508051906020019080838360005b83811015610c97578082015183820152602001610c7f565b50505050905090810190601f168015610cc45780820380516001836020036101000a031916815260200191505b509850505050505050505060405180910390a45050505050565b6000610ce982610535565b1515610cf457600080fd5b50600090815260026020526040902060070154600160a060020a031690565b6000818152600260208190526040822090815460ff166003811115610d3457fe5b14156100b657600781015433600160a060020a03908116911614610d5757600080fd5b600054600782015460058301546003840154600160a060020a039384169363b7b6e978931691610d9e91610d9290601e63ffffffff61117f16565b9063ffffffff61119416565b60405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b1515610de157600080fd5b5af11515610dee57600080fd5b505050604051805190501515610e0357600080fd5b805460ff191660031781557f9a05087bc2e92d4e31e031af3ffb9da7e4dffd4be5573811330541cc559315fe8360405190815260200160405180910390a150600192915050565b60015481565b601e81565b600160a060020a031660009081526003602052604090205460ff1690565b600080548190600160a060020a03166332baa8d98860405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b1515610ebe57600080fd5b5af11515610ecb57600080fd5b505050604051805190501515610ee057600080fd5b60008311610eed57600080fd5b60018054610f009163ffffffff6111ca16565b600181815560009182526002602052604090912080549092508991839160ff191690836003811115610f2e57fe5b0217905550600181018790556002808201879055600382018690556004820184905560058201849055886003811115610f6357fe5b14156100b65733600160a060020a031684600160a060020a031663deff41c16040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610fb057600080fd5b5af11515610fbd57600080fd5b50505060405180519050600160a060020a0316141515610fdc57600080fd5b600054600160a060020a031663ac26109e3361100386610d928a601e63ffffffff61117f16565b60405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151561104657600080fd5b5af1151561105357600080fd5b50505060405180519050151561106857600080fd5b600681018054600160a060020a0380871673ffffffffffffffffffffffffffffffffffffffff199283161790925560078301805433909316929091169190911790557fb0be9c5566c7b426b2e5378a75c24af27818f33e0b6aa5ea6208562c144c98f160015460405190815260200160405180910390a150506001549695505050505050565b60008060008060008060008060006111058a610535565b151561111057600080fd5b505050600096875250506002602081905260409095208054600182015496820154600383015460048401546005850154600686015460079096015460ff9095169b93995091975095509350600160a060020a039283169290911690565b60008282111561117957fe5b50900390565b600061118d838360646111d9565b9392505050565b6000808315156111a757600091506111c3565b508282028284828115156111b757fe5b04146111bf57fe5b8091505b5092915050565b6000828201838110156111bf57fe5b60006111ee6111e88585611194565b836111f6565b949350505050565b600080828481151561120457fe5b049493505050505600a165627a7a7230582075dcfabfde764e93018eaac638dc74dedd59ef66f96328a13c847da8170908140029", - "deployedBytecode": "0x6060604052600436106100b65763ffffffff60e060020a60003504166302a63c2881146100bb57806324026bfb146100f7578063270a8ef71461011f57806338c4090b146101355780633ab679561461014b5780634cfddcfb146101c2578063514d7067146101d857806355d66c3e146102bd57806360f75f3b146102ef57806369c7c180146103055780636b14ea361461031857806397e645f31461032b578063ea0b25901461034a578063eb3721be1461037b575b600080fd5b34156100c657600080fd5b6100e3600435600160a060020a0360243581169060443516610391565b604051901515815260200160405180910390f35b341561010257600080fd5b61010d600435610508565b60405190815260200160405180910390f35b341561012a57600080fd5b6100e3600435610535565b341561014057600080fd5b61010d60043561054b565b341561015657600080fd5b610161600435610577565b6040518089600381111561017157fe5b60ff1681526020810198909852506040808801969096526060870194909452608086019290925260a0850152600160a060020a0390811660c08501521660e083015261010090910191505180910390f35b34156101cd57600080fd5b61010d6004356105cc565b34156101e357600080fd5b6102bb60048035600160a060020a03169060446024803590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405281815292919060208401838380828437509496506105f895505050505050565b005b34156102c857600080fd5b6102d3600435610cde565b604051600160a060020a03909116815260200160405180910390f35b34156102fa57600080fd5b6100e3600435610d13565b341561031057600080fd5b61010d610e4a565b341561032357600080fd5b61010d610e50565b341561033657600080fd5b6100e3600160a060020a0360043516610e55565b341561035557600080fd5b61010d60ff60043516602435604435606435600160a060020a036084351660a435610e73565b341561038657600080fd5b6101616004356110ee565b60008054819033600160a060020a039081169116146103af57600080fd5b50600084815260026020819052604090912090815460ff1660038111156103d257fe5b146103dc57600080fd5b6005810154600090116103ee57600080fd5b6006810154600160a060020a0384811691161461040a57600080fd5b600581015461042090600163ffffffff61116d16565b60058201819055151561043957805460ff191660031781555b6000546003820154600160a060020a039091169063ac26109e90869060405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151561049857600080fd5b5af115156104a557600080fd5b5050506040518051905015156104ba57600080fd5b7fe15b7f1dd90867f2f9084033184322ae15a1572828d3d2a5a2dca5f6038332ba8585604051918252600160a060020a031660208201526040908101905180910390a1506001949350505050565b600061051382610535565b151561051e57600080fd5b506000908152600260208190526040909120015490565b6000908152600260205260408120600101541190565b600061055682610535565b151561056157600080fd5b5060009081526002602052604090206003015490565b60026020819052600091825260409091208054600182015492820154600383015460048401546005850154600686015460079096015460ff90951696959394929391929091600160a060020a03908116911688565b60006105d782610535565b15156105e257600080fd5b5060009081526002602052604090206001015490565b60008054600160a060020a03166332ca55878660405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151561064957600080fd5b5af1151561065657600080fd5b50505060405180519050151561066b57600080fd5b61067485610e55565b1561067e57600080fd5b600160a060020a0385166000908152600360205260409020805460ff19166001179055600485600160a060020a031663e329c4786040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156106e057600080fd5b5af115156106ed57600080fd5b50505060405180519050600481111561070257fe5b1461070c57600080fd5b8383836040518084805190602001908083835b6020831061073e5780518252601f19909201916020918201910161071f565b6001836020036101000a038019825116818451161790925250505091909101905083805190602001908083835b6020831061078a5780518252601f19909201916020918201910161076b565b6001836020036101000a038019825116818451161790925250505091909101905082805190602001908083835b602083106107d65780518252601f1990920191602091820191016107b7565b6001836020036101000a03801982511681845116179092525050509190910194506040935050505051908190039020600160a060020a03861663d3281fd66040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561084257600080fd5b5af1151561084f57600080fd5b505050604051805191909114905061086657600080fd5b84600160a060020a031663da1fea286040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156108a357600080fd5b5af115156108b057600080fd5b5050506040518051915050600160a060020a03811615156108d057600080fd5b80600160a060020a031663514d7067868686866040518563ffffffff1660e060020a0281526004018085600160a060020a0316600160a060020a03168152602001806020018060200180602001848103845287818151815260200191508051906020019080838360005b8381101561095257808201518382015260200161093a565b50505050905090810190601f16801561097f5780820380516001836020036101000a031916815260200191505b50848103835286818151815260200191508051906020019080838360005b838110156109b557808201518382015260200161099d565b50505050905090810190601f1680156109e25780820380516001836020036101000a031916815260200191505b50848103825285818151815260200191508051906020019080838360005b83811015610a18578082015183820152602001610a00565b50505050905090810190601f168015610a455780820380516001836020036101000a031916815260200191505b50975050505050505050602060405180830381600087803b1515610a6857600080fd5b5af11515610a7557600080fd5b505050604051805190501515610a8a57600080fd5b32600160a060020a031681600160a060020a031686600160a060020a03167ffaa5bd626c00cd99117399c04259a0d49a005fdde47f67ed013a1f473a49587088600160a060020a0316635f44910c6040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610b0657600080fd5b5af11515610b1357600080fd5b5050506040518051905089600160a060020a031663f6a5b13e6040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610b5a57600080fd5b5af11515610b6757600080fd5b50505060405180519050898989604051600160a060020a0380871682528516602082015260a0604082018181529060608301906080840190840187818151815260200191508051906020019080838360005b83811015610bd1578082015183820152602001610bb9565b50505050905090810190601f168015610bfe5780820380516001836020036101000a031916815260200191505b50848103835286818151815260200191508051906020019080838360005b83811015610c34578082015183820152602001610c1c565b50505050905090810190601f168015610c615780820380516001836020036101000a031916815260200191505b50848103825285818151815260200191508051906020019080838360005b83811015610c97578082015183820152602001610c7f565b50505050905090810190601f168015610cc45780820380516001836020036101000a031916815260200191505b509850505050505050505060405180910390a45050505050565b6000610ce982610535565b1515610cf457600080fd5b50600090815260026020526040902060070154600160a060020a031690565b6000818152600260208190526040822090815460ff166003811115610d3457fe5b14156100b657600781015433600160a060020a03908116911614610d5757600080fd5b600054600782015460058301546003840154600160a060020a039384169363b7b6e978931691610d9e91610d9290601e63ffffffff61117f16565b9063ffffffff61119416565b60405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b1515610de157600080fd5b5af11515610dee57600080fd5b505050604051805190501515610e0357600080fd5b805460ff191660031781557f9a05087bc2e92d4e31e031af3ffb9da7e4dffd4be5573811330541cc559315fe8360405190815260200160405180910390a150600192915050565b60015481565b601e81565b600160a060020a031660009081526003602052604090205460ff1690565b600080548190600160a060020a03166332baa8d98860405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b1515610ebe57600080fd5b5af11515610ecb57600080fd5b505050604051805190501515610ee057600080fd5b60008311610eed57600080fd5b60018054610f009163ffffffff6111ca16565b600181815560009182526002602052604090912080549092508991839160ff191690836003811115610f2e57fe5b0217905550600181018790556002808201879055600382018690556004820184905560058201849055886003811115610f6357fe5b14156100b65733600160a060020a031684600160a060020a031663deff41c16040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610fb057600080fd5b5af11515610fbd57600080fd5b50505060405180519050600160a060020a0316141515610fdc57600080fd5b600054600160a060020a031663ac26109e3361100386610d928a601e63ffffffff61117f16565b60405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151561104657600080fd5b5af1151561105357600080fd5b50505060405180519050151561106857600080fd5b600681018054600160a060020a0380871673ffffffffffffffffffffffffffffffffffffffff199283161790925560078301805433909316929091169190911790557fb0be9c5566c7b426b2e5378a75c24af27818f33e0b6aa5ea6208562c144c98f160015460405190815260200160405180910390a150506001549695505050505050565b60008060008060008060008060006111058a610535565b151561111057600080fd5b505050600096875250506002602081905260409095208054600182015496820154600383015460048401546005850154600686015460079096015460ff9095169b93995091975095509350600160a060020a039283169290911690565b60008282111561117957fe5b50900390565b600061118d838360646111d9565b9392505050565b6000808315156111a757600091506111c3565b508282028284828115156111b757fe5b04146111bf57fe5b8091505b5092915050565b6000828201838110156111bf57fe5b60006111ee6111e88585611194565b836111f6565b949350505050565b600080828481151561120457fe5b049493505050505600a165627a7a7230582075dcfabfde764e93018eaac638dc74dedd59ef66f96328a13c847da8170908140029", - "sourceMap": "177:6254:10:-;;;666:96;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;666:96:10;;-1:-1:-1;;;;;;300:30:7;;;;292:39;;;;;;335:17;:55;;-1:-1:-1;;;;;335:55:7;;;-1:-1:-1;;;;;;335:55:7;;;;;;;;;-1:-1:-1;177:6254:10;;;;;;", - "deployedSourceMap": "177:6254:10:-;;;;;;;;;-1:-1:-1;;;177:6254:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2660:702;;;;;;;;;;;;-1:-1:-1;;;;;2660:702:10;;;;;;;;;;;;;;;;;;;;;;;;;;;4209:211;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3365:156;;;;;;;;;;;;;;3544:211;;;;;;;;;;;;;;338:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;338:55:10;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;338:55:10;;;;;;;;;;;;;;;;;-1:-1:-1;338:55:10;;;;;;3990:217;;;;;;;;;;;;;;5678:750;;;;;;;;;;;;;-1:-1:-1;;;;;5678:750:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5678:750:10;;-1:-1:-1;5678:750:10;;-1:-1:-1;;;;;;5678:750:10;;;3757:231;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3757:231:10;;;;;;;;;;;;;;1944:679;;;;;;;;;;;;;;279:56;;;;;;;;;;;;397:45;;;;;;;;;;;;5554:120;;;;;;;;;;-1:-1:-1;;;;;5554:120:10;;;;;793:1148;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;793:1148:10;;;;;;;4422:814;;;;;;;;;;;;;;2660:702;2794:4;197:17:7;;2794:4:10;;175:10:7;-1:-1:-1;;;;;175:40:7;;;197:17;;175:40;167:49;;;;;;-1:-1:-1;2848:28:10;;;;:11;:28;;;;;;;;;2888:21;;;;:63;;;;;;;;;2880:72;;;;;;2964:21;;;;2990:1;2964:27;;2956:36;;;;;;3004:22;;;;-1:-1:-1;;;;;3004:37:10;;;:22;;:37;2996:46;;;;;;3071:21;;;;:28;;3097:1;3071:28;:25;:28;:::i;:::-;3047:21;;;:52;;;3107:26;3103:108;;;3142:64;;-1:-1:-1;;3142:64:10;3166:40;3142:64;;;3103:108;3222:17;;3265;;;;-1:-1:-1;;;;;3222:17:10;;;;:30;;3253:10;;3222:61;;-1:-1:-1;;;3222:61:10;;;;;;-1:-1:-1;;;;;3222:61:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3214:70;;;;;;;;3293:50;3315:15;3332:10;3293:50;;;;;-1:-1:-1;;;;;3293:50:10;;;;;;;;;;;;;;;;-1:-1:-1;3354:4:10;;2660:702;-1:-1:-1;;;;2660:702:10:o;4209:211::-;4284:7;4306:36;4326:15;4306:19;:36::i;:::-;4298:45;;;;;;;;-1:-1:-1;4382:28:10;;;;:11;:28;;;;;;;;:34;;;4209:211::o;3365:156::-;3441:21;3476:28;;;:11;:28;;;;;:37;;;:41;;3365:156::o;3544:211::-;3619:7;3641:36;3661:15;3641:19;:36::i;:::-;3633:45;;;;;;;;-1:-1:-1;3717:28:10;;;;:11;:28;;;;;:34;;;;3544:211::o;338:55::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;338:55:10;;;;;;:::o;3990:217::-;4068:7;4090:36;4110:15;4090:19;:36::i;:::-;4082:45;;;;;;;;-1:-1:-1;4166:28:10;;;;:11;:28;;;;;:37;;;;3990:217::o;5678:750::-;6073:18;5786:17;;-1:-1:-1;;;;;5786:17:10;:33;5820:5;5786:40;;-1:-1:-1;;;5786:40:10;;;;;;-1:-1:-1;;;;;5786:40:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5778:49;;;;;;;;5841:21;5856:5;5841:14;:21::i;:::-;5840:22;5832:31;;;;;;-1:-1:-1;;;;;5868:21:10;;;;;;:14;:21;;;;;:28;;-1:-1:-1;;5868:28:10;5892:4;5868:28;;;5940:38;5919:5;-1:-1:-1;;;;;5909:25:10;;:27;;;;;-1:-1:-1;;;5909:27:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:69;;;;;;;;;5901:78;;;;;;6046:7;6054;6062:4;6036:31;;;;;;;;;;;;;36:153:-1;66:2;58:11;;36:153;;182:3;176:10;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;377:20;365:33;;;-1:-1;;;6036:31:10;;;;;-1:-1:-1;6036:31:10;;;;;;;;;;36:153:-1;66:2;58:11;;36:153;;182:3;176:10;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;377:20;365:33;;;-1:-1;;;6036:31:10;;;;;-1:-1:-1;6036:31:10;;;;;;;;;;36:153:-1;66:2;58:11;;36:153;;182:3;176:10;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;377:20;365:33;;;-1:-1;;;6036:31:10;;;;;-1:-1:-1;6036:31:10;;-1:-1:-1;;;;6036:31:10;;;;;;;-1:-1:-1;;;;;5992:38:10;;;:40;;;;;-1:-1:-1;;;5992:40:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:75;;;;;-1:-1:-1;5984:84:10;;;;;;6103:5;-1:-1:-1;;;;;6093:27:10;;:29;;;;;-1:-1:-1;;;6093:29:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;6135:24:10;;;;6127:33;;;;;;6196:10;-1:-1:-1;;;;;6173:52:10;;6231:5;6242:7;6255;6268:4;6173:104;;;;;-1:-1:-1;;;6173:104:10;;;;;;;-1:-1:-1;;;;;6173:104:10;-1:-1:-1;;;;;6173:104:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;6173:104:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;6173:104:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;6173:104:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6165:113;;;;;;;;6392:9;-1:-1:-1;;;;;6288:135:10;6381:10;-1:-1:-1;;;;;6288:135:10;6311:5;-1:-1:-1;;;;;6288:135:10;;6327:5;-1:-1:-1;;;;;6317:28:10;;:30;;;;;-1:-1:-1;;;6317:30:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6358:5;-1:-1:-1;;;;;6348:30:10;;:32;;;;;-1:-1:-1;;;6348:32:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6402:7;6410;6418:4;6288:135;;-1:-1:-1;;;;;6288:135:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;6288:135:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;6288:135:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;6288:135:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5678:750;;;;;:::o;3757:231::-;3842:7;3864:36;3884:15;3864:19;:36::i;:::-;3856:45;;;;;;;;-1:-1:-1;3940:28:10;;;;:11;:28;;;;;:44;;;-1:-1:-1;;;;;3940:44:10;;3757:231::o;1944:679::-;2011:4;2065:28;;;:11;:28;;;;;;;;2101:21;;;;:62;;;;;;;;;2097:397;;;2180:27;;;;2211:10;-1:-1:-1;;;;;2180:41:10;;;:27;;:41;2172:50;;;;;;2235:17;;2268:27;;;;2347:21;;;;2297:17;;;;-1:-1:-1;;;;;2235:17:10;;;;:32;;2268:27;;2297:72;;:45;;440:2;2297:45;:28;:45;:::i;:::-;:49;:72;:49;:72;:::i;:::-;2235:135;;-1:-1:-1;;;2235:135:10;;;;;;-1:-1:-1;;;;;2235:135:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2227:144;;;;;;;;2497:64;;-1:-1:-1;;2497:64:10;2521:40;2497:64;;;2570:34;2588:15;2570:34;;;;;;;;;;;;;;-1:-1:-1;2615:4:10;;1944:679;-1:-1:-1;;1944:679:10:o;279:56::-;;;;:::o;397:45::-;440:2;397:45;:::o;5554:120::-;-1:-1:-1;;;;;5648:21:10;5615:17;5648:21;;;:14;:21;;;;;;;;;5554:120::o;793:1148::-;985:4;1004:17;;985:4;;-1:-1:-1;;;;;1004:17:10;:34;1039:9;1004:45;;-1:-1:-1;;;1004:45:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;996:54;;;;;;;;1071:1;1062:10;;1054:19;;;;;;1109:1;1092:12;;:19;;;:16;:19;:::i;:::-;1077:12;:34;;;1161:25;;;;:11;:25;;;;;;1190:39;;1161:25;;-1:-1:-1;1219:10:10;;1161:25;;-1:-1:-1;;1190:39:10;;1219:10;1190:39;;;;;;;;;;;;-1:-1:-1;1233:20:10;;;:38;;;1275:17;;;;:35;;;1314:17;;;:35;;;1353:18;;;:36;;;1393:21;;;:36;;;1438:10;:51;;;;;;;;;1434:440;;;1543:10;-1:-1:-1;;;;;1506:47:10;1517:11;-1:-1:-1;;;;;1506:31:10;;:33;;;;;-1:-1:-1;;;1506:33:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1506:47:10;;1498:56;;;;;;;;1568:17;;-1:-1:-1;;;;;1568:17:10;:30;1599:10;1611:47;1650:7;1611:34;:6;440:2;1611:34;:17;:34;:::i;:47::-;1568:91;;-1:-1:-1;;;1568:91:10;;;;;;-1:-1:-1;;;;;1568:91:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1560:100;;;;;;;;1727:22;;;:41;;-1:-1:-1;;;;;1727:41:10;;;-1:-1:-1;;1727:41:10;;;;;;;1773:27;;;:40;;1803:10;1773:40;;;;;;;;;;;;;1882:32;1901:12;;1882:32;;;;;;;;;;;;;;-1:-1:-1;;1925:12:10;;;793:1148;-1:-1:-1;;;;;;793:1148:10:o;4422:814::-;4496:43;4543:16;4590:13;4628;4674:14;4733:17;4782:18;4836:23;4943:40;4874:36;4894:15;4874:19;:36::i;:::-;4866:45;;;;;;;;-1:-1:-1;;;4986:28:10;;;;-1:-1:-1;;4986:11:10;:28;;;;;;;;5030:21;;;5056:20;;;5081:17;;;;5103;;;;5125:18;;;;5148:21;;;;5174:22;;;;5201:27;;;;;5030:21;;;;;5081:17;;-1:-1:-1;5103:17:10;;-1:-1:-1;5125:18:10;-1:-1:-1;5148:21:10;-1:-1:-1;;;;;;5174:22:10;;;;5201:27;;;;4422:814::o;531:106:15:-;589:7;610:6;;;;603:14;;;;-1:-1:-1;628:5:15;;;531:106::o;1388:114::-;1453:7;1474:24;1488:1;1491;1494:3;1474:13;:24::i;:::-;1467:31;1388:114;-1:-1:-1;;;1388:114:15:o;640:162::-;698:7;;716:6;;712:32;;;738:1;731:8;;;;712:32;-1:-1:-1;759:5:15;;;763:1;759;:5;775;;;;;;;;:10;768:18;;;;797:1;790:8;;640:162;;;;;;:::o;405:123::-;463:7;489:5;;;505:6;;;;498:14;;;1264:121;1343:7;1364:17;1368:9;1372:1;1375;1368:3;:9::i;:::-;1379:1;1364:3;:17::i;:::-;1357:24;1264:121;-1:-1:-1;;;;1264:121:15:o;805:257::-;863:7;949:9;965:1;961;:5;;;;;;;;;805:257;-1:-1:-1;;;;805:257:15:o", - "source": "pragma solidity ^0.4.21;\nimport './IexecLib.sol';\nimport './IexecHubAccessor.sol';\nimport './WorkerPool.sol';\nimport \"./SafeMathOZ.sol\";\nimport './IexecCallbackInterface.sol';\n\ncontract Marketplace is IexecHubAccessor\n{\n\tusing SafeMathOZ for uint256;\n\n\t/**\n\t * Marketplace\n\t */\n\tuint public m_orderCount;\n\tmapping(uint =>IexecLib.MarketOrder) public m_orderBook;\n\n\tuint256 public constant ASK_STAKE_RATIO = 30;\n\n\t/**\n\t * Events\n\t */\n\tevent MarketOrderCreated (uint marketorderIdx);\n\tevent MarketOrderClosed (uint marketorderIdx);\n\tevent MarketOrderAskConsume(uint marketorderIdx, address requester);\n\n\t/**\n\t * Constructor\n\t */\n\tfunction Marketplace(address _iexecHubAddress)\n\tIexecHubAccessor(_iexecHubAddress)\n\tpublic\n\t{\n\t}\n\n\t/**\n\t * Market orders\n\t */\n\tfunction createMarketOrder(\n\t\tIexecLib.MarketOrderDirectionEnum _direction,\n\t\tuint256 _category,\n\t\tuint256 _trust,\n\t\tuint256 _value,\n\t\taddress _workerpool,\n\t\tuint256 _volume)\n\tpublic returns (uint)\n\t{\n\t\trequire(iexecHubInterface.existingCategory(_category));\n\t\trequire(_volume >0);\n\t\tm_orderCount = m_orderCount.add(1);\n\t\tIexecLib.MarketOrder storage marketorder = m_orderBook[m_orderCount];\n\t\tmarketorder.direction = _direction;\n\t\tmarketorder.category = _category;\n\t\tmarketorder.trust = _trust;\n\t\tmarketorder.value = _value;\n\t\tmarketorder.volume = _volume;\n\t\tmarketorder.remaining = _volume;\n\n\t\tif (_direction == IexecLib.MarketOrderDirectionEnum.ASK)\n\t\t{\n\t\t\trequire(WorkerPool(_workerpool).m_owner() == msg.sender);\n\n\t\t\trequire(iexecHubInterface.lockForOrder(msg.sender, _value.percentage(ASK_STAKE_RATIO).mul(_volume))); // mul must be done after percentage to avoid rounding errors\n\t\t\tmarketorder.workerpool = _workerpool;\n\t\t\tmarketorder.workerpoolOwner = msg.sender;\n\t\t}\n\t\telse\n\t\t{\n\t\t\t// no BID implementation\n\t\t\trevert();\n\t\t}\n\t\temit MarketOrderCreated(m_orderCount);\n\t\treturn m_orderCount;\n\t}\n\n\tfunction closeMarketOrder(uint256 _marketorderIdx) public returns (bool)\n\t{\n\t\tIexecLib.MarketOrder storage marketorder = m_orderBook[_marketorderIdx];\n\t\tif (marketorder.direction == IexecLib.MarketOrderDirectionEnum.ASK)\n\t\t{\n\t\t\trequire(marketorder.workerpoolOwner == msg.sender);\n\t\t\trequire(iexecHubInterface.unlockForOrder(marketorder.workerpoolOwner, marketorder.value.percentage(ASK_STAKE_RATIO).mul(marketorder.remaining))); // mul must be done after percentage to avoid rounding errors\n\t\t}\n\t\telse\n\t\t{\n\t\t\t// no BID implementation\n\t\t\trevert();\n\t\t}\n\t\tmarketorder.direction = IexecLib.MarketOrderDirectionEnum.CLOSED;\n\t\temit MarketOrderClosed(_marketorderIdx);\n\t\treturn true;\n\t}\n\n\n\t/**\n\t * Assets consumption\n\t */\n\tfunction consumeMarketOrderAsk(\n\t\tuint256 _marketorderIdx,\n\t\taddress _requester,\n\t\taddress _workerpool)\n\tpublic onlyIexecHub returns (bool)\n\t{\n\t\tIexecLib.MarketOrder storage marketorder = m_orderBook[_marketorderIdx];\n\t\trequire(marketorder.direction == IexecLib.MarketOrderDirectionEnum.ASK);\n\t\trequire(marketorder.remaining > 0);\n\t\trequire(marketorder.workerpool == _workerpool);\n\n\t\tmarketorder.remaining = marketorder.remaining.sub(1);\n\t\tif (marketorder.remaining == 0)\n\t\t{\n\t\t\tmarketorder.direction = IexecLib.MarketOrderDirectionEnum.CLOSED;\n\t\t}\n\t\trequire(iexecHubInterface.lockForOrder(_requester, marketorder.value));\n\t\temit MarketOrderAskConsume(_marketorderIdx, _requester);\n\t\treturn true;\n\t}\n\n\tfunction existingMarketOrder(uint256 _marketorderIdx) public view returns (bool marketOrderExist)\n\t{\n\t\treturn m_orderBook[_marketorderIdx].category > 0;\n\t}\n\n\t/**\n\t * Views\n\t */\n\tfunction getMarketOrderValue(uint256 _marketorderIdx) public view returns (uint256)\n\t{\n\t\trequire(existingMarketOrder(_marketorderIdx)); // no silent value returned\n\t\treturn m_orderBook[_marketorderIdx].value;\n\t}\n\tfunction getMarketOrderWorkerpoolOwner(uint256 _marketorderIdx) public view returns (address)\n\t{\n\t\trequire(existingMarketOrder(_marketorderIdx)); // no silent value returned\n\t\treturn m_orderBook[_marketorderIdx].workerpoolOwner;\n\t}\n\tfunction getMarketOrderCategory(uint256 _marketorderIdx) public view returns (uint256)\n\t{\n\t\trequire(existingMarketOrder(_marketorderIdx)); // no silent value returned\n\t\treturn m_orderBook[_marketorderIdx].category;\n\t}\n\tfunction getMarketOrderTrust(uint256 _marketorderIdx) public view returns (uint256)\n\t{\n\t\trequire(existingMarketOrder(_marketorderIdx)); // no silent value returned\n\t\treturn m_orderBook[_marketorderIdx].trust;\n\t}\n\tfunction getMarketOrder(uint256 _marketorderIdx) public view returns\n\t(\n\t\tIexecLib.MarketOrderDirectionEnum direction,\n\t\tuint256 category, // runtime selection\n\t\tuint256 trust, // for PoCo\n\t\tuint256 value, // value/cost/price\n\t\tuint256 volume, // quantity of instances (total)\n\t\tuint256 remaining, // remaining instances\n\t\taddress workerpool, // BID can use null for any\n\t\taddress workerpoolOwner)\n\t{\n\t\trequire(existingMarketOrder(_marketorderIdx)); // no silent value returned\n\t\tIexecLib.MarketOrder storage marketorder = m_orderBook[_marketorderIdx];\n\t\treturn (\n\t\t\tmarketorder.direction,\n\t\t\tmarketorder.category,\n\t\t\tmarketorder.trust,\n\t\t\tmarketorder.value,\n\t\t\tmarketorder.volume,\n\t\t\tmarketorder.remaining,\n\t\t\tmarketorder.workerpool,\n\t\t\tmarketorder.workerpoolOwner\n\t\t);\n\t}\n\n\t/**\n\t * Callback Proof managment\n\t */\n\n\tevent WorkOrderCallbackProof(address indexed woid, address requester, address beneficiary,address indexed callbackTo, address indexed gasCallbackProvider,string stdout, string stderr , string uri);\n\n\t//mapping(workorder => bool)\n\t mapping(address => bool) m_callbackDone;\n\n\t function isCallbackDone(address _woid) public view returns (bool callbackDone)\n\t {\n\t\t return m_callbackDone[_woid];\n\t }\n\n\t function workOrderCallback(address _woid,string _stdout, string _stderr, string _uri) public\n\t {\n\t\t require(iexecHubInterface.isWoidRegistred(_woid));\n\t\t require(!isCallbackDone(_woid));\n\t\t m_callbackDone[_woid] = true;\n\t\t require(WorkOrder(_woid).m_status() == IexecLib.WorkOrderStatusEnum.COMPLETED);\n\t\t require(WorkOrder(_woid).m_resultCallbackProof() == keccak256(_stdout,_stderr,_uri));\n\t\t address callbackTo =WorkOrder(_woid).m_callback();\n\t\t require(callbackTo != address(0));\n\t\t require(IexecCallbackInterface(callbackTo).workOrderCallback(\n\t\t\t _woid,\n\t\t\t _stdout,\n\t\t\t _stderr,\n\t\t\t _uri\n\t\t ));\n\t\t emit WorkOrderCallbackProof(_woid,WorkOrder(_woid).m_requester(),WorkOrder(_woid).m_beneficiary(),callbackTo,tx.origin,_stdout,_stderr,_uri);\n\t }\n\n}\n", - "sourcePath": "/Users/fbranci/iexecdev/PoCo/contracts/Marketplace.sol", - "ast": { - "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/Marketplace.sol", - "exportedSymbols": { - "Marketplace": [ - 3513 - ] - }, - "id": 3514, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 2895, - "literals": [ - "solidity", - "^", - "0.4", - ".21" - ], - "nodeType": "PragmaDirective", - "src": "0:24:10" - }, - { - "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/IexecLib.sol", - "file": "./IexecLib.sol", - "id": 2896, - "nodeType": "ImportDirective", - "scope": 3514, - "sourceUnit": 2894, - "src": "25:24:10", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/IexecHubAccessor.sol", - "file": "./IexecHubAccessor.sol", - "id": 2897, - "nodeType": "ImportDirective", - "scope": 3514, - "sourceUnit": 2476, - "src": "50:32:10", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/WorkerPool.sol", - "file": "./WorkerPool.sol", - "id": 2898, - "nodeType": "ImportDirective", - "scope": 3514, - "sourceUnit": 6098, - "src": "83:26:10", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/SafeMathOZ.sol", - "file": "./SafeMathOZ.sol", - "id": 2899, - "nodeType": "ImportDirective", - "scope": 3514, - "sourceUnit": 3925, - "src": "110:26:10", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/IexecCallbackInterface.sol", - "file": "./IexecCallbackInterface.sol", - "id": 2900, - "nodeType": "ImportDirective", - "scope": 3514, - "sourceUnit": 725, - "src": "137:38:10", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [ - { - "arguments": [], - "baseName": { - "contractScope": null, - "id": 2901, - "name": "IexecHubAccessor", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2475, - "src": "201:16:10", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IexecHubAccessor_$2475", - "typeString": "contract IexecHubAccessor" - } - }, - "id": 2902, - "nodeType": "InheritanceSpecifier", - "src": "201:16:10" - } - ], - "contractDependencies": [ - 2475 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 3513, - "linearizedBaseContracts": [ - 3513, - 2475 - ], - "name": "Marketplace", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 2905, - "libraryName": { - "contractScope": null, - "id": 2903, - "name": "SafeMathOZ", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 3924, - "src": "227:10:10", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMathOZ_$3924", - "typeString": "library SafeMathOZ" - } - }, - "nodeType": "UsingForDirective", - "src": "221:29:10", - "typeName": { - "id": 2904, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "242:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "constant": false, - "id": 2907, - "name": "m_orderCount", - "nodeType": "VariableDeclaration", - "scope": 3513, - "src": "279:56:10", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2906, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "279:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 2911, - "name": "m_orderBook", - "nodeType": "VariableDeclaration", - "scope": 3513, - "src": "338:55:10", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MarketOrder_$2826_storage_$", - "typeString": "mapping(uint256 => struct IexecLib.MarketOrder storage ref)" - }, - "typeName": { - "id": 2910, - "keyType": { - "id": 2908, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "346:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "338:36:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MarketOrder_$2826_storage_$", - "typeString": "mapping(uint256 => struct IexecLib.MarketOrder storage ref)" - }, - "valueType": { - "contractScope": null, - "id": 2909, - "name": "IexecLib.MarketOrder", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2826, - "src": "353:20:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", - "typeString": "struct IexecLib.MarketOrder storage pointer" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": true, - "id": 2914, - "name": "ASK_STAKE_RATIO", - "nodeType": "VariableDeclaration", - "scope": 3513, - "src": "397:45:10", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2912, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "397:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "3330", - "id": 2913, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "440:2:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_30_by_1", - "typeString": "int_const 30" - }, - "value": "30" - }, - "visibility": "public" - }, - { - "anonymous": false, - "documentation": "Events", - "id": 2918, - "name": "MarketOrderCreated", - "nodeType": "EventDefinition", - "parameters": { - "id": 2917, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2916, - "indexed": false, - "name": "marketorderIdx", - "nodeType": "VariableDeclaration", - "scope": 2918, - "src": "495:19:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2915, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "495:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "494:21:10" - }, - "src": "467:49:10" - }, - { - "anonymous": false, - "documentation": null, - "id": 2922, - "name": "MarketOrderClosed", - "nodeType": "EventDefinition", - "parameters": { - "id": 2921, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2920, - "indexed": false, - "name": "marketorderIdx", - "nodeType": "VariableDeclaration", - "scope": 2922, - "src": "546:19:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2919, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "546:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "545:21:10" - }, - "src": "518:49:10" - }, - { - "anonymous": false, - "documentation": null, - "id": 2928, - "name": "MarketOrderAskConsume", - "nodeType": "EventDefinition", - "parameters": { - "id": 2927, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2924, - "indexed": false, - "name": "marketorderIdx", - "nodeType": "VariableDeclaration", - "scope": 2928, - "src": "597:19:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2923, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "597:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2926, - "indexed": false, - "name": "requester", - "nodeType": "VariableDeclaration", - "scope": 2928, - "src": "618:17:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2925, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "618:7:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "596:40:10" - }, - "src": "569:68:10" - }, - { - "body": { - "id": 2936, - "nodeType": "Block", - "src": "758:4:10", - "statements": [] - }, - "documentation": "Constructor", - "id": 2937, - "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 2933, - "name": "_iexecHubAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2930, - "src": "731:16:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "id": 2934, - "modifierName": { - "argumentTypes": null, - "id": 2932, - "name": "IexecHubAccessor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2475, - "src": "714:16:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IexecHubAccessor_$2475_$", - "typeString": "type(contract IexecHubAccessor)" - } - }, - "nodeType": "ModifierInvocation", - "src": "714:34:10" - } - ], - "name": "Marketplace", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2931, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2930, - "name": "_iexecHubAddress", - "nodeType": "VariableDeclaration", - "scope": 2937, - "src": "687:24:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2929, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "687:7:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "686:26:10" - }, - "payable": false, - "returnParameters": { - "id": 2935, - "nodeType": "ParameterList", - "parameters": [], - "src": "758:0:10" - }, - "scope": 3513, - "src": "666:96:10", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 3074, - "nodeType": "Block", - "src": "992:949:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2957, - "name": "_category", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2941, - "src": "1039:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 2955, - "name": "iexecHubInterface", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2441, - "src": "1004:17:10", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IexecHubInterface_$2802", - "typeString": "contract IexecHubInterface" - } - }, - "id": 2956, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "existingCategory", - "nodeType": "MemberAccess", - "referencedDeclaration": 2617, - "src": "1004:34:10", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view external returns (bool)" - } - }, - "id": 2958, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1004:45:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 2954, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "996:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 2959, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "996:54:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2960, - "nodeType": "ExpressionStatement", - "src": "996:54:10" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2964, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2962, - "name": "_volume", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2949, - "src": "1062:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 2963, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1071:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1062:10:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 2961, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "1054:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 2965, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1054:19:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2966, - "nodeType": "ExpressionStatement", - "src": "1054:19:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 2972, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2967, - "name": "m_orderCount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2907, - "src": "1077:12:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "31", - "id": 2970, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1109:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - } - ], - "expression": { - "argumentTypes": null, - "id": 2968, - "name": "m_orderCount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2907, - "src": "1092:12:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2969, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 3773, - "src": "1092:16:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2971, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1092:19:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1077:34:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2973, - "nodeType": "ExpressionStatement", - "src": "1077:34:10" - }, - { - "assignments": [ - 2977 - ], - "declarations": [ - { - "constant": false, - "id": 2977, - "name": "marketorder", - "nodeType": "VariableDeclaration", - "scope": 3075, - "src": "1115:40:10", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", - "typeString": "struct IexecLib.MarketOrder storage pointer" - }, - "typeName": { - "contractScope": null, - "id": 2976, - "name": "IexecLib.MarketOrder", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2826, - "src": "1115:20:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", - "typeString": "struct IexecLib.MarketOrder storage pointer" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2981, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2978, - "name": "m_orderBook", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2911, - "src": "1161:11:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MarketOrder_$2826_storage_$", - "typeString": "mapping(uint256 => struct IexecLib.MarketOrder storage ref)" - } - }, - "id": 2980, - "indexExpression": { - "argumentTypes": null, - "id": 2979, - "name": "m_orderCount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2907, - "src": "1173:12:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1161:25:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MarketOrder_$2826_storage", - "typeString": "struct IexecLib.MarketOrder storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1115:71:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 2986, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2982, - "name": "marketorder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2977, - "src": "1190:11:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", - "typeString": "struct IexecLib.MarketOrder storage pointer" - } - }, - "id": 2984, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "direction", - "nodeType": "MemberAccess", - "referencedDeclaration": 2811, - "src": "1190:21:10", - "typeDescriptions": { - "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2809", - "typeString": "enum IexecLib.MarketOrderDirectionEnum" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 2985, - "name": "_direction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2939, - "src": "1219:10:10", - "typeDescriptions": { - "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2809", - "typeString": "enum IexecLib.MarketOrderDirectionEnum" - } - }, - "src": "1190:39:10", - "typeDescriptions": { - "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2809", - "typeString": "enum IexecLib.MarketOrderDirectionEnum" - } - }, - "id": 2987, - "nodeType": "ExpressionStatement", - "src": "1190:39:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 2992, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2988, - "name": "marketorder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2977, - "src": "1233:11:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", - "typeString": "struct IexecLib.MarketOrder storage pointer" - } - }, - "id": 2990, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "category", - "nodeType": "MemberAccess", - "referencedDeclaration": 2813, - "src": "1233:20:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 2991, - "name": "_category", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2941, - "src": "1262:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1233:38:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2993, - "nodeType": "ExpressionStatement", - "src": "1233:38:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 2998, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2994, - "name": "marketorder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2977, - "src": "1275:11:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", - "typeString": "struct IexecLib.MarketOrder storage pointer" - } - }, - "id": 2996, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "trust", - "nodeType": "MemberAccess", - "referencedDeclaration": 2815, - "src": "1275:17:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 2997, - "name": "_trust", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2943, - "src": "1304:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1275:35:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2999, - "nodeType": "ExpressionStatement", - "src": "1275:35:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 3004, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3000, - "name": "marketorder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2977, - "src": "1314:11:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", - "typeString": "struct IexecLib.MarketOrder storage pointer" - } - }, - "id": 3002, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": 2817, - "src": "1314:17:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 3003, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2945, - "src": "1343:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1314:35:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3005, - "nodeType": "ExpressionStatement", - "src": "1314:35:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 3010, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3006, - "name": "marketorder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2977, - "src": "1353:11:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", - "typeString": "struct IexecLib.MarketOrder storage pointer" - } - }, - "id": 3008, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "volume", - "nodeType": "MemberAccess", - "referencedDeclaration": 2819, - "src": "1353:18:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 3009, - "name": "_volume", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2949, - "src": "1382:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1353:36:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3011, - "nodeType": "ExpressionStatement", - "src": "1353:36:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 3016, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3012, - "name": "marketorder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2977, - "src": "1393:11:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", - "typeString": "struct IexecLib.MarketOrder storage pointer" - } - }, - "id": 3014, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "remaining", - "nodeType": "MemberAccess", - "referencedDeclaration": 2821, - "src": "1393:21:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 3015, - "name": "_volume", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2949, - "src": "1422:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1393:36:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3017, - "nodeType": "ExpressionStatement", - "src": "1393:36:10" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2809", - "typeString": "enum IexecLib.MarketOrderDirectionEnum" - }, - "id": 3022, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3018, - "name": "_direction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2939, - "src": "1438:10:10", - "typeDescriptions": { - "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2809", - "typeString": "enum IexecLib.MarketOrderDirectionEnum" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3019, - "name": "IexecLib", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2893, - "src": "1452:8:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IexecLib_$2893_$", - "typeString": "type(library IexecLib)" - } - }, - "id": 3020, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "MarketOrderDirectionEnum", - "nodeType": "MemberAccess", - "referencedDeclaration": 2809, - "src": "1452:33:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_MarketOrderDirectionEnum_$2809_$", - "typeString": "type(enum IexecLib.MarketOrderDirectionEnum)" - } - }, - "id": 3021, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "ASK", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1452:37:10", - "typeDescriptions": { - "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2809", - "typeString": "enum IexecLib.MarketOrderDirectionEnum" - } - }, - "src": "1438:51:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 3066, - "nodeType": "Block", - "src": "1828:46:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 3063, - "name": "revert", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7012, - "src": "1861:6:10", - "typeDescriptions": { - "typeIdentifier": "t_function_revert_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 3064, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1861:8:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3065, - "nodeType": "ExpressionStatement", - "src": "1861:8:10" - } - ] - }, - "id": 3067, - "nodeType": "IfStatement", - "src": "1434:440:10", - "trueBody": { - "id": 3062, - "nodeType": "Block", - "src": "1493:325:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 3031, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3025, - "name": "_workerpool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2947, - "src": "1517:11:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 3024, - "name": "WorkerPool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6097, - "src": "1506:10:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_WorkerPool_$6097_$", - "typeString": "type(contract WorkerPool)" - } - }, - "id": 3026, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1506:23:10", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkerPool_$6097", - "typeString": "contract WorkerPool" - } - }, - "id": 3027, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "m_owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 3681, - "src": "1506:31:10", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", - "typeString": "function () view external returns (address)" - } - }, - "id": 3028, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1506:33:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3029, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "1543:3:10", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3030, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1543:10:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1506:47:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 3023, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "1498:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 3032, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1498:56:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3033, - "nodeType": "ExpressionStatement", - "src": "1498:56:10" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3037, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "1599:3:10", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3038, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1599:10:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3044, - "name": "_volume", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2949, - "src": "1650:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3041, - "name": "ASK_STAKE_RATIO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2914, - "src": "1629:15:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 3039, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2945, - "src": "1611:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3040, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "percentage", - "nodeType": "MemberAccess", - "referencedDeclaration": 3914, - "src": "1611:17:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3042, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1611:34:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3043, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 3826, - "src": "1611:38:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3045, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1611:47:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 3035, - "name": "iexecHubInterface", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2441, - "src": "1568:17:10", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IexecHubInterface_$2802", - "typeString": "contract IexecHubInterface" - } - }, - "id": 3036, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "lockForOrder", - "nodeType": "MemberAccess", - "referencedDeclaration": 2685, - "src": "1568:30:10", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 3046, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1568:91:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 3034, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "1560:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 3047, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1560:100:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3048, - "nodeType": "ExpressionStatement", - "src": "1560:100:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 3053, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3049, - "name": "marketorder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2977, - "src": "1727:11:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", - "typeString": "struct IexecLib.MarketOrder storage pointer" - } - }, - "id": 3051, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "workerpool", - "nodeType": "MemberAccess", - "referencedDeclaration": 2823, - "src": "1727:22:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 3052, - "name": "_workerpool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2947, - "src": "1757:11:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1727:41:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 3054, - "nodeType": "ExpressionStatement", - "src": "1727:41:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 3060, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3055, - "name": "marketorder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2977, - "src": "1773:11:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", - "typeString": "struct IexecLib.MarketOrder storage pointer" - } - }, - "id": 3057, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "workerpoolOwner", - "nodeType": "MemberAccess", - "referencedDeclaration": 2825, - "src": "1773:27:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3058, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "1803:3:10", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3059, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1803:10:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1773:40:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 3061, - "nodeType": "ExpressionStatement", - "src": "1773:40:10" - } - ] - } - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3069, - "name": "m_orderCount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2907, - "src": "1901:12:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3068, - "name": "MarketOrderCreated", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2918, - "src": "1882:18:10", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 3070, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1882:32:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3071, - "nodeType": "EmitStatement", - "src": "1877:37:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 3072, - "name": "m_orderCount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2907, - "src": "1925:12:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 2953, - "id": 3073, - "nodeType": "Return", - "src": "1918:19:10" - } - ] - }, - "documentation": "Market orders", - "id": 3075, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "createMarketOrder", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2950, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2939, - "name": "_direction", - "nodeType": "VariableDeclaration", - "scope": 3075, - "src": "823:44:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2809", - "typeString": "enum IexecLib.MarketOrderDirectionEnum" - }, - "typeName": { - "contractScope": null, - "id": 2938, - "name": "IexecLib.MarketOrderDirectionEnum", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2809, - "src": "823:33:10", - "typeDescriptions": { - "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2809", - "typeString": "enum IexecLib.MarketOrderDirectionEnum" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2941, - "name": "_category", - "nodeType": "VariableDeclaration", - "scope": 3075, - "src": "871:17:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2940, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "871:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2943, - "name": "_trust", - "nodeType": "VariableDeclaration", - "scope": 3075, - "src": "892:14:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2942, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "892:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2945, - "name": "_value", - "nodeType": "VariableDeclaration", - "scope": 3075, - "src": "910:14:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2944, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "910:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2947, - "name": "_workerpool", - "nodeType": "VariableDeclaration", - "scope": 3075, - "src": "928:19:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2946, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "928:7:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2949, - "name": "_volume", - "nodeType": "VariableDeclaration", - "scope": 3075, - "src": "951:15:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2948, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "951:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "819:148:10" - }, - "payable": false, - "returnParameters": { - "id": 2953, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2952, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 3075, - "src": "985:4:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2951, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "985:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "984:6:10" - }, - "scope": 3513, - "src": "793:1148:10", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 3141, - "nodeType": "Block", - "src": "2018:605:10", - "statements": [ - { - "assignments": [ - 3085 - ], - "declarations": [ - { - "constant": false, - "id": 3085, - "name": "marketorder", - "nodeType": "VariableDeclaration", - "scope": 3142, - "src": "2022:40:10", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", - "typeString": "struct IexecLib.MarketOrder storage pointer" - }, - "typeName": { - "contractScope": null, - "id": 3084, - "name": "IexecLib.MarketOrder", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2826, - "src": "2022:20:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", - "typeString": "struct IexecLib.MarketOrder storage pointer" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3089, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3086, - "name": "m_orderBook", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2911, - "src": "2065:11:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MarketOrder_$2826_storage_$", - "typeString": "mapping(uint256 => struct IexecLib.MarketOrder storage ref)" - } - }, - "id": 3088, - "indexExpression": { - "argumentTypes": null, - "id": 3087, - "name": "_marketorderIdx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3077, - "src": "2077:15:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2065:28:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MarketOrder_$2826_storage", - "typeString": "struct IexecLib.MarketOrder storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2022:71:10" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2809", - "typeString": "enum IexecLib.MarketOrderDirectionEnum" - }, - "id": 3095, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3090, - "name": "marketorder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3085, - "src": "2101:11:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", - "typeString": "struct IexecLib.MarketOrder storage pointer" - } - }, - "id": 3091, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "direction", - "nodeType": "MemberAccess", - "referencedDeclaration": 2811, - "src": "2101:21:10", - "typeDescriptions": { - "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2809", - "typeString": "enum IexecLib.MarketOrderDirectionEnum" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3092, - "name": "IexecLib", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2893, - "src": "2126:8:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IexecLib_$2893_$", - "typeString": "type(library IexecLib)" - } - }, - "id": 3093, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "MarketOrderDirectionEnum", - "nodeType": "MemberAccess", - "referencedDeclaration": 2809, - "src": "2126:33:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_MarketOrderDirectionEnum_$2809_$", - "typeString": "type(enum IexecLib.MarketOrderDirectionEnum)" - } - }, - "id": 3094, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "ASK", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2126:37:10", - "typeDescriptions": { - "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2809", - "typeString": "enum IexecLib.MarketOrderDirectionEnum" - } - }, - "src": "2101:62:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 3125, - "nodeType": "Block", - "src": "2448:46:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 3122, - "name": "revert", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7012, - "src": "2481:6:10", - "typeDescriptions": { - "typeIdentifier": "t_function_revert_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 3123, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2481:8:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3124, - "nodeType": "ExpressionStatement", - "src": "2481:8:10" - } - ] - }, - "id": 3126, - "nodeType": "IfStatement", - "src": "2097:397:10", - "trueBody": { - "id": 3121, - "nodeType": "Block", - "src": "2167:271:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 3101, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3097, - "name": "marketorder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3085, - "src": "2180:11:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", - "typeString": "struct IexecLib.MarketOrder storage pointer" - } - }, - "id": 3098, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "workerpoolOwner", - "nodeType": "MemberAccess", - "referencedDeclaration": 2825, - "src": "2180:27:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3099, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "2211:3:10", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3100, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2211:10:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "2180:41:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 3096, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "2172:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 3102, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2172:50:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3103, - "nodeType": "ExpressionStatement", - "src": "2172:50:10" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3107, - "name": "marketorder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3085, - "src": "2268:11:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", - "typeString": "struct IexecLib.MarketOrder storage pointer" - } - }, - "id": 3108, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "workerpoolOwner", - "nodeType": "MemberAccess", - "referencedDeclaration": 2825, - "src": "2268:27:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3115, - "name": "marketorder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3085, - "src": "2347:11:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", - "typeString": "struct IexecLib.MarketOrder storage pointer" - } - }, - "id": 3116, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "remaining", - "nodeType": "MemberAccess", - "referencedDeclaration": 2821, - "src": "2347:21:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3112, - "name": "ASK_STAKE_RATIO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2914, - "src": "2326:15:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3109, - "name": "marketorder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3085, - "src": "2297:11:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", - "typeString": "struct IexecLib.MarketOrder storage pointer" - } - }, - "id": 3110, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": 2817, - "src": "2297:17:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3111, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "percentage", - "nodeType": "MemberAccess", - "referencedDeclaration": 3914, - "src": "2297:28:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3113, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2297:45:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3114, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 3826, - "src": "2297:49:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3117, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2297:72:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 3105, - "name": "iexecHubInterface", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2441, - "src": "2235:17:10", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IexecHubInterface_$2802", - "typeString": "contract IexecHubInterface" - } - }, - "id": 3106, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "unlockForOrder", - "nodeType": "MemberAccess", - "referencedDeclaration": 2694, - "src": "2235:32:10", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 3118, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2235:135:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 3104, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "2227:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 3119, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2227:144:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3120, - "nodeType": "ExpressionStatement", - "src": "2227:144:10" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "id": 3133, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3127, - "name": "marketorder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3085, - "src": "2497:11:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", - "typeString": "struct IexecLib.MarketOrder storage pointer" - } - }, - "id": 3129, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "direction", - "nodeType": "MemberAccess", - "referencedDeclaration": 2811, - "src": "2497:21:10", - "typeDescriptions": { - "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2809", - "typeString": "enum IexecLib.MarketOrderDirectionEnum" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3130, - "name": "IexecLib", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2893, - "src": "2521:8:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IexecLib_$2893_$", - "typeString": "type(library IexecLib)" - } - }, - "id": 3131, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "MarketOrderDirectionEnum", - "nodeType": "MemberAccess", - "referencedDeclaration": 2809, - "src": "2521:33:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_MarketOrderDirectionEnum_$2809_$", - "typeString": "type(enum IexecLib.MarketOrderDirectionEnum)" - } - }, - "id": 3132, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "CLOSED", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2521:40:10", - "typeDescriptions": { - "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2809", - "typeString": "enum IexecLib.MarketOrderDirectionEnum" - } - }, - "src": "2497:64:10", - "typeDescriptions": { - "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2809", - "typeString": "enum IexecLib.MarketOrderDirectionEnum" - } - }, - "id": 3134, - "nodeType": "ExpressionStatement", - "src": "2497:64:10" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3136, - "name": "_marketorderIdx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3077, - "src": "2588:15:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3135, - "name": "MarketOrderClosed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2922, - "src": "2570:17:10", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 3137, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2570:34:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3138, - "nodeType": "EmitStatement", - "src": "2565:39:10" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 3139, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2615:4:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 3081, - "id": 3140, - "nodeType": "Return", - "src": "2608:11:10" - } - ] - }, - "documentation": null, - "id": 3142, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "closeMarketOrder", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3078, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3077, - "name": "_marketorderIdx", - "nodeType": "VariableDeclaration", - "scope": 3142, - "src": "1970:23:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3076, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1970:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1969:25:10" - }, - "payable": false, - "returnParameters": { - "id": 3081, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3080, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 3142, - "src": "2011:4:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 3079, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2011:4:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2010:6:10" - }, - "scope": 3513, - "src": "1944:679:10", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 3226, - "nodeType": "Block", - "src": "2801:561:10", - "statements": [ - { - "assignments": [ - 3158 - ], - "declarations": [ - { - "constant": false, - "id": 3158, - "name": "marketorder", - "nodeType": "VariableDeclaration", - "scope": 3227, - "src": "2805:40:10", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", - "typeString": "struct IexecLib.MarketOrder storage pointer" - }, - "typeName": { - "contractScope": null, - "id": 3157, - "name": "IexecLib.MarketOrder", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2826, - "src": "2805:20:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", - "typeString": "struct IexecLib.MarketOrder storage pointer" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3162, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3159, - "name": "m_orderBook", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2911, - "src": "2848:11:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MarketOrder_$2826_storage_$", - "typeString": "mapping(uint256 => struct IexecLib.MarketOrder storage ref)" - } - }, - "id": 3161, - "indexExpression": { - "argumentTypes": null, - "id": 3160, - "name": "_marketorderIdx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3144, - "src": "2860:15:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2848:28:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MarketOrder_$2826_storage", - "typeString": "struct IexecLib.MarketOrder storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2805:71:10" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2809", - "typeString": "enum IexecLib.MarketOrderDirectionEnum" - }, - "id": 3169, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3164, - "name": "marketorder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3158, - "src": "2888:11:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", - "typeString": "struct IexecLib.MarketOrder storage pointer" - } - }, - "id": 3165, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "direction", - "nodeType": "MemberAccess", - "referencedDeclaration": 2811, - "src": "2888:21:10", - "typeDescriptions": { - "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2809", - "typeString": "enum IexecLib.MarketOrderDirectionEnum" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3166, - "name": "IexecLib", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2893, - "src": "2914:8:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IexecLib_$2893_$", - "typeString": "type(library IexecLib)" - } - }, - "id": 3167, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "MarketOrderDirectionEnum", - "nodeType": "MemberAccess", - "referencedDeclaration": 2809, - "src": "2914:33:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_MarketOrderDirectionEnum_$2809_$", - "typeString": "type(enum IexecLib.MarketOrderDirectionEnum)" - } - }, - "id": 3168, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "ASK", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2914:37:10", - "typeDescriptions": { - "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2809", - "typeString": "enum IexecLib.MarketOrderDirectionEnum" - } - }, - "src": "2888:63:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 3163, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "2880:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 3170, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2880:72:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3171, - "nodeType": "ExpressionStatement", - "src": "2880:72:10" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3176, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3173, - "name": "marketorder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3158, - "src": "2964:11:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", - "typeString": "struct IexecLib.MarketOrder storage pointer" - } - }, - "id": 3174, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "remaining", - "nodeType": "MemberAccess", - "referencedDeclaration": 2821, - "src": "2964:21:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 3175, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2990:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "2964:27:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 3172, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "2956:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 3177, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2956:36:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3178, - "nodeType": "ExpressionStatement", - "src": "2956:36:10" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 3183, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3180, - "name": "marketorder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3158, - "src": "3004:11:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", - "typeString": "struct IexecLib.MarketOrder storage pointer" - } - }, - "id": 3181, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "workerpool", - "nodeType": "MemberAccess", - "referencedDeclaration": 2823, - "src": "3004:22:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 3182, - "name": "_workerpool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3148, - "src": "3030:11:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "3004:37:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 3179, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "2996:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 3184, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2996:46:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3185, - "nodeType": "ExpressionStatement", - "src": "2996:46:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 3194, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3186, - "name": "marketorder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3158, - "src": "3047:11:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", - "typeString": "struct IexecLib.MarketOrder storage pointer" - } - }, - "id": 3188, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "remaining", - "nodeType": "MemberAccess", - "referencedDeclaration": 2821, - "src": "3047:21:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "31", - "id": 3192, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3097:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3189, - "name": "marketorder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3158, - "src": "3071:11:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", - "typeString": "struct IexecLib.MarketOrder storage pointer" - } - }, - "id": 3190, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "remaining", - "nodeType": "MemberAccess", - "referencedDeclaration": 2821, - "src": "3071:21:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3191, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 3793, - "src": "3071:25:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3193, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3071:28:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3047:52:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3195, - "nodeType": "ExpressionStatement", - "src": "3047:52:10" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3199, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3196, - "name": "marketorder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3158, - "src": "3107:11:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", - "typeString": "struct IexecLib.MarketOrder storage pointer" - } - }, - "id": 3197, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "remaining", - "nodeType": "MemberAccess", - "referencedDeclaration": 2821, - "src": "3107:21:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 3198, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3132:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "3107:26:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 3209, - "nodeType": "IfStatement", - "src": "3103:108:10", - "trueBody": { - "id": 3208, - "nodeType": "Block", - "src": "3137:74:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 3206, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3200, - "name": "marketorder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3158, - "src": "3142:11:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", - "typeString": "struct IexecLib.MarketOrder storage pointer" - } - }, - "id": 3202, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "direction", - "nodeType": "MemberAccess", - "referencedDeclaration": 2811, - "src": "3142:21:10", - "typeDescriptions": { - "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2809", - "typeString": "enum IexecLib.MarketOrderDirectionEnum" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3203, - "name": "IexecLib", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2893, - "src": "3166:8:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IexecLib_$2893_$", - "typeString": "type(library IexecLib)" - } - }, - "id": 3204, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "MarketOrderDirectionEnum", - "nodeType": "MemberAccess", - "referencedDeclaration": 2809, - "src": "3166:33:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_MarketOrderDirectionEnum_$2809_$", - "typeString": "type(enum IexecLib.MarketOrderDirectionEnum)" - } - }, - "id": 3205, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "CLOSED", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3166:40:10", - "typeDescriptions": { - "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2809", - "typeString": "enum IexecLib.MarketOrderDirectionEnum" - } - }, - "src": "3142:64:10", - "typeDescriptions": { - "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2809", - "typeString": "enum IexecLib.MarketOrderDirectionEnum" - } - }, - "id": 3207, - "nodeType": "ExpressionStatement", - "src": "3142:64:10" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3213, - "name": "_requester", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3146, - "src": "3253:10:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3214, - "name": "marketorder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3158, - "src": "3265:11:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", - "typeString": "struct IexecLib.MarketOrder storage pointer" - } - }, - "id": 3215, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": 2817, - "src": "3265:17:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 3211, - "name": "iexecHubInterface", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2441, - "src": "3222:17:10", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IexecHubInterface_$2802", - "typeString": "contract IexecHubInterface" - } - }, - "id": 3212, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "lockForOrder", - "nodeType": "MemberAccess", - "referencedDeclaration": 2685, - "src": "3222:30:10", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 3216, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3222:61:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 3210, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "3214:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 3217, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3214:70:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3218, - "nodeType": "ExpressionStatement", - "src": "3214:70:10" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3220, - "name": "_marketorderIdx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3144, - "src": "3315:15:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 3221, - "name": "_requester", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3146, - "src": "3332:10:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 3219, - "name": "MarketOrderAskConsume", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2928, - "src": "3293:21:10", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (uint256,address)" - } - }, - "id": 3222, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3293:50:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3223, - "nodeType": "EmitStatement", - "src": "3288:55:10" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 3224, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3354:4:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 3154, - "id": 3225, - "nodeType": "Return", - "src": "3347:11:10" - } - ] - }, - "documentation": "Assets consumption", - "id": 3227, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [], - "id": 3151, - "modifierName": { - "argumentTypes": null, - "id": 3150, - "name": "onlyIexecHub", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2454, - "src": "2772:12:10", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "2772:12:10" - } - ], - "name": "consumeMarketOrderAsk", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3149, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3144, - "name": "_marketorderIdx", - "nodeType": "VariableDeclaration", - "scope": 3227, - "src": "2694:23:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3143, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2694:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3146, - "name": "_requester", - "nodeType": "VariableDeclaration", - "scope": 3227, - "src": "2721:18:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3145, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2721:7:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3148, - "name": "_workerpool", - "nodeType": "VariableDeclaration", - "scope": 3227, - "src": "2743:19:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3147, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2743:7:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2690:73:10" - }, - "payable": false, - "returnParameters": { - "id": 3154, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3153, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 3227, - "src": "2794:4:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 3152, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2794:4:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2793:6:10" - }, - "scope": 3513, - "src": "2660:702:10", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 3241, - "nodeType": "Block", - "src": "3465:56:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3239, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3234, - "name": "m_orderBook", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2911, - "src": "3476:11:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MarketOrder_$2826_storage_$", - "typeString": "mapping(uint256 => struct IexecLib.MarketOrder storage ref)" - } - }, - "id": 3236, - "indexExpression": { - "argumentTypes": null, - "id": 3235, - "name": "_marketorderIdx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3229, - "src": "3488:15:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3476:28:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MarketOrder_$2826_storage", - "typeString": "struct IexecLib.MarketOrder storage ref" - } - }, - "id": 3237, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "category", - "nodeType": "MemberAccess", - "referencedDeclaration": 2813, - "src": "3476:37:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 3238, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3516:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "3476:41:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 3233, - "id": 3240, - "nodeType": "Return", - "src": "3469:48:10" - } - ] - }, - "documentation": null, - "id": 3242, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "existingMarketOrder", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3230, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3229, - "name": "_marketorderIdx", - "nodeType": "VariableDeclaration", - "scope": 3242, - "src": "3394:23:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3228, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3394:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3393:25:10" - }, - "payable": false, - "returnParameters": { - "id": 3233, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3232, - "name": "marketOrderExist", - "nodeType": "VariableDeclaration", - "scope": 3242, - "src": "3441:21:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 3231, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3441:4:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3440:23:10" - }, - "scope": 3513, - "src": "3365:156:10", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 3260, - "nodeType": "Block", - "src": "3629:126:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3251, - "name": "_marketorderIdx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3244, - "src": "3661:15:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3250, - "name": "existingMarketOrder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3242, - "src": "3641:19:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 3252, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3641:36:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 3249, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "3633:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 3253, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3633:45:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3254, - "nodeType": "ExpressionStatement", - "src": "3633:45:10" - }, - { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3255, - "name": "m_orderBook", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2911, - "src": "3717:11:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MarketOrder_$2826_storage_$", - "typeString": "mapping(uint256 => struct IexecLib.MarketOrder storage ref)" - } - }, - "id": 3257, - "indexExpression": { - "argumentTypes": null, - "id": 3256, - "name": "_marketorderIdx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3244, - "src": "3729:15:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3717:28:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MarketOrder_$2826_storage", - "typeString": "struct IexecLib.MarketOrder storage ref" - } - }, - "id": 3258, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": 2817, - "src": "3717:34:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 3248, - "id": 3259, - "nodeType": "Return", - "src": "3710:41:10" - } - ] - }, - "documentation": "Views", - "id": 3261, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getMarketOrderValue", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3245, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3244, - "name": "_marketorderIdx", - "nodeType": "VariableDeclaration", - "scope": 3261, - "src": "3573:23:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3243, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3573:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3572:25:10" - }, - "payable": false, - "returnParameters": { - "id": 3248, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3247, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 3261, - "src": "3619:7:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3246, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3619:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3618:9:10" - }, - "scope": 3513, - "src": "3544:211:10", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 3279, - "nodeType": "Block", - "src": "3852:136:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3270, - "name": "_marketorderIdx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3263, - "src": "3884:15:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3269, - "name": "existingMarketOrder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3242, - "src": "3864:19:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 3271, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3864:36:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 3268, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "3856:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 3272, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3856:45:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3273, - "nodeType": "ExpressionStatement", - "src": "3856:45:10" - }, - { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3274, - "name": "m_orderBook", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2911, - "src": "3940:11:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MarketOrder_$2826_storage_$", - "typeString": "mapping(uint256 => struct IexecLib.MarketOrder storage ref)" - } - }, - "id": 3276, - "indexExpression": { - "argumentTypes": null, - "id": 3275, - "name": "_marketorderIdx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3263, - "src": "3952:15:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3940:28:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MarketOrder_$2826_storage", - "typeString": "struct IexecLib.MarketOrder storage ref" - } - }, - "id": 3277, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "workerpoolOwner", - "nodeType": "MemberAccess", - "referencedDeclaration": 2825, - "src": "3940:44:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 3267, - "id": 3278, - "nodeType": "Return", - "src": "3933:51:10" - } - ] - }, - "documentation": null, - "id": 3280, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getMarketOrderWorkerpoolOwner", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3264, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3263, - "name": "_marketorderIdx", - "nodeType": "VariableDeclaration", - "scope": 3280, - "src": "3796:23:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3262, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3796:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3795:25:10" - }, - "payable": false, - "returnParameters": { - "id": 3267, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3266, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 3280, - "src": "3842:7:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3265, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3842:7:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3841:9:10" - }, - "scope": 3513, - "src": "3757:231:10", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 3298, - "nodeType": "Block", - "src": "4078:129:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3289, - "name": "_marketorderIdx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3282, - "src": "4110:15:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3288, - "name": "existingMarketOrder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3242, - "src": "4090:19:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 3290, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4090:36:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 3287, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "4082:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 3291, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4082:45:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3292, - "nodeType": "ExpressionStatement", - "src": "4082:45:10" - }, - { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3293, - "name": "m_orderBook", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2911, - "src": "4166:11:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MarketOrder_$2826_storage_$", - "typeString": "mapping(uint256 => struct IexecLib.MarketOrder storage ref)" - } - }, - "id": 3295, - "indexExpression": { - "argumentTypes": null, - "id": 3294, - "name": "_marketorderIdx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3282, - "src": "4178:15:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4166:28:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MarketOrder_$2826_storage", - "typeString": "struct IexecLib.MarketOrder storage ref" - } - }, - "id": 3296, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "category", - "nodeType": "MemberAccess", - "referencedDeclaration": 2813, - "src": "4166:37:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 3286, - "id": 3297, - "nodeType": "Return", - "src": "4159:44:10" - } - ] - }, - "documentation": null, - "id": 3299, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getMarketOrderCategory", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3283, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3282, - "name": "_marketorderIdx", - "nodeType": "VariableDeclaration", - "scope": 3299, - "src": "4022:23:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3281, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4022:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4021:25:10" - }, - "payable": false, - "returnParameters": { - "id": 3286, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3285, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 3299, - "src": "4068:7:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3284, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4068:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4067:9:10" - }, - "scope": 3513, - "src": "3990:217:10", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 3317, - "nodeType": "Block", - "src": "4294:126:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3308, - "name": "_marketorderIdx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3301, - "src": "4326:15:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3307, - "name": "existingMarketOrder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3242, - "src": "4306:19:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 3309, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4306:36:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 3306, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "4298:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 3310, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4298:45:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3311, - "nodeType": "ExpressionStatement", - "src": "4298:45:10" - }, - { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3312, - "name": "m_orderBook", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2911, - "src": "4382:11:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MarketOrder_$2826_storage_$", - "typeString": "mapping(uint256 => struct IexecLib.MarketOrder storage ref)" - } - }, - "id": 3314, - "indexExpression": { - "argumentTypes": null, - "id": 3313, - "name": "_marketorderIdx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3301, - "src": "4394:15:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4382:28:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MarketOrder_$2826_storage", - "typeString": "struct IexecLib.MarketOrder storage ref" - } - }, - "id": 3315, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "trust", - "nodeType": "MemberAccess", - "referencedDeclaration": 2815, - "src": "4382:34:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 3305, - "id": 3316, - "nodeType": "Return", - "src": "4375:41:10" - } - ] - }, - "documentation": null, - "id": 3318, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getMarketOrderTrust", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3302, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3301, - "name": "_marketorderIdx", - "nodeType": "VariableDeclaration", - "scope": 3318, - "src": "4238:23:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3300, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4238:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4237:25:10" - }, - "payable": false, - "returnParameters": { - "id": 3305, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3304, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 3318, - "src": "4284:7:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3303, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4284:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4283:9:10" - }, - "scope": 3513, - "src": "4209:211:10", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 3371, - "nodeType": "Block", - "src": "4862:374:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3341, - "name": "_marketorderIdx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3320, - "src": "4894:15:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3340, - "name": "existingMarketOrder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3242, - "src": "4874:19:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 3342, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4874:36:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 3339, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "4866:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 3343, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4866:45:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3344, - "nodeType": "ExpressionStatement", - "src": "4866:45:10" - }, - { - "assignments": [ - 3348 - ], - "declarations": [ - { - "constant": false, - "id": 3348, - "name": "marketorder", - "nodeType": "VariableDeclaration", - "scope": 3372, - "src": "4943:40:10", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", - "typeString": "struct IexecLib.MarketOrder storage pointer" - }, - "typeName": { - "contractScope": null, - "id": 3347, - "name": "IexecLib.MarketOrder", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2826, - "src": "4943:20:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", - "typeString": "struct IexecLib.MarketOrder storage pointer" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3352, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3349, - "name": "m_orderBook", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2911, - "src": "4986:11:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MarketOrder_$2826_storage_$", - "typeString": "mapping(uint256 => struct IexecLib.MarketOrder storage ref)" - } - }, - "id": 3351, - "indexExpression": { - "argumentTypes": null, - "id": 3350, - "name": "_marketorderIdx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3320, - "src": "4998:15:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4986:28:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MarketOrder_$2826_storage", - "typeString": "struct IexecLib.MarketOrder storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4943:71:10" - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3353, - "name": "marketorder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3348, - "src": "5030:11:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", - "typeString": "struct IexecLib.MarketOrder storage pointer" - } - }, - "id": 3354, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "direction", - "nodeType": "MemberAccess", - "referencedDeclaration": 2811, - "src": "5030:21:10", - "typeDescriptions": { - "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2809", - "typeString": "enum IexecLib.MarketOrderDirectionEnum" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3355, - "name": "marketorder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3348, - "src": "5056:11:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", - "typeString": "struct IexecLib.MarketOrder storage pointer" - } - }, - "id": 3356, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "category", - "nodeType": "MemberAccess", - "referencedDeclaration": 2813, - "src": "5056:20:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3357, - "name": "marketorder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3348, - "src": "5081:11:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", - "typeString": "struct IexecLib.MarketOrder storage pointer" - } - }, - "id": 3358, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "trust", - "nodeType": "MemberAccess", - "referencedDeclaration": 2815, - "src": "5081:17:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3359, - "name": "marketorder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3348, - "src": "5103:11:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", - "typeString": "struct IexecLib.MarketOrder storage pointer" - } - }, - "id": 3360, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": 2817, - "src": "5103:17:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3361, - "name": "marketorder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3348, - "src": "5125:11:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", - "typeString": "struct IexecLib.MarketOrder storage pointer" - } - }, - "id": 3362, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "volume", - "nodeType": "MemberAccess", - "referencedDeclaration": 2819, - "src": "5125:18:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3363, - "name": "marketorder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3348, - "src": "5148:11:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", - "typeString": "struct IexecLib.MarketOrder storage pointer" - } - }, - "id": 3364, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "remaining", - "nodeType": "MemberAccess", - "referencedDeclaration": 2821, - "src": "5148:21:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3365, - "name": "marketorder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3348, - "src": "5174:11:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", - "typeString": "struct IexecLib.MarketOrder storage pointer" - } - }, - "id": 3366, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "workerpool", - "nodeType": "MemberAccess", - "referencedDeclaration": 2823, - "src": "5174:22:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3367, - "name": "marketorder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3348, - "src": "5201:11:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", - "typeString": "struct IexecLib.MarketOrder storage pointer" - } - }, - "id": 3368, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "workerpoolOwner", - "nodeType": "MemberAccess", - "referencedDeclaration": 2825, - "src": "5201:27:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "id": 3369, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "5025:207:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MarketOrderDirectionEnum_$2809_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$_t_address_$", - "typeString": "tuple(enum IexecLib.MarketOrderDirectionEnum,uint256,uint256,uint256,uint256,uint256,address,address)" - } - }, - "functionReturnParameters": 3338, - "id": 3370, - "nodeType": "Return", - "src": "5018:214:10" - } - ] - }, - "documentation": null, - "id": 3372, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getMarketOrder", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3321, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3320, - "name": "_marketorderIdx", - "nodeType": "VariableDeclaration", - "scope": 3372, - "src": "4446:23:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3319, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4446:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4445:25:10" - }, - "payable": false, - "returnParameters": { - "id": 3338, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3323, - "name": "direction", - "nodeType": "VariableDeclaration", - "scope": 3372, - "src": "4496:43:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2809", - "typeString": "enum IexecLib.MarketOrderDirectionEnum" - }, - "typeName": { - "contractScope": null, - "id": 3322, - "name": "IexecLib.MarketOrderDirectionEnum", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2809, - "src": "4496:33:10", - "typeDescriptions": { - "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2809", - "typeString": "enum IexecLib.MarketOrderDirectionEnum" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3325, - "name": "category", - "nodeType": "VariableDeclaration", - "scope": 3372, - "src": "4543:16:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3324, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4543:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3327, - "name": "trust", - "nodeType": "VariableDeclaration", - "scope": 3372, - "src": "4590:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3326, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4590:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3329, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 3372, - "src": "4628:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3328, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4628:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3331, - "name": "volume", - "nodeType": "VariableDeclaration", - "scope": 3372, - "src": "4674:14:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3330, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4674:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3333, - "name": "remaining", - "nodeType": "VariableDeclaration", - "scope": 3372, - "src": "4733:17:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3332, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4733:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3335, - "name": "workerpool", - "nodeType": "VariableDeclaration", - "scope": 3372, - "src": "4782:18:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3334, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4782:7:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3337, - "name": "workerpoolOwner", - "nodeType": "VariableDeclaration", - "scope": 3372, - "src": "4836:23:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3336, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4836:7:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4492:368:10" - }, - "scope": 3513, - "src": "4422:814:10", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "anonymous": false, - "documentation": "Callback Proof managment", - "id": 3390, - "name": "WorkOrderCallbackProof", - "nodeType": "EventDefinition", - "parameters": { - "id": 3389, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3374, - "indexed": true, - "name": "woid", - "nodeType": "VariableDeclaration", - "scope": 3390, - "src": "5308:20:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3373, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5308:7:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3376, - "indexed": false, - "name": "requester", - "nodeType": "VariableDeclaration", - "scope": 3390, - "src": "5330:17:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3375, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5330:7:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3378, - "indexed": false, - "name": "beneficiary", - "nodeType": "VariableDeclaration", - "scope": 3390, - "src": "5349:19:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3377, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5349:7:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3380, - "indexed": true, - "name": "callbackTo", - "nodeType": "VariableDeclaration", - "scope": 3390, - "src": "5369:26:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3379, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5369:7:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3382, - "indexed": true, - "name": "gasCallbackProvider", - "nodeType": "VariableDeclaration", - "scope": 3390, - "src": "5397:35:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3381, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5397:7:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3384, - "indexed": false, - "name": "stdout", - "nodeType": "VariableDeclaration", - "scope": 3390, - "src": "5433:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - "typeName": { - "id": 3383, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "5433:6:10", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3386, - "indexed": false, - "name": "stderr", - "nodeType": "VariableDeclaration", - "scope": 3390, - "src": "5448:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - "typeName": { - "id": 3385, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "5448:6:10", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3388, - "indexed": false, - "name": "uri", - "nodeType": "VariableDeclaration", - "scope": 3390, - "src": "5464:10:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - "typeName": { - "id": 3387, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "5464:6:10", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5307:168:10" - }, - "src": "5279:197:10" - }, - { - "constant": false, - "id": 3394, - "name": "m_callbackDone", - "nodeType": "VariableDeclaration", - "scope": 3513, - "src": "5510:39:10", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - }, - "typeName": { - "id": 3393, - "keyType": { - "id": 3391, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5518:7:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "5510:24:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - }, - "valueType": { - "id": 3392, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5529:4:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "body": { - "id": 3405, - "nodeType": "Block", - "src": "5636:38:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3401, - "name": "m_callbackDone", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3394, - "src": "5648:14:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 3403, - "indexExpression": { - "argumentTypes": null, - "id": 3402, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3396, - "src": "5663:5:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5648:21:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 3400, - "id": 3404, - "nodeType": "Return", - "src": "5641:28:10" - } - ] - }, - "documentation": null, - "id": 3406, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "isCallbackDone", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3397, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3396, - "name": "_woid", - "nodeType": "VariableDeclaration", - "scope": 3406, - "src": "5578:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3395, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5578:7:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5577:15:10" - }, - "payable": false, - "returnParameters": { - "id": 3400, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3399, - "name": "callbackDone", - "nodeType": "VariableDeclaration", - "scope": 3406, - "src": "5615:17:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 3398, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5615:4:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5614:19:10" - }, - "scope": 3513, - "src": "5554:120:10", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 3511, - "nodeType": "Block", - "src": "5773:655:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3420, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3408, - "src": "5820:5:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 3418, - "name": "iexecHubInterface", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2441, - "src": "5786:17:10", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IexecHubInterface_$2802", - "typeString": "contract IexecHubInterface" - } - }, - "id": 3419, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "isWoidRegistred", - "nodeType": "MemberAccess", - "referencedDeclaration": 2570, - "src": "5786:33:10", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view external returns (bool)" - } - }, - "id": 3421, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5786:40:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 3417, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "5778:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 3422, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5778:49:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3423, - "nodeType": "ExpressionStatement", - "src": "5778:49:10" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3428, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "5840:22:10", - "subExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3426, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3408, - "src": "5856:5:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 3425, - "name": "isCallbackDone", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3406, - "src": "5841:14:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 3427, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5841:21:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 3424, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "5832:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 3429, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5832:31:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3430, - "nodeType": "ExpressionStatement", - "src": "5832:31:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 3435, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3431, - "name": "m_callbackDone", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3394, - "src": "5868:14:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 3433, - "indexExpression": { - "argumentTypes": null, - "id": 3432, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3408, - "src": "5883:5:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5868:21:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 3434, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5892:4:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "5868:28:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3436, - "nodeType": "ExpressionStatement", - "src": "5868:28:10" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", - "typeString": "enum IexecLib.WorkOrderStatusEnum" - }, - "id": 3446, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3439, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3408, - "src": "5919:5:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 3438, - "name": "WorkOrder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4299, - "src": "5909:9:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_WorkOrder_$4299_$", - "typeString": "type(contract WorkOrder)" - } - }, - "id": 3440, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5909:16:10", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkOrder_$4299", - "typeString": "contract WorkOrder" - } - }, - "id": 3441, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "m_status", - "nodeType": "MemberAccess", - "referencedDeclaration": 4040, - "src": "5909:25:10", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_enum$_WorkOrderStatusEnum_$2832_$", - "typeString": "function () view external returns (enum IexecLib.WorkOrderStatusEnum)" - } - }, - "id": 3442, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5909:27:10", - "typeDescriptions": { - "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", - "typeString": "enum IexecLib.WorkOrderStatusEnum" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3443, - "name": "IexecLib", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2893, - "src": "5940:8:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IexecLib_$2893_$", - "typeString": "type(library IexecLib)" - } - }, - "id": 3444, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "WorkOrderStatusEnum", - "nodeType": "MemberAccess", - "referencedDeclaration": 2832, - "src": "5940:28:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_WorkOrderStatusEnum_$2832_$", - "typeString": "type(enum IexecLib.WorkOrderStatusEnum)" - } - }, - "id": 3445, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "COMPLETED", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5940:38:10", - "typeDescriptions": { - "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", - "typeString": "enum IexecLib.WorkOrderStatusEnum" - } - }, - "src": "5909:69:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 3437, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "5901:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 3447, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5901:78:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3448, - "nodeType": "ExpressionStatement", - "src": "5901:78:10" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "id": 3460, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3451, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3408, - "src": "6002:5:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 3450, - "name": "WorkOrder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4299, - "src": "5992:9:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_WorkOrder_$4299_$", - "typeString": "type(contract WorkOrder)" - } - }, - "id": 3452, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5992:16:10", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkOrder_$4299", - "typeString": "contract WorkOrder" - } - }, - "id": 3453, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "m_resultCallbackProof", - "nodeType": "MemberAccess", - "referencedDeclaration": 4060, - "src": "5992:38:10", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 3454, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5992:40:10", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3456, - "name": "_stdout", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3410, - "src": "6046:7:10", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 3457, - "name": "_stderr", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3412, - "src": "6054:7:10", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 3458, - "name": "_uri", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3414, - "src": "6062:4:10", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 3455, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7002, - "src": "6036:9:10", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 3459, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6036:31:10", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "5992:75:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 3449, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "5984:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 3461, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5984:84:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3462, - "nodeType": "ExpressionStatement", - "src": "5984:84:10" - }, - { - "assignments": [ - 3464 - ], - "declarations": [ - { - "constant": false, - "id": 3464, - "name": "callbackTo", - "nodeType": "VariableDeclaration", - "scope": 3512, - "src": "6073:18:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3463, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6073:7:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3470, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3466, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3408, - "src": "6103:5:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 3465, - "name": "WorkOrder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4299, - "src": "6093:9:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_WorkOrder_$4299_$", - "typeString": "type(contract WorkOrder)" - } - }, - "id": 3467, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6093:16:10", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkOrder_$4299", - "typeString": "contract WorkOrder" - } - }, - "id": 3468, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "m_callback", - "nodeType": "MemberAccess", - "referencedDeclaration": 4056, - "src": "6093:27:10", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", - "typeString": "function () view external returns (address)" - } - }, - "id": 3469, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6093:29:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6073:49:10" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 3476, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3472, - "name": "callbackTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3464, - "src": "6135:10:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 3474, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6157:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 3473, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6149:7:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 3475, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6149:10:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "6135:24:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 3471, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "6127:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 3477, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6127:33:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3478, - "nodeType": "ExpressionStatement", - "src": "6127:33:10" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3484, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3408, - "src": "6231:5:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 3485, - "name": "_stdout", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3410, - "src": "6242:7:10", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 3486, - "name": "_stderr", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3412, - "src": "6255:7:10", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 3487, - "name": "_uri", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3414, - "src": "6268:4:10", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3481, - "name": "callbackTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3464, - "src": "6196:10:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 3480, - "name": "IexecCallbackInterface", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 724, - "src": "6173:22:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IexecCallbackInterface_$724_$", - "typeString": "type(contract IexecCallbackInterface)" - } - }, - "id": 3482, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6173:34:10", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IexecCallbackInterface_$724", - "typeString": "contract IexecCallbackInterface" - } - }, - "id": 3483, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "workOrderCallback", - "nodeType": "MemberAccess", - "referencedDeclaration": 713, - "src": "6173:52:10", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$", - "typeString": "function (address,string memory,string memory,string memory) external returns (bool)" - } - }, - "id": 3488, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6173:104:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 3479, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "6165:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 3489, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6165:113:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3490, - "nodeType": "ExpressionStatement", - "src": "6165:113:10" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3492, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3408, - "src": "6311:5:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3494, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3408, - "src": "6327:5:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 3493, - "name": "WorkOrder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4299, - "src": "6317:9:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_WorkOrder_$4299_$", - "typeString": "type(contract WorkOrder)" - } - }, - "id": 3495, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6317:16:10", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkOrder_$4299", - "typeString": "contract WorkOrder" - } - }, - "id": 3496, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "m_requester", - "nodeType": "MemberAccess", - "referencedDeclaration": 4050, - "src": "6317:28:10", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", - "typeString": "function () view external returns (address)" - } - }, - "id": 3497, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6317:30:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3499, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3408, - "src": "6358:5:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 3498, - "name": "WorkOrder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4299, - "src": "6348:9:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_WorkOrder_$4299_$", - "typeString": "type(contract WorkOrder)" - } - }, - "id": 3500, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6348:16:10", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkOrder_$4299", - "typeString": "contract WorkOrder" - } - }, - "id": 3501, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "m_beneficiary", - "nodeType": "MemberAccess", - "referencedDeclaration": 4058, - "src": "6348:30:10", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", - "typeString": "function () view external returns (address)" - } - }, - "id": 3502, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6348:32:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 3503, - "name": "callbackTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3464, - "src": "6381:10:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3504, - "name": "tx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7018, - "src": "6392:2:10", - "typeDescriptions": { - "typeIdentifier": "t_magic_transaction", - "typeString": "tx" - } - }, - "id": 3505, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "origin", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6392:9:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 3506, - "name": "_stdout", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3410, - "src": "6402:7:10", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 3507, - "name": "_stderr", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3412, - "src": "6410:7:10", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 3508, - "name": "_uri", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3414, - "src": "6418:4:10", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 3491, - "name": "WorkOrderCallbackProof", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3390, - "src": "6288:22:10", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_address_$_t_address_$_t_address_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (address,address,address,address,address,string memory,string memory,string memory)" - } - }, - "id": 3509, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6288:135:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3510, - "nodeType": "EmitStatement", - "src": "6283:140:10" - } - ] - }, - "documentation": null, - "id": 3512, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "workOrderCallback", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3415, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3408, - "name": "_woid", - "nodeType": "VariableDeclaration", - "scope": 3512, - "src": "5705:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3407, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5705:7:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3410, - "name": "_stdout", - "nodeType": "VariableDeclaration", - "scope": 3512, - "src": "5719:14:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - "typeName": { - "id": 3409, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "5719:6:10", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3412, - "name": "_stderr", - "nodeType": "VariableDeclaration", - "scope": 3512, - "src": "5735:14:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - "typeName": { - "id": 3411, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "5735:6:10", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3414, - "name": "_uri", - "nodeType": "VariableDeclaration", - "scope": 3512, - "src": "5751:11:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - "typeName": { - "id": 3413, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "5751:6:10", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5704:59:10" - }, - "payable": false, - "returnParameters": { - "id": 3416, - "nodeType": "ParameterList", - "parameters": [], - "src": "5773:0:10" - }, - "scope": 3513, - "src": "5678:750:10", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 3514, - "src": "177:6254:10" - } - ], - "src": "0:6432:10" - }, - "legacyAST": { - "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/Marketplace.sol", - "exportedSymbols": { - "Marketplace": [ - 3513 - ] - }, - "id": 3514, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 2895, - "literals": [ - "solidity", - "^", - "0.4", - ".21" - ], - "nodeType": "PragmaDirective", - "src": "0:24:10" - }, - { - "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/IexecLib.sol", - "file": "./IexecLib.sol", - "id": 2896, - "nodeType": "ImportDirective", - "scope": 3514, - "sourceUnit": 2894, - "src": "25:24:10", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/IexecHubAccessor.sol", - "file": "./IexecHubAccessor.sol", - "id": 2897, - "nodeType": "ImportDirective", - "scope": 3514, - "sourceUnit": 2476, - "src": "50:32:10", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/WorkerPool.sol", - "file": "./WorkerPool.sol", - "id": 2898, - "nodeType": "ImportDirective", - "scope": 3514, - "sourceUnit": 6098, - "src": "83:26:10", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/SafeMathOZ.sol", - "file": "./SafeMathOZ.sol", - "id": 2899, - "nodeType": "ImportDirective", - "scope": 3514, - "sourceUnit": 3925, - "src": "110:26:10", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/IexecCallbackInterface.sol", - "file": "./IexecCallbackInterface.sol", - "id": 2900, - "nodeType": "ImportDirective", - "scope": 3514, - "sourceUnit": 725, - "src": "137:38:10", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [ - { - "arguments": [], - "baseName": { - "contractScope": null, - "id": 2901, - "name": "IexecHubAccessor", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2475, - "src": "201:16:10", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IexecHubAccessor_$2475", - "typeString": "contract IexecHubAccessor" - } - }, - "id": 2902, - "nodeType": "InheritanceSpecifier", - "src": "201:16:10" - } - ], - "contractDependencies": [ - 2475 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 3513, - "linearizedBaseContracts": [ - 3513, - 2475 - ], - "name": "Marketplace", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 2905, - "libraryName": { - "contractScope": null, - "id": 2903, - "name": "SafeMathOZ", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 3924, - "src": "227:10:10", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMathOZ_$3924", - "typeString": "library SafeMathOZ" - } - }, - "nodeType": "UsingForDirective", - "src": "221:29:10", - "typeName": { - "id": 2904, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "242:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "constant": false, - "id": 2907, - "name": "m_orderCount", - "nodeType": "VariableDeclaration", - "scope": 3513, - "src": "279:56:10", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2906, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "279:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 2911, - "name": "m_orderBook", - "nodeType": "VariableDeclaration", - "scope": 3513, - "src": "338:55:10", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MarketOrder_$2826_storage_$", - "typeString": "mapping(uint256 => struct IexecLib.MarketOrder storage ref)" - }, - "typeName": { - "id": 2910, - "keyType": { - "id": 2908, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "346:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "338:36:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MarketOrder_$2826_storage_$", - "typeString": "mapping(uint256 => struct IexecLib.MarketOrder storage ref)" - }, - "valueType": { - "contractScope": null, - "id": 2909, - "name": "IexecLib.MarketOrder", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2826, - "src": "353:20:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", - "typeString": "struct IexecLib.MarketOrder storage pointer" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": true, - "id": 2914, - "name": "ASK_STAKE_RATIO", - "nodeType": "VariableDeclaration", - "scope": 3513, - "src": "397:45:10", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2912, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "397:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "3330", - "id": 2913, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "440:2:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_30_by_1", - "typeString": "int_const 30" - }, - "value": "30" - }, - "visibility": "public" - }, - { - "anonymous": false, - "documentation": "Events", - "id": 2918, - "name": "MarketOrderCreated", - "nodeType": "EventDefinition", - "parameters": { - "id": 2917, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2916, - "indexed": false, - "name": "marketorderIdx", - "nodeType": "VariableDeclaration", - "scope": 2918, - "src": "495:19:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2915, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "495:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "494:21:10" - }, - "src": "467:49:10" - }, - { - "anonymous": false, - "documentation": null, - "id": 2922, - "name": "MarketOrderClosed", - "nodeType": "EventDefinition", - "parameters": { - "id": 2921, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2920, - "indexed": false, - "name": "marketorderIdx", - "nodeType": "VariableDeclaration", - "scope": 2922, - "src": "546:19:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2919, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "546:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "545:21:10" - }, - "src": "518:49:10" - }, - { - "anonymous": false, - "documentation": null, - "id": 2928, - "name": "MarketOrderAskConsume", - "nodeType": "EventDefinition", - "parameters": { - "id": 2927, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2924, - "indexed": false, - "name": "marketorderIdx", - "nodeType": "VariableDeclaration", - "scope": 2928, - "src": "597:19:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2923, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "597:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2926, - "indexed": false, - "name": "requester", - "nodeType": "VariableDeclaration", - "scope": 2928, - "src": "618:17:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2925, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "618:7:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "596:40:10" - }, - "src": "569:68:10" - }, - { - "body": { - "id": 2936, - "nodeType": "Block", - "src": "758:4:10", - "statements": [] - }, - "documentation": "Constructor", - "id": 2937, - "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 2933, - "name": "_iexecHubAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2930, - "src": "731:16:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "id": 2934, - "modifierName": { - "argumentTypes": null, - "id": 2932, - "name": "IexecHubAccessor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2475, - "src": "714:16:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IexecHubAccessor_$2475_$", - "typeString": "type(contract IexecHubAccessor)" - } - }, - "nodeType": "ModifierInvocation", - "src": "714:34:10" - } - ], - "name": "Marketplace", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2931, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2930, - "name": "_iexecHubAddress", - "nodeType": "VariableDeclaration", - "scope": 2937, - "src": "687:24:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2929, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "687:7:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "686:26:10" - }, - "payable": false, - "returnParameters": { - "id": 2935, - "nodeType": "ParameterList", - "parameters": [], - "src": "758:0:10" - }, - "scope": 3513, - "src": "666:96:10", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 3074, - "nodeType": "Block", - "src": "992:949:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2957, - "name": "_category", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2941, - "src": "1039:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 2955, - "name": "iexecHubInterface", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2441, - "src": "1004:17:10", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IexecHubInterface_$2802", - "typeString": "contract IexecHubInterface" - } - }, - "id": 2956, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "existingCategory", - "nodeType": "MemberAccess", - "referencedDeclaration": 2617, - "src": "1004:34:10", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view external returns (bool)" - } - }, - "id": 2958, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1004:45:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 2954, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "996:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 2959, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "996:54:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2960, - "nodeType": "ExpressionStatement", - "src": "996:54:10" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2964, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2962, - "name": "_volume", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2949, - "src": "1062:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 2963, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1071:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1062:10:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 2961, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "1054:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 2965, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1054:19:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2966, - "nodeType": "ExpressionStatement", - "src": "1054:19:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 2972, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2967, - "name": "m_orderCount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2907, - "src": "1077:12:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "31", - "id": 2970, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1109:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - } - ], - "expression": { - "argumentTypes": null, - "id": 2968, - "name": "m_orderCount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2907, - "src": "1092:12:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2969, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 3773, - "src": "1092:16:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2971, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1092:19:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1077:34:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2973, - "nodeType": "ExpressionStatement", - "src": "1077:34:10" - }, - { - "assignments": [ - 2977 - ], - "declarations": [ - { - "constant": false, - "id": 2977, - "name": "marketorder", - "nodeType": "VariableDeclaration", - "scope": 3075, - "src": "1115:40:10", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", - "typeString": "struct IexecLib.MarketOrder storage pointer" - }, - "typeName": { - "contractScope": null, - "id": 2976, - "name": "IexecLib.MarketOrder", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2826, - "src": "1115:20:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", - "typeString": "struct IexecLib.MarketOrder storage pointer" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2981, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2978, - "name": "m_orderBook", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2911, - "src": "1161:11:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MarketOrder_$2826_storage_$", - "typeString": "mapping(uint256 => struct IexecLib.MarketOrder storage ref)" - } - }, - "id": 2980, - "indexExpression": { - "argumentTypes": null, - "id": 2979, - "name": "m_orderCount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2907, - "src": "1173:12:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1161:25:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MarketOrder_$2826_storage", - "typeString": "struct IexecLib.MarketOrder storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1115:71:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 2986, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2982, - "name": "marketorder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2977, - "src": "1190:11:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", - "typeString": "struct IexecLib.MarketOrder storage pointer" - } - }, - "id": 2984, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "direction", - "nodeType": "MemberAccess", - "referencedDeclaration": 2811, - "src": "1190:21:10", - "typeDescriptions": { - "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2809", - "typeString": "enum IexecLib.MarketOrderDirectionEnum" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 2985, - "name": "_direction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2939, - "src": "1219:10:10", - "typeDescriptions": { - "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2809", - "typeString": "enum IexecLib.MarketOrderDirectionEnum" - } - }, - "src": "1190:39:10", - "typeDescriptions": { - "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2809", - "typeString": "enum IexecLib.MarketOrderDirectionEnum" - } - }, - "id": 2987, - "nodeType": "ExpressionStatement", - "src": "1190:39:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 2992, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2988, - "name": "marketorder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2977, - "src": "1233:11:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", - "typeString": "struct IexecLib.MarketOrder storage pointer" - } - }, - "id": 2990, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "category", - "nodeType": "MemberAccess", - "referencedDeclaration": 2813, - "src": "1233:20:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 2991, - "name": "_category", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2941, - "src": "1262:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1233:38:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2993, - "nodeType": "ExpressionStatement", - "src": "1233:38:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 2998, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2994, - "name": "marketorder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2977, - "src": "1275:11:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", - "typeString": "struct IexecLib.MarketOrder storage pointer" - } - }, - "id": 2996, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "trust", - "nodeType": "MemberAccess", - "referencedDeclaration": 2815, - "src": "1275:17:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 2997, - "name": "_trust", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2943, - "src": "1304:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1275:35:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2999, - "nodeType": "ExpressionStatement", - "src": "1275:35:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 3004, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3000, - "name": "marketorder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2977, - "src": "1314:11:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", - "typeString": "struct IexecLib.MarketOrder storage pointer" - } - }, - "id": 3002, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": 2817, - "src": "1314:17:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 3003, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2945, - "src": "1343:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1314:35:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3005, - "nodeType": "ExpressionStatement", - "src": "1314:35:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 3010, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3006, - "name": "marketorder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2977, - "src": "1353:11:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", - "typeString": "struct IexecLib.MarketOrder storage pointer" - } - }, - "id": 3008, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "volume", - "nodeType": "MemberAccess", - "referencedDeclaration": 2819, - "src": "1353:18:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 3009, - "name": "_volume", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2949, - "src": "1382:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1353:36:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3011, - "nodeType": "ExpressionStatement", - "src": "1353:36:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 3016, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3012, - "name": "marketorder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2977, - "src": "1393:11:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", - "typeString": "struct IexecLib.MarketOrder storage pointer" - } - }, - "id": 3014, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "remaining", - "nodeType": "MemberAccess", - "referencedDeclaration": 2821, - "src": "1393:21:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 3015, - "name": "_volume", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2949, - "src": "1422:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1393:36:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3017, - "nodeType": "ExpressionStatement", - "src": "1393:36:10" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2809", - "typeString": "enum IexecLib.MarketOrderDirectionEnum" - }, - "id": 3022, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3018, - "name": "_direction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2939, - "src": "1438:10:10", - "typeDescriptions": { - "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2809", - "typeString": "enum IexecLib.MarketOrderDirectionEnum" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3019, - "name": "IexecLib", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2893, - "src": "1452:8:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IexecLib_$2893_$", - "typeString": "type(library IexecLib)" - } - }, - "id": 3020, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "MarketOrderDirectionEnum", - "nodeType": "MemberAccess", - "referencedDeclaration": 2809, - "src": "1452:33:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_MarketOrderDirectionEnum_$2809_$", - "typeString": "type(enum IexecLib.MarketOrderDirectionEnum)" - } - }, - "id": 3021, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "ASK", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1452:37:10", - "typeDescriptions": { - "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2809", - "typeString": "enum IexecLib.MarketOrderDirectionEnum" - } - }, - "src": "1438:51:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 3066, - "nodeType": "Block", - "src": "1828:46:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 3063, - "name": "revert", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7012, - "src": "1861:6:10", - "typeDescriptions": { - "typeIdentifier": "t_function_revert_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 3064, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1861:8:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3065, - "nodeType": "ExpressionStatement", - "src": "1861:8:10" - } - ] - }, - "id": 3067, - "nodeType": "IfStatement", - "src": "1434:440:10", - "trueBody": { - "id": 3062, - "nodeType": "Block", - "src": "1493:325:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 3031, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3025, - "name": "_workerpool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2947, - "src": "1517:11:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 3024, - "name": "WorkerPool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6097, - "src": "1506:10:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_WorkerPool_$6097_$", - "typeString": "type(contract WorkerPool)" - } - }, - "id": 3026, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1506:23:10", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkerPool_$6097", - "typeString": "contract WorkerPool" - } - }, - "id": 3027, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "m_owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 3681, - "src": "1506:31:10", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", - "typeString": "function () view external returns (address)" - } - }, - "id": 3028, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1506:33:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3029, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "1543:3:10", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3030, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1543:10:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1506:47:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 3023, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "1498:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 3032, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1498:56:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3033, - "nodeType": "ExpressionStatement", - "src": "1498:56:10" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3037, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "1599:3:10", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3038, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1599:10:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3044, - "name": "_volume", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2949, - "src": "1650:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3041, - "name": "ASK_STAKE_RATIO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2914, - "src": "1629:15:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 3039, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2945, - "src": "1611:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3040, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "percentage", - "nodeType": "MemberAccess", - "referencedDeclaration": 3914, - "src": "1611:17:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3042, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1611:34:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3043, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 3826, - "src": "1611:38:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3045, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1611:47:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 3035, - "name": "iexecHubInterface", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2441, - "src": "1568:17:10", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IexecHubInterface_$2802", - "typeString": "contract IexecHubInterface" - } - }, - "id": 3036, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "lockForOrder", - "nodeType": "MemberAccess", - "referencedDeclaration": 2685, - "src": "1568:30:10", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 3046, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1568:91:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 3034, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "1560:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 3047, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1560:100:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3048, - "nodeType": "ExpressionStatement", - "src": "1560:100:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 3053, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3049, - "name": "marketorder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2977, - "src": "1727:11:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", - "typeString": "struct IexecLib.MarketOrder storage pointer" - } - }, - "id": 3051, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "workerpool", - "nodeType": "MemberAccess", - "referencedDeclaration": 2823, - "src": "1727:22:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 3052, - "name": "_workerpool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2947, - "src": "1757:11:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1727:41:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 3054, - "nodeType": "ExpressionStatement", - "src": "1727:41:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 3060, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3055, - "name": "marketorder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2977, - "src": "1773:11:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", - "typeString": "struct IexecLib.MarketOrder storage pointer" - } - }, - "id": 3057, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "workerpoolOwner", - "nodeType": "MemberAccess", - "referencedDeclaration": 2825, - "src": "1773:27:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3058, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "1803:3:10", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3059, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1803:10:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1773:40:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 3061, - "nodeType": "ExpressionStatement", - "src": "1773:40:10" - } - ] - } - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3069, - "name": "m_orderCount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2907, - "src": "1901:12:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3068, - "name": "MarketOrderCreated", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2918, - "src": "1882:18:10", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 3070, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1882:32:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3071, - "nodeType": "EmitStatement", - "src": "1877:37:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 3072, - "name": "m_orderCount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2907, - "src": "1925:12:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 2953, - "id": 3073, - "nodeType": "Return", - "src": "1918:19:10" - } - ] - }, - "documentation": "Market orders", - "id": 3075, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "createMarketOrder", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2950, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2939, - "name": "_direction", - "nodeType": "VariableDeclaration", - "scope": 3075, - "src": "823:44:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2809", - "typeString": "enum IexecLib.MarketOrderDirectionEnum" - }, - "typeName": { - "contractScope": null, - "id": 2938, - "name": "IexecLib.MarketOrderDirectionEnum", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2809, - "src": "823:33:10", - "typeDescriptions": { - "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2809", - "typeString": "enum IexecLib.MarketOrderDirectionEnum" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2941, - "name": "_category", - "nodeType": "VariableDeclaration", - "scope": 3075, - "src": "871:17:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2940, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "871:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2943, - "name": "_trust", - "nodeType": "VariableDeclaration", - "scope": 3075, - "src": "892:14:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2942, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "892:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2945, - "name": "_value", - "nodeType": "VariableDeclaration", - "scope": 3075, - "src": "910:14:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2944, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "910:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2947, - "name": "_workerpool", - "nodeType": "VariableDeclaration", - "scope": 3075, - "src": "928:19:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2946, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "928:7:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2949, - "name": "_volume", - "nodeType": "VariableDeclaration", - "scope": 3075, - "src": "951:15:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2948, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "951:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "819:148:10" - }, - "payable": false, - "returnParameters": { - "id": 2953, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2952, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 3075, - "src": "985:4:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2951, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "985:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "984:6:10" - }, - "scope": 3513, - "src": "793:1148:10", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 3141, - "nodeType": "Block", - "src": "2018:605:10", - "statements": [ - { - "assignments": [ - 3085 - ], - "declarations": [ - { - "constant": false, - "id": 3085, - "name": "marketorder", - "nodeType": "VariableDeclaration", - "scope": 3142, - "src": "2022:40:10", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", - "typeString": "struct IexecLib.MarketOrder storage pointer" - }, - "typeName": { - "contractScope": null, - "id": 3084, - "name": "IexecLib.MarketOrder", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2826, - "src": "2022:20:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", - "typeString": "struct IexecLib.MarketOrder storage pointer" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3089, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3086, - "name": "m_orderBook", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2911, - "src": "2065:11:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MarketOrder_$2826_storage_$", - "typeString": "mapping(uint256 => struct IexecLib.MarketOrder storage ref)" - } - }, - "id": 3088, - "indexExpression": { - "argumentTypes": null, - "id": 3087, - "name": "_marketorderIdx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3077, - "src": "2077:15:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2065:28:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MarketOrder_$2826_storage", - "typeString": "struct IexecLib.MarketOrder storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2022:71:10" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2809", - "typeString": "enum IexecLib.MarketOrderDirectionEnum" - }, - "id": 3095, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3090, - "name": "marketorder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3085, - "src": "2101:11:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", - "typeString": "struct IexecLib.MarketOrder storage pointer" - } - }, - "id": 3091, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "direction", - "nodeType": "MemberAccess", - "referencedDeclaration": 2811, - "src": "2101:21:10", - "typeDescriptions": { - "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2809", - "typeString": "enum IexecLib.MarketOrderDirectionEnum" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3092, - "name": "IexecLib", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2893, - "src": "2126:8:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IexecLib_$2893_$", - "typeString": "type(library IexecLib)" - } - }, - "id": 3093, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "MarketOrderDirectionEnum", - "nodeType": "MemberAccess", - "referencedDeclaration": 2809, - "src": "2126:33:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_MarketOrderDirectionEnum_$2809_$", - "typeString": "type(enum IexecLib.MarketOrderDirectionEnum)" - } - }, - "id": 3094, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "ASK", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2126:37:10", - "typeDescriptions": { - "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2809", - "typeString": "enum IexecLib.MarketOrderDirectionEnum" - } - }, - "src": "2101:62:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 3125, - "nodeType": "Block", - "src": "2448:46:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 3122, - "name": "revert", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7012, - "src": "2481:6:10", - "typeDescriptions": { - "typeIdentifier": "t_function_revert_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 3123, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2481:8:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3124, - "nodeType": "ExpressionStatement", - "src": "2481:8:10" - } - ] - }, - "id": 3126, - "nodeType": "IfStatement", - "src": "2097:397:10", - "trueBody": { - "id": 3121, - "nodeType": "Block", - "src": "2167:271:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 3101, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3097, - "name": "marketorder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3085, - "src": "2180:11:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", - "typeString": "struct IexecLib.MarketOrder storage pointer" - } - }, - "id": 3098, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "workerpoolOwner", - "nodeType": "MemberAccess", - "referencedDeclaration": 2825, - "src": "2180:27:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3099, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "2211:3:10", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3100, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2211:10:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "2180:41:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 3096, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "2172:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 3102, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2172:50:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3103, - "nodeType": "ExpressionStatement", - "src": "2172:50:10" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3107, - "name": "marketorder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3085, - "src": "2268:11:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", - "typeString": "struct IexecLib.MarketOrder storage pointer" - } - }, - "id": 3108, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "workerpoolOwner", - "nodeType": "MemberAccess", - "referencedDeclaration": 2825, - "src": "2268:27:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3115, - "name": "marketorder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3085, - "src": "2347:11:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", - "typeString": "struct IexecLib.MarketOrder storage pointer" - } - }, - "id": 3116, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "remaining", - "nodeType": "MemberAccess", - "referencedDeclaration": 2821, - "src": "2347:21:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3112, - "name": "ASK_STAKE_RATIO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2914, - "src": "2326:15:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3109, - "name": "marketorder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3085, - "src": "2297:11:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", - "typeString": "struct IexecLib.MarketOrder storage pointer" - } - }, - "id": 3110, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": 2817, - "src": "2297:17:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3111, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "percentage", - "nodeType": "MemberAccess", - "referencedDeclaration": 3914, - "src": "2297:28:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3113, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2297:45:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3114, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 3826, - "src": "2297:49:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3117, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2297:72:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 3105, - "name": "iexecHubInterface", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2441, - "src": "2235:17:10", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IexecHubInterface_$2802", - "typeString": "contract IexecHubInterface" - } - }, - "id": 3106, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "unlockForOrder", - "nodeType": "MemberAccess", - "referencedDeclaration": 2694, - "src": "2235:32:10", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 3118, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2235:135:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 3104, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "2227:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 3119, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2227:144:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3120, - "nodeType": "ExpressionStatement", - "src": "2227:144:10" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "id": 3133, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3127, - "name": "marketorder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3085, - "src": "2497:11:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", - "typeString": "struct IexecLib.MarketOrder storage pointer" - } - }, - "id": 3129, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "direction", - "nodeType": "MemberAccess", - "referencedDeclaration": 2811, - "src": "2497:21:10", - "typeDescriptions": { - "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2809", - "typeString": "enum IexecLib.MarketOrderDirectionEnum" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3130, - "name": "IexecLib", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2893, - "src": "2521:8:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IexecLib_$2893_$", - "typeString": "type(library IexecLib)" - } - }, - "id": 3131, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "MarketOrderDirectionEnum", - "nodeType": "MemberAccess", - "referencedDeclaration": 2809, - "src": "2521:33:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_MarketOrderDirectionEnum_$2809_$", - "typeString": "type(enum IexecLib.MarketOrderDirectionEnum)" - } - }, - "id": 3132, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "CLOSED", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2521:40:10", - "typeDescriptions": { - "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2809", - "typeString": "enum IexecLib.MarketOrderDirectionEnum" - } - }, - "src": "2497:64:10", - "typeDescriptions": { - "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2809", - "typeString": "enum IexecLib.MarketOrderDirectionEnum" - } - }, - "id": 3134, - "nodeType": "ExpressionStatement", - "src": "2497:64:10" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3136, - "name": "_marketorderIdx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3077, - "src": "2588:15:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3135, - "name": "MarketOrderClosed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2922, - "src": "2570:17:10", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 3137, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2570:34:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3138, - "nodeType": "EmitStatement", - "src": "2565:39:10" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 3139, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2615:4:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 3081, - "id": 3140, - "nodeType": "Return", - "src": "2608:11:10" - } - ] - }, - "documentation": null, - "id": 3142, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "closeMarketOrder", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3078, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3077, - "name": "_marketorderIdx", - "nodeType": "VariableDeclaration", - "scope": 3142, - "src": "1970:23:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3076, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1970:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1969:25:10" - }, - "payable": false, - "returnParameters": { - "id": 3081, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3080, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 3142, - "src": "2011:4:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 3079, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2011:4:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2010:6:10" - }, - "scope": 3513, - "src": "1944:679:10", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 3226, - "nodeType": "Block", - "src": "2801:561:10", - "statements": [ - { - "assignments": [ - 3158 - ], - "declarations": [ - { - "constant": false, - "id": 3158, - "name": "marketorder", - "nodeType": "VariableDeclaration", - "scope": 3227, - "src": "2805:40:10", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", - "typeString": "struct IexecLib.MarketOrder storage pointer" - }, - "typeName": { - "contractScope": null, - "id": 3157, - "name": "IexecLib.MarketOrder", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2826, - "src": "2805:20:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", - "typeString": "struct IexecLib.MarketOrder storage pointer" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3162, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3159, - "name": "m_orderBook", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2911, - "src": "2848:11:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MarketOrder_$2826_storage_$", - "typeString": "mapping(uint256 => struct IexecLib.MarketOrder storage ref)" - } - }, - "id": 3161, - "indexExpression": { - "argumentTypes": null, - "id": 3160, - "name": "_marketorderIdx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3144, - "src": "2860:15:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2848:28:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MarketOrder_$2826_storage", - "typeString": "struct IexecLib.MarketOrder storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2805:71:10" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2809", - "typeString": "enum IexecLib.MarketOrderDirectionEnum" - }, - "id": 3169, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3164, - "name": "marketorder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3158, - "src": "2888:11:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", - "typeString": "struct IexecLib.MarketOrder storage pointer" - } - }, - "id": 3165, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "direction", - "nodeType": "MemberAccess", - "referencedDeclaration": 2811, - "src": "2888:21:10", - "typeDescriptions": { - "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2809", - "typeString": "enum IexecLib.MarketOrderDirectionEnum" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3166, - "name": "IexecLib", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2893, - "src": "2914:8:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IexecLib_$2893_$", - "typeString": "type(library IexecLib)" - } - }, - "id": 3167, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "MarketOrderDirectionEnum", - "nodeType": "MemberAccess", - "referencedDeclaration": 2809, - "src": "2914:33:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_MarketOrderDirectionEnum_$2809_$", - "typeString": "type(enum IexecLib.MarketOrderDirectionEnum)" - } - }, - "id": 3168, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "ASK", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2914:37:10", - "typeDescriptions": { - "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2809", - "typeString": "enum IexecLib.MarketOrderDirectionEnum" - } - }, - "src": "2888:63:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 3163, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "2880:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 3170, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2880:72:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3171, - "nodeType": "ExpressionStatement", - "src": "2880:72:10" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3176, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3173, - "name": "marketorder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3158, - "src": "2964:11:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", - "typeString": "struct IexecLib.MarketOrder storage pointer" - } - }, - "id": 3174, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "remaining", - "nodeType": "MemberAccess", - "referencedDeclaration": 2821, - "src": "2964:21:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 3175, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2990:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "2964:27:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 3172, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "2956:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 3177, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2956:36:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3178, - "nodeType": "ExpressionStatement", - "src": "2956:36:10" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 3183, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3180, - "name": "marketorder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3158, - "src": "3004:11:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", - "typeString": "struct IexecLib.MarketOrder storage pointer" - } - }, - "id": 3181, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "workerpool", - "nodeType": "MemberAccess", - "referencedDeclaration": 2823, - "src": "3004:22:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 3182, - "name": "_workerpool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3148, - "src": "3030:11:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "3004:37:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 3179, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "2996:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 3184, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2996:46:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3185, - "nodeType": "ExpressionStatement", - "src": "2996:46:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 3194, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3186, - "name": "marketorder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3158, - "src": "3047:11:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", - "typeString": "struct IexecLib.MarketOrder storage pointer" - } - }, - "id": 3188, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "remaining", - "nodeType": "MemberAccess", - "referencedDeclaration": 2821, - "src": "3047:21:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "31", - "id": 3192, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3097:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3189, - "name": "marketorder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3158, - "src": "3071:11:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", - "typeString": "struct IexecLib.MarketOrder storage pointer" - } - }, - "id": 3190, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "remaining", - "nodeType": "MemberAccess", - "referencedDeclaration": 2821, - "src": "3071:21:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3191, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 3793, - "src": "3071:25:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3193, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3071:28:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3047:52:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3195, - "nodeType": "ExpressionStatement", - "src": "3047:52:10" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3199, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3196, - "name": "marketorder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3158, - "src": "3107:11:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", - "typeString": "struct IexecLib.MarketOrder storage pointer" - } - }, - "id": 3197, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "remaining", - "nodeType": "MemberAccess", - "referencedDeclaration": 2821, - "src": "3107:21:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 3198, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3132:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "3107:26:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 3209, - "nodeType": "IfStatement", - "src": "3103:108:10", - "trueBody": { - "id": 3208, - "nodeType": "Block", - "src": "3137:74:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 3206, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3200, - "name": "marketorder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3158, - "src": "3142:11:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", - "typeString": "struct IexecLib.MarketOrder storage pointer" - } - }, - "id": 3202, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "direction", - "nodeType": "MemberAccess", - "referencedDeclaration": 2811, - "src": "3142:21:10", - "typeDescriptions": { - "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2809", - "typeString": "enum IexecLib.MarketOrderDirectionEnum" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3203, - "name": "IexecLib", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2893, - "src": "3166:8:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IexecLib_$2893_$", - "typeString": "type(library IexecLib)" - } - }, - "id": 3204, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "MarketOrderDirectionEnum", - "nodeType": "MemberAccess", - "referencedDeclaration": 2809, - "src": "3166:33:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_MarketOrderDirectionEnum_$2809_$", - "typeString": "type(enum IexecLib.MarketOrderDirectionEnum)" - } - }, - "id": 3205, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "CLOSED", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3166:40:10", - "typeDescriptions": { - "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2809", - "typeString": "enum IexecLib.MarketOrderDirectionEnum" - } - }, - "src": "3142:64:10", - "typeDescriptions": { - "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2809", - "typeString": "enum IexecLib.MarketOrderDirectionEnum" - } - }, - "id": 3207, - "nodeType": "ExpressionStatement", - "src": "3142:64:10" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3213, - "name": "_requester", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3146, - "src": "3253:10:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3214, - "name": "marketorder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3158, - "src": "3265:11:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", - "typeString": "struct IexecLib.MarketOrder storage pointer" - } - }, - "id": 3215, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": 2817, - "src": "3265:17:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 3211, - "name": "iexecHubInterface", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2441, - "src": "3222:17:10", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IexecHubInterface_$2802", - "typeString": "contract IexecHubInterface" - } - }, - "id": 3212, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "lockForOrder", - "nodeType": "MemberAccess", - "referencedDeclaration": 2685, - "src": "3222:30:10", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 3216, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3222:61:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 3210, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "3214:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 3217, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3214:70:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3218, - "nodeType": "ExpressionStatement", - "src": "3214:70:10" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3220, - "name": "_marketorderIdx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3144, - "src": "3315:15:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 3221, - "name": "_requester", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3146, - "src": "3332:10:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 3219, - "name": "MarketOrderAskConsume", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2928, - "src": "3293:21:10", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (uint256,address)" - } - }, - "id": 3222, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3293:50:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3223, - "nodeType": "EmitStatement", - "src": "3288:55:10" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 3224, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3354:4:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 3154, - "id": 3225, - "nodeType": "Return", - "src": "3347:11:10" - } - ] - }, - "documentation": "Assets consumption", - "id": 3227, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [], - "id": 3151, - "modifierName": { - "argumentTypes": null, - "id": 3150, - "name": "onlyIexecHub", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2454, - "src": "2772:12:10", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "2772:12:10" - } - ], - "name": "consumeMarketOrderAsk", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3149, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3144, - "name": "_marketorderIdx", - "nodeType": "VariableDeclaration", - "scope": 3227, - "src": "2694:23:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3143, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2694:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3146, - "name": "_requester", - "nodeType": "VariableDeclaration", - "scope": 3227, - "src": "2721:18:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3145, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2721:7:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3148, - "name": "_workerpool", - "nodeType": "VariableDeclaration", - "scope": 3227, - "src": "2743:19:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3147, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2743:7:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2690:73:10" - }, - "payable": false, - "returnParameters": { - "id": 3154, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3153, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 3227, - "src": "2794:4:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 3152, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2794:4:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2793:6:10" - }, - "scope": 3513, - "src": "2660:702:10", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 3241, - "nodeType": "Block", - "src": "3465:56:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3239, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3234, - "name": "m_orderBook", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2911, - "src": "3476:11:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MarketOrder_$2826_storage_$", - "typeString": "mapping(uint256 => struct IexecLib.MarketOrder storage ref)" - } - }, - "id": 3236, - "indexExpression": { - "argumentTypes": null, - "id": 3235, - "name": "_marketorderIdx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3229, - "src": "3488:15:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3476:28:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MarketOrder_$2826_storage", - "typeString": "struct IexecLib.MarketOrder storage ref" - } - }, - "id": 3237, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "category", - "nodeType": "MemberAccess", - "referencedDeclaration": 2813, - "src": "3476:37:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 3238, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3516:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "3476:41:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 3233, - "id": 3240, - "nodeType": "Return", - "src": "3469:48:10" - } - ] - }, - "documentation": null, - "id": 3242, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "existingMarketOrder", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3230, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3229, - "name": "_marketorderIdx", - "nodeType": "VariableDeclaration", - "scope": 3242, - "src": "3394:23:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3228, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3394:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3393:25:10" - }, - "payable": false, - "returnParameters": { - "id": 3233, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3232, - "name": "marketOrderExist", - "nodeType": "VariableDeclaration", - "scope": 3242, - "src": "3441:21:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 3231, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3441:4:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3440:23:10" - }, - "scope": 3513, - "src": "3365:156:10", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 3260, - "nodeType": "Block", - "src": "3629:126:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3251, - "name": "_marketorderIdx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3244, - "src": "3661:15:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3250, - "name": "existingMarketOrder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3242, - "src": "3641:19:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 3252, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3641:36:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 3249, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "3633:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 3253, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3633:45:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3254, - "nodeType": "ExpressionStatement", - "src": "3633:45:10" - }, - { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3255, - "name": "m_orderBook", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2911, - "src": "3717:11:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MarketOrder_$2826_storage_$", - "typeString": "mapping(uint256 => struct IexecLib.MarketOrder storage ref)" - } - }, - "id": 3257, - "indexExpression": { - "argumentTypes": null, - "id": 3256, - "name": "_marketorderIdx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3244, - "src": "3729:15:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3717:28:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MarketOrder_$2826_storage", - "typeString": "struct IexecLib.MarketOrder storage ref" - } - }, - "id": 3258, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": 2817, - "src": "3717:34:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 3248, - "id": 3259, - "nodeType": "Return", - "src": "3710:41:10" - } - ] - }, - "documentation": "Views", - "id": 3261, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getMarketOrderValue", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3245, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3244, - "name": "_marketorderIdx", - "nodeType": "VariableDeclaration", - "scope": 3261, - "src": "3573:23:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3243, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3573:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3572:25:10" - }, - "payable": false, - "returnParameters": { - "id": 3248, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3247, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 3261, - "src": "3619:7:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3246, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3619:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3618:9:10" - }, - "scope": 3513, - "src": "3544:211:10", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 3279, - "nodeType": "Block", - "src": "3852:136:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3270, - "name": "_marketorderIdx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3263, - "src": "3884:15:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3269, - "name": "existingMarketOrder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3242, - "src": "3864:19:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 3271, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3864:36:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 3268, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "3856:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 3272, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3856:45:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3273, - "nodeType": "ExpressionStatement", - "src": "3856:45:10" - }, - { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3274, - "name": "m_orderBook", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2911, - "src": "3940:11:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MarketOrder_$2826_storage_$", - "typeString": "mapping(uint256 => struct IexecLib.MarketOrder storage ref)" - } - }, - "id": 3276, - "indexExpression": { - "argumentTypes": null, - "id": 3275, - "name": "_marketorderIdx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3263, - "src": "3952:15:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3940:28:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MarketOrder_$2826_storage", - "typeString": "struct IexecLib.MarketOrder storage ref" - } - }, - "id": 3277, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "workerpoolOwner", - "nodeType": "MemberAccess", - "referencedDeclaration": 2825, - "src": "3940:44:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 3267, - "id": 3278, - "nodeType": "Return", - "src": "3933:51:10" - } - ] - }, - "documentation": null, - "id": 3280, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getMarketOrderWorkerpoolOwner", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3264, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3263, - "name": "_marketorderIdx", - "nodeType": "VariableDeclaration", - "scope": 3280, - "src": "3796:23:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3262, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3796:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3795:25:10" - }, - "payable": false, - "returnParameters": { - "id": 3267, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3266, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 3280, - "src": "3842:7:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3265, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3842:7:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3841:9:10" - }, - "scope": 3513, - "src": "3757:231:10", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 3298, - "nodeType": "Block", - "src": "4078:129:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3289, - "name": "_marketorderIdx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3282, - "src": "4110:15:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3288, - "name": "existingMarketOrder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3242, - "src": "4090:19:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 3290, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4090:36:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 3287, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "4082:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 3291, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4082:45:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3292, - "nodeType": "ExpressionStatement", - "src": "4082:45:10" - }, - { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3293, - "name": "m_orderBook", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2911, - "src": "4166:11:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MarketOrder_$2826_storage_$", - "typeString": "mapping(uint256 => struct IexecLib.MarketOrder storage ref)" - } - }, - "id": 3295, - "indexExpression": { - "argumentTypes": null, - "id": 3294, - "name": "_marketorderIdx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3282, - "src": "4178:15:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4166:28:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MarketOrder_$2826_storage", - "typeString": "struct IexecLib.MarketOrder storage ref" - } - }, - "id": 3296, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "category", - "nodeType": "MemberAccess", - "referencedDeclaration": 2813, - "src": "4166:37:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 3286, - "id": 3297, - "nodeType": "Return", - "src": "4159:44:10" - } - ] - }, - "documentation": null, - "id": 3299, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getMarketOrderCategory", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3283, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3282, - "name": "_marketorderIdx", - "nodeType": "VariableDeclaration", - "scope": 3299, - "src": "4022:23:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3281, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4022:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4021:25:10" - }, - "payable": false, - "returnParameters": { - "id": 3286, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3285, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 3299, - "src": "4068:7:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3284, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4068:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4067:9:10" - }, - "scope": 3513, - "src": "3990:217:10", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 3317, - "nodeType": "Block", - "src": "4294:126:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3308, - "name": "_marketorderIdx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3301, - "src": "4326:15:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3307, - "name": "existingMarketOrder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3242, - "src": "4306:19:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 3309, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4306:36:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 3306, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "4298:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 3310, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4298:45:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3311, - "nodeType": "ExpressionStatement", - "src": "4298:45:10" - }, - { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3312, - "name": "m_orderBook", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2911, - "src": "4382:11:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MarketOrder_$2826_storage_$", - "typeString": "mapping(uint256 => struct IexecLib.MarketOrder storage ref)" - } - }, - "id": 3314, - "indexExpression": { - "argumentTypes": null, - "id": 3313, - "name": "_marketorderIdx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3301, - "src": "4394:15:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4382:28:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MarketOrder_$2826_storage", - "typeString": "struct IexecLib.MarketOrder storage ref" - } - }, - "id": 3315, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "trust", - "nodeType": "MemberAccess", - "referencedDeclaration": 2815, - "src": "4382:34:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 3305, - "id": 3316, - "nodeType": "Return", - "src": "4375:41:10" - } - ] - }, - "documentation": null, - "id": 3318, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getMarketOrderTrust", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3302, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3301, - "name": "_marketorderIdx", - "nodeType": "VariableDeclaration", - "scope": 3318, - "src": "4238:23:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3300, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4238:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4237:25:10" - }, - "payable": false, - "returnParameters": { - "id": 3305, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3304, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 3318, - "src": "4284:7:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3303, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4284:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4283:9:10" - }, - "scope": 3513, - "src": "4209:211:10", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 3371, - "nodeType": "Block", - "src": "4862:374:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3341, - "name": "_marketorderIdx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3320, - "src": "4894:15:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3340, - "name": "existingMarketOrder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3242, - "src": "4874:19:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 3342, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4874:36:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 3339, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "4866:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 3343, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4866:45:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3344, - "nodeType": "ExpressionStatement", - "src": "4866:45:10" - }, - { - "assignments": [ - 3348 - ], - "declarations": [ - { - "constant": false, - "id": 3348, - "name": "marketorder", - "nodeType": "VariableDeclaration", - "scope": 3372, - "src": "4943:40:10", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", - "typeString": "struct IexecLib.MarketOrder storage pointer" - }, - "typeName": { - "contractScope": null, - "id": 3347, - "name": "IexecLib.MarketOrder", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2826, - "src": "4943:20:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", - "typeString": "struct IexecLib.MarketOrder storage pointer" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3352, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3349, - "name": "m_orderBook", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2911, - "src": "4986:11:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MarketOrder_$2826_storage_$", - "typeString": "mapping(uint256 => struct IexecLib.MarketOrder storage ref)" - } - }, - "id": 3351, - "indexExpression": { - "argumentTypes": null, - "id": 3350, - "name": "_marketorderIdx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3320, - "src": "4998:15:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4986:28:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MarketOrder_$2826_storage", - "typeString": "struct IexecLib.MarketOrder storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4943:71:10" - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3353, - "name": "marketorder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3348, - "src": "5030:11:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", - "typeString": "struct IexecLib.MarketOrder storage pointer" - } - }, - "id": 3354, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "direction", - "nodeType": "MemberAccess", - "referencedDeclaration": 2811, - "src": "5030:21:10", - "typeDescriptions": { - "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2809", - "typeString": "enum IexecLib.MarketOrderDirectionEnum" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3355, - "name": "marketorder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3348, - "src": "5056:11:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", - "typeString": "struct IexecLib.MarketOrder storage pointer" - } - }, - "id": 3356, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "category", - "nodeType": "MemberAccess", - "referencedDeclaration": 2813, - "src": "5056:20:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3357, - "name": "marketorder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3348, - "src": "5081:11:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", - "typeString": "struct IexecLib.MarketOrder storage pointer" - } - }, - "id": 3358, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "trust", - "nodeType": "MemberAccess", - "referencedDeclaration": 2815, - "src": "5081:17:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3359, - "name": "marketorder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3348, - "src": "5103:11:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", - "typeString": "struct IexecLib.MarketOrder storage pointer" - } - }, - "id": 3360, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": 2817, - "src": "5103:17:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3361, - "name": "marketorder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3348, - "src": "5125:11:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", - "typeString": "struct IexecLib.MarketOrder storage pointer" - } - }, - "id": 3362, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "volume", - "nodeType": "MemberAccess", - "referencedDeclaration": 2819, - "src": "5125:18:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3363, - "name": "marketorder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3348, - "src": "5148:11:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", - "typeString": "struct IexecLib.MarketOrder storage pointer" - } - }, - "id": 3364, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "remaining", - "nodeType": "MemberAccess", - "referencedDeclaration": 2821, - "src": "5148:21:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3365, - "name": "marketorder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3348, - "src": "5174:11:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", - "typeString": "struct IexecLib.MarketOrder storage pointer" - } - }, - "id": 3366, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "workerpool", - "nodeType": "MemberAccess", - "referencedDeclaration": 2823, - "src": "5174:22:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3367, - "name": "marketorder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3348, - "src": "5201:11:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", - "typeString": "struct IexecLib.MarketOrder storage pointer" - } - }, - "id": 3368, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "workerpoolOwner", - "nodeType": "MemberAccess", - "referencedDeclaration": 2825, - "src": "5201:27:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "id": 3369, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "5025:207:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MarketOrderDirectionEnum_$2809_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$_t_address_$", - "typeString": "tuple(enum IexecLib.MarketOrderDirectionEnum,uint256,uint256,uint256,uint256,uint256,address,address)" - } - }, - "functionReturnParameters": 3338, - "id": 3370, - "nodeType": "Return", - "src": "5018:214:10" - } - ] - }, - "documentation": null, - "id": 3372, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getMarketOrder", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3321, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3320, - "name": "_marketorderIdx", - "nodeType": "VariableDeclaration", - "scope": 3372, - "src": "4446:23:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3319, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4446:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4445:25:10" - }, - "payable": false, - "returnParameters": { - "id": 3338, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3323, - "name": "direction", - "nodeType": "VariableDeclaration", - "scope": 3372, - "src": "4496:43:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2809", - "typeString": "enum IexecLib.MarketOrderDirectionEnum" - }, - "typeName": { - "contractScope": null, - "id": 3322, - "name": "IexecLib.MarketOrderDirectionEnum", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2809, - "src": "4496:33:10", - "typeDescriptions": { - "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2809", - "typeString": "enum IexecLib.MarketOrderDirectionEnum" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3325, - "name": "category", - "nodeType": "VariableDeclaration", - "scope": 3372, - "src": "4543:16:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3324, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4543:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3327, - "name": "trust", - "nodeType": "VariableDeclaration", - "scope": 3372, - "src": "4590:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3326, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4590:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3329, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 3372, - "src": "4628:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3328, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4628:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3331, - "name": "volume", - "nodeType": "VariableDeclaration", - "scope": 3372, - "src": "4674:14:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3330, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4674:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3333, - "name": "remaining", - "nodeType": "VariableDeclaration", - "scope": 3372, - "src": "4733:17:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3332, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4733:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3335, - "name": "workerpool", - "nodeType": "VariableDeclaration", - "scope": 3372, - "src": "4782:18:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3334, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4782:7:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3337, - "name": "workerpoolOwner", - "nodeType": "VariableDeclaration", - "scope": 3372, - "src": "4836:23:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3336, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4836:7:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4492:368:10" - }, - "scope": 3513, - "src": "4422:814:10", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "anonymous": false, - "documentation": "Callback Proof managment", - "id": 3390, - "name": "WorkOrderCallbackProof", - "nodeType": "EventDefinition", - "parameters": { - "id": 3389, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3374, - "indexed": true, - "name": "woid", - "nodeType": "VariableDeclaration", - "scope": 3390, - "src": "5308:20:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3373, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5308:7:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3376, - "indexed": false, - "name": "requester", - "nodeType": "VariableDeclaration", - "scope": 3390, - "src": "5330:17:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3375, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5330:7:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3378, - "indexed": false, - "name": "beneficiary", - "nodeType": "VariableDeclaration", - "scope": 3390, - "src": "5349:19:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3377, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5349:7:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3380, - "indexed": true, - "name": "callbackTo", - "nodeType": "VariableDeclaration", - "scope": 3390, - "src": "5369:26:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3379, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5369:7:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3382, - "indexed": true, - "name": "gasCallbackProvider", - "nodeType": "VariableDeclaration", - "scope": 3390, - "src": "5397:35:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3381, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5397:7:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3384, - "indexed": false, - "name": "stdout", - "nodeType": "VariableDeclaration", - "scope": 3390, - "src": "5433:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - "typeName": { - "id": 3383, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "5433:6:10", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3386, - "indexed": false, - "name": "stderr", - "nodeType": "VariableDeclaration", - "scope": 3390, - "src": "5448:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - "typeName": { - "id": 3385, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "5448:6:10", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3388, - "indexed": false, - "name": "uri", - "nodeType": "VariableDeclaration", - "scope": 3390, - "src": "5464:10:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - "typeName": { - "id": 3387, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "5464:6:10", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5307:168:10" - }, - "src": "5279:197:10" - }, - { - "constant": false, - "id": 3394, - "name": "m_callbackDone", - "nodeType": "VariableDeclaration", - "scope": 3513, - "src": "5510:39:10", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - }, - "typeName": { - "id": 3393, - "keyType": { - "id": 3391, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5518:7:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "5510:24:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - }, - "valueType": { - "id": 3392, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5529:4:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "body": { - "id": 3405, - "nodeType": "Block", - "src": "5636:38:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3401, - "name": "m_callbackDone", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3394, - "src": "5648:14:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 3403, - "indexExpression": { - "argumentTypes": null, - "id": 3402, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3396, - "src": "5663:5:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5648:21:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 3400, - "id": 3404, - "nodeType": "Return", - "src": "5641:28:10" - } - ] - }, - "documentation": null, - "id": 3406, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "isCallbackDone", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3397, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3396, - "name": "_woid", - "nodeType": "VariableDeclaration", - "scope": 3406, - "src": "5578:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3395, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5578:7:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5577:15:10" - }, - "payable": false, - "returnParameters": { - "id": 3400, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3399, - "name": "callbackDone", - "nodeType": "VariableDeclaration", - "scope": 3406, - "src": "5615:17:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 3398, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5615:4:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5614:19:10" - }, - "scope": 3513, - "src": "5554:120:10", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 3511, - "nodeType": "Block", - "src": "5773:655:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3420, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3408, - "src": "5820:5:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 3418, - "name": "iexecHubInterface", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2441, - "src": "5786:17:10", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IexecHubInterface_$2802", - "typeString": "contract IexecHubInterface" - } - }, - "id": 3419, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "isWoidRegistred", - "nodeType": "MemberAccess", - "referencedDeclaration": 2570, - "src": "5786:33:10", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view external returns (bool)" - } - }, - "id": 3421, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5786:40:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 3417, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "5778:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 3422, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5778:49:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3423, - "nodeType": "ExpressionStatement", - "src": "5778:49:10" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3428, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "5840:22:10", - "subExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3426, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3408, - "src": "5856:5:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 3425, - "name": "isCallbackDone", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3406, - "src": "5841:14:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 3427, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5841:21:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 3424, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "5832:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 3429, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5832:31:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3430, - "nodeType": "ExpressionStatement", - "src": "5832:31:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 3435, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3431, - "name": "m_callbackDone", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3394, - "src": "5868:14:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 3433, - "indexExpression": { - "argumentTypes": null, - "id": 3432, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3408, - "src": "5883:5:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5868:21:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 3434, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5892:4:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "5868:28:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3436, - "nodeType": "ExpressionStatement", - "src": "5868:28:10" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", - "typeString": "enum IexecLib.WorkOrderStatusEnum" - }, - "id": 3446, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3439, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3408, - "src": "5919:5:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 3438, - "name": "WorkOrder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4299, - "src": "5909:9:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_WorkOrder_$4299_$", - "typeString": "type(contract WorkOrder)" - } - }, - "id": 3440, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5909:16:10", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkOrder_$4299", - "typeString": "contract WorkOrder" - } - }, - "id": 3441, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "m_status", - "nodeType": "MemberAccess", - "referencedDeclaration": 4040, - "src": "5909:25:10", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_enum$_WorkOrderStatusEnum_$2832_$", - "typeString": "function () view external returns (enum IexecLib.WorkOrderStatusEnum)" - } - }, - "id": 3442, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5909:27:10", - "typeDescriptions": { - "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", - "typeString": "enum IexecLib.WorkOrderStatusEnum" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3443, - "name": "IexecLib", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2893, - "src": "5940:8:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IexecLib_$2893_$", - "typeString": "type(library IexecLib)" - } - }, - "id": 3444, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "WorkOrderStatusEnum", - "nodeType": "MemberAccess", - "referencedDeclaration": 2832, - "src": "5940:28:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_WorkOrderStatusEnum_$2832_$", - "typeString": "type(enum IexecLib.WorkOrderStatusEnum)" - } - }, - "id": 3445, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "COMPLETED", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5940:38:10", - "typeDescriptions": { - "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", - "typeString": "enum IexecLib.WorkOrderStatusEnum" - } - }, - "src": "5909:69:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 3437, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "5901:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 3447, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5901:78:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3448, - "nodeType": "ExpressionStatement", - "src": "5901:78:10" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "id": 3460, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3451, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3408, - "src": "6002:5:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 3450, - "name": "WorkOrder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4299, - "src": "5992:9:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_WorkOrder_$4299_$", - "typeString": "type(contract WorkOrder)" - } - }, - "id": 3452, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5992:16:10", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkOrder_$4299", - "typeString": "contract WorkOrder" - } - }, - "id": 3453, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "m_resultCallbackProof", - "nodeType": "MemberAccess", - "referencedDeclaration": 4060, - "src": "5992:38:10", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 3454, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5992:40:10", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3456, - "name": "_stdout", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3410, - "src": "6046:7:10", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 3457, - "name": "_stderr", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3412, - "src": "6054:7:10", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 3458, - "name": "_uri", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3414, - "src": "6062:4:10", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 3455, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7002, - "src": "6036:9:10", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 3459, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6036:31:10", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "5992:75:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 3449, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "5984:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 3461, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5984:84:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3462, - "nodeType": "ExpressionStatement", - "src": "5984:84:10" - }, - { - "assignments": [ - 3464 - ], - "declarations": [ - { - "constant": false, - "id": 3464, - "name": "callbackTo", - "nodeType": "VariableDeclaration", - "scope": 3512, - "src": "6073:18:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3463, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6073:7:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3470, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3466, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3408, - "src": "6103:5:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 3465, - "name": "WorkOrder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4299, - "src": "6093:9:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_WorkOrder_$4299_$", - "typeString": "type(contract WorkOrder)" - } - }, - "id": 3467, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6093:16:10", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkOrder_$4299", - "typeString": "contract WorkOrder" - } - }, - "id": 3468, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "m_callback", - "nodeType": "MemberAccess", - "referencedDeclaration": 4056, - "src": "6093:27:10", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", - "typeString": "function () view external returns (address)" - } - }, - "id": 3469, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6093:29:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6073:49:10" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 3476, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3472, - "name": "callbackTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3464, - "src": "6135:10:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 3474, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6157:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 3473, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6149:7:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 3475, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6149:10:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "6135:24:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 3471, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "6127:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 3477, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6127:33:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3478, - "nodeType": "ExpressionStatement", - "src": "6127:33:10" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3484, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3408, - "src": "6231:5:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 3485, - "name": "_stdout", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3410, - "src": "6242:7:10", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 3486, - "name": "_stderr", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3412, - "src": "6255:7:10", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 3487, - "name": "_uri", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3414, - "src": "6268:4:10", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3481, - "name": "callbackTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3464, - "src": "6196:10:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 3480, - "name": "IexecCallbackInterface", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 724, - "src": "6173:22:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IexecCallbackInterface_$724_$", - "typeString": "type(contract IexecCallbackInterface)" - } - }, - "id": 3482, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6173:34:10", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IexecCallbackInterface_$724", - "typeString": "contract IexecCallbackInterface" - } - }, - "id": 3483, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "workOrderCallback", - "nodeType": "MemberAccess", - "referencedDeclaration": 713, - "src": "6173:52:10", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$", - "typeString": "function (address,string memory,string memory,string memory) external returns (bool)" - } - }, - "id": 3488, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6173:104:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 3479, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "6165:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 3489, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6165:113:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3490, - "nodeType": "ExpressionStatement", - "src": "6165:113:10" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3492, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3408, - "src": "6311:5:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3494, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3408, - "src": "6327:5:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 3493, - "name": "WorkOrder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4299, - "src": "6317:9:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_WorkOrder_$4299_$", - "typeString": "type(contract WorkOrder)" - } - }, - "id": 3495, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6317:16:10", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkOrder_$4299", - "typeString": "contract WorkOrder" - } - }, - "id": 3496, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "m_requester", - "nodeType": "MemberAccess", - "referencedDeclaration": 4050, - "src": "6317:28:10", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", - "typeString": "function () view external returns (address)" - } - }, - "id": 3497, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6317:30:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3499, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3408, - "src": "6358:5:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 3498, - "name": "WorkOrder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4299, - "src": "6348:9:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_WorkOrder_$4299_$", - "typeString": "type(contract WorkOrder)" - } - }, - "id": 3500, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6348:16:10", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkOrder_$4299", - "typeString": "contract WorkOrder" - } - }, - "id": 3501, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "m_beneficiary", - "nodeType": "MemberAccess", - "referencedDeclaration": 4058, - "src": "6348:30:10", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", - "typeString": "function () view external returns (address)" - } - }, - "id": 3502, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6348:32:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 3503, - "name": "callbackTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3464, - "src": "6381:10:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3504, - "name": "tx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7018, - "src": "6392:2:10", - "typeDescriptions": { - "typeIdentifier": "t_magic_transaction", - "typeString": "tx" - } - }, - "id": 3505, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "origin", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6392:9:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 3506, - "name": "_stdout", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3410, - "src": "6402:7:10", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 3507, - "name": "_stderr", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3412, - "src": "6410:7:10", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 3508, - "name": "_uri", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3414, - "src": "6418:4:10", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 3491, - "name": "WorkOrderCallbackProof", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3390, - "src": "6288:22:10", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_address_$_t_address_$_t_address_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (address,address,address,address,address,string memory,string memory,string memory)" - } - }, - "id": 3509, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6288:135:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3510, - "nodeType": "EmitStatement", - "src": "6283:140:10" - } - ] - }, - "documentation": null, - "id": 3512, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "workOrderCallback", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3415, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3408, - "name": "_woid", - "nodeType": "VariableDeclaration", - "scope": 3512, - "src": "5705:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3407, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5705:7:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3410, - "name": "_stdout", - "nodeType": "VariableDeclaration", - "scope": 3512, - "src": "5719:14:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - "typeName": { - "id": 3409, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "5719:6:10", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3412, - "name": "_stderr", - "nodeType": "VariableDeclaration", - "scope": 3512, - "src": "5735:14:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - "typeName": { - "id": 3411, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "5735:6:10", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3414, - "name": "_uri", - "nodeType": "VariableDeclaration", - "scope": 3512, - "src": "5751:11:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - "typeName": { - "id": 3413, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "5751:6:10", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5704:59:10" - }, - "payable": false, - "returnParameters": { - "id": 3416, - "nodeType": "ParameterList", - "parameters": [], - "src": "5773:0:10" - }, - "scope": 3513, - "src": "5678:750:10", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 3514, - "src": "177:6254:10" - } - ], - "src": "0:6432:10" - }, - "compiler": { - "name": "solc", - "version": "0.4.21+commit.dfe3193c.Emscripten.clang" - }, - "networks": { - "3": { - "events": {}, - "links": {}, - "address": "0xc65b1643b8a6a2ba8fe70310be82689f8563917e", - "transactionHash": "0xde895aefba06d9434bf2cbf98596555819dae2a66c469d740139aa9afa71e08f" - }, - "4": { - "events": {}, - "links": {}, - "address": "0x2a6a5a0516add25dda891e4afdfc15cbcdf21643", - "transactionHash": "0xa86b5228523abde4c9c7e7c94efb8e7bf3f5be7e54235ba59e028dc2f4c76206" - }, - "42": { - "events": {}, - "links": {}, - "address": "0x9315a6ae9a9842bcb5ad8f5d43a4271d297088e2", - "transactionHash": "0x5ce96b9a7361cb6f557b9ff631cea6df2f6b4d11012682b27a7e814fac20feb9" - } - }, - "schemaVersion": "2.0.0", - "updatedAt": "2018-05-21T11:48:56.520Z" -} diff --git a/build/contracts/MarketplaceAccessor.json b/build/contracts/MarketplaceAccessor.json deleted file mode 100644 index f1c8989e..00000000 --- a/build/contracts/MarketplaceAccessor.json +++ /dev/null @@ -1,883 +0,0 @@ -{ - "contractName": "MarketplaceAccessor", - "abi": [ - { - "inputs": [ - { - "name": "_marketplaceAddress", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - } - ], - "bytecode": "0x60606040523415600e57600080fd5b60405160208060a383398101604052808051915050600160a060020a0381161515603757600080fd5b60008054600160a060020a03909216600160a060020a0319928316811790915560018054909216179055603580606e6000396000f3006060604052600080fd00a165627a7a7230582028a3ca0ac1aea21a0b958f8f751e114a59010a5ecd5d2cf0e4151510b0ca61480029", - "deployedBytecode": "0x6060604052600080fd00a165627a7a7230582028a3ca0ac1aea21a0b958f8f751e114a59010a5ecd5d2cf0e4151510b0ca61480029", - "sourceMap": "64:467:11:-;;;299:230;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;377:33:11;;;;369:42;;;;;;415:18;:42;;-1:-1:-1;;;;;415:42:11;;;-1:-1:-1;;;;;;415:42:11;;;;;;;;;461:64;;;;;;;;64:467;;;;;;", - "deployedSourceMap": "64:467:11:-;;;;;", - "source": "pragma solidity ^0.4.21;\n\nimport './MarketplaceInterface.sol';\n\ncontract MarketplaceAccessor\n{\n\taddress internal marketplaceAddress;\n\tMarketplaceInterface internal marketplaceInterface;\n/* not used\n\tmodifier onlyMarketplace()\n\t{\n\t\trequire(msg.sender == marketplaceAddress);\n\t\t_;\n\t}*/\n\n\tfunction MarketplaceAccessor(address _marketplaceAddress) public\n\t{\n\t\trequire(_marketplaceAddress != address(0));\n\t\tmarketplaceAddress = _marketplaceAddress;\n\t\tmarketplaceInterface = MarketplaceInterface(_marketplaceAddress);\n\t}\n}\n", - "sourcePath": "/Users/fbranci/iexecdev/PoCo/contracts/MarketplaceAccessor.sol", - "ast": { - "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/MarketplaceAccessor.sol", - "exportedSymbols": { - "MarketplaceAccessor": [ - 3545 - ] - }, - "id": 3546, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 3515, - "literals": [ - "solidity", - "^", - "0.4", - ".21" - ], - "nodeType": "PragmaDirective", - "src": "0:24:11" - }, - { - "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/MarketplaceInterface.sol", - "file": "./MarketplaceInterface.sol", - "id": 3516, - "nodeType": "ImportDirective", - "scope": 3546, - "sourceUnit": 3621, - "src": "26:36:11", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 3545, - "linearizedBaseContracts": [ - 3545 - ], - "name": "MarketplaceAccessor", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "id": 3518, - "name": "marketplaceAddress", - "nodeType": "VariableDeclaration", - "scope": 3545, - "src": "96:48:11", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3517, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "96:7:11", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3520, - "name": "marketplaceInterface", - "nodeType": "VariableDeclaration", - "scope": 3545, - "src": "147:50:11", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MarketplaceInterface_$3620", - "typeString": "contract MarketplaceInterface" - }, - "typeName": { - "contractScope": null, - "id": 3519, - "name": "MarketplaceInterface", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 3620, - "src": "147:20:11", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MarketplaceInterface_$3620", - "typeString": "contract MarketplaceInterface" - } - }, - "value": null, - "visibility": "internal" - }, - { - "body": { - "id": 3543, - "nodeType": "Block", - "src": "365:164:11", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 3530, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3526, - "name": "_marketplaceAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3522, - "src": "377:19:11", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 3528, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "408:1:11", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 3527, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "400:7:11", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 3529, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "400:10:11", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "377:33:11", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 3525, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "369:7:11", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 3531, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "369:42:11", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3532, - "nodeType": "ExpressionStatement", - "src": "369:42:11" - }, - { - "expression": { - "argumentTypes": null, - "id": 3535, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 3533, - "name": "marketplaceAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3518, - "src": "415:18:11", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 3534, - "name": "_marketplaceAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3522, - "src": "438:19:11", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "415:42:11", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 3536, - "nodeType": "ExpressionStatement", - "src": "415:42:11" - }, - { - "expression": { - "argumentTypes": null, - "id": 3541, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 3537, - "name": "marketplaceInterface", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3520, - "src": "461:20:11", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MarketplaceInterface_$3620", - "typeString": "contract MarketplaceInterface" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3539, - "name": "_marketplaceAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3522, - "src": "505:19:11", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 3538, - "name": "MarketplaceInterface", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3620, - "src": "484:20:11", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_MarketplaceInterface_$3620_$", - "typeString": "type(contract MarketplaceInterface)" - } - }, - "id": 3540, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "484:41:11", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MarketplaceInterface_$3620", - "typeString": "contract MarketplaceInterface" - } - }, - "src": "461:64:11", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MarketplaceInterface_$3620", - "typeString": "contract MarketplaceInterface" - } - }, - "id": 3542, - "nodeType": "ExpressionStatement", - "src": "461:64:11" - } - ] - }, - "documentation": null, - "id": 3544, - "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, - "modifiers": [], - "name": "MarketplaceAccessor", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3523, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3522, - "name": "_marketplaceAddress", - "nodeType": "VariableDeclaration", - "scope": 3544, - "src": "328:27:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3521, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "328:7:11", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "327:29:11" - }, - "payable": false, - "returnParameters": { - "id": 3524, - "nodeType": "ParameterList", - "parameters": [], - "src": "365:0:11" - }, - "scope": 3545, - "src": "299:230:11", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 3546, - "src": "64:467:11" - } - ], - "src": "0:532:11" - }, - "legacyAST": { - "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/MarketplaceAccessor.sol", - "exportedSymbols": { - "MarketplaceAccessor": [ - 3545 - ] - }, - "id": 3546, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 3515, - "literals": [ - "solidity", - "^", - "0.4", - ".21" - ], - "nodeType": "PragmaDirective", - "src": "0:24:11" - }, - { - "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/MarketplaceInterface.sol", - "file": "./MarketplaceInterface.sol", - "id": 3516, - "nodeType": "ImportDirective", - "scope": 3546, - "sourceUnit": 3621, - "src": "26:36:11", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 3545, - "linearizedBaseContracts": [ - 3545 - ], - "name": "MarketplaceAccessor", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "id": 3518, - "name": "marketplaceAddress", - "nodeType": "VariableDeclaration", - "scope": 3545, - "src": "96:48:11", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3517, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "96:7:11", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3520, - "name": "marketplaceInterface", - "nodeType": "VariableDeclaration", - "scope": 3545, - "src": "147:50:11", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MarketplaceInterface_$3620", - "typeString": "contract MarketplaceInterface" - }, - "typeName": { - "contractScope": null, - "id": 3519, - "name": "MarketplaceInterface", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 3620, - "src": "147:20:11", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MarketplaceInterface_$3620", - "typeString": "contract MarketplaceInterface" - } - }, - "value": null, - "visibility": "internal" - }, - { - "body": { - "id": 3543, - "nodeType": "Block", - "src": "365:164:11", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 3530, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3526, - "name": "_marketplaceAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3522, - "src": "377:19:11", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 3528, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "408:1:11", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 3527, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "400:7:11", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 3529, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "400:10:11", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "377:33:11", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 3525, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "369:7:11", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 3531, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "369:42:11", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3532, - "nodeType": "ExpressionStatement", - "src": "369:42:11" - }, - { - "expression": { - "argumentTypes": null, - "id": 3535, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 3533, - "name": "marketplaceAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3518, - "src": "415:18:11", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 3534, - "name": "_marketplaceAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3522, - "src": "438:19:11", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "415:42:11", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 3536, - "nodeType": "ExpressionStatement", - "src": "415:42:11" - }, - { - "expression": { - "argumentTypes": null, - "id": 3541, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 3537, - "name": "marketplaceInterface", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3520, - "src": "461:20:11", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MarketplaceInterface_$3620", - "typeString": "contract MarketplaceInterface" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3539, - "name": "_marketplaceAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3522, - "src": "505:19:11", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 3538, - "name": "MarketplaceInterface", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3620, - "src": "484:20:11", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_MarketplaceInterface_$3620_$", - "typeString": "type(contract MarketplaceInterface)" - } - }, - "id": 3540, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "484:41:11", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MarketplaceInterface_$3620", - "typeString": "contract MarketplaceInterface" - } - }, - "src": "461:64:11", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MarketplaceInterface_$3620", - "typeString": "contract MarketplaceInterface" - } - }, - "id": 3542, - "nodeType": "ExpressionStatement", - "src": "461:64:11" - } - ] - }, - "documentation": null, - "id": 3544, - "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, - "modifiers": [], - "name": "MarketplaceAccessor", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3523, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3522, - "name": "_marketplaceAddress", - "nodeType": "VariableDeclaration", - "scope": 3544, - "src": "328:27:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3521, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "328:7:11", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "327:29:11" - }, - "payable": false, - "returnParameters": { - "id": 3524, - "nodeType": "ParameterList", - "parameters": [], - "src": "365:0:11" - }, - "scope": 3545, - "src": "299:230:11", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 3546, - "src": "64:467:11" - } - ], - "src": "0:532:11" - }, - "compiler": { - "name": "solc", - "version": "0.4.21+commit.dfe3193c.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "2.0.0", -<<<<<<< Updated upstream - "updatedAt": "2018-05-19T20:49:59.805Z" -======= - "updatedAt": "2018-05-20T20:12:33.558Z" ->>>>>>> Stashed changes -} \ No newline at end of file diff --git a/build/contracts/MarketplaceInterface.json b/build/contracts/MarketplaceInterface.json deleted file mode 100644 index f9241239..00000000 --- a/build/contracts/MarketplaceInterface.json +++ /dev/null @@ -1,2045 +0,0 @@ -{ - "contractName": "MarketplaceInterface", - "abi": [ - { - "constant": false, - "inputs": [ - { - "name": "_direction", - "type": "uint8" - }, - { - "name": "_category", - "type": "uint256" - }, - { - "name": "_trust", - "type": "uint256" - }, - { - "name": "_value", - "type": "uint256" - }, - { - "name": "_workerpool", - "type": "address" - }, - { - "name": "_volume", - "type": "uint256" - } - ], - "name": "createMarketOrder", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_marketorderIdx", - "type": "uint256" - } - ], - "name": "closeMarketOrder", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_marketorderIdx", - "type": "uint256" - } - ], - "name": "getMarketOrderValue", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_marketorderIdx", - "type": "uint256" - } - ], - "name": "getMarketOrderWorkerpoolOwner", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_marketorderIdx", - "type": "uint256" - } - ], - "name": "getMarketOrderCategory", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_marketorderIdx", - "type": "uint256" - } - ], - "name": "getMarketOrderTrust", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_marketorderIdx", - "type": "uint256" - } - ], - "name": "getMarketOrder", - "outputs": [ - { - "name": "direction", - "type": "uint8" - }, - { - "name": "category", - "type": "uint256" - }, - { - "name": "trust", - "type": "uint256" - }, - { - "name": "value", - "type": "uint256" - }, - { - "name": "volume", - "type": "uint256" - }, - { - "name": "remaining", - "type": "uint256" - }, - { - "name": "workerpool", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x", - "deployedBytecode": "0x", - "sourceMap": "", - "deployedSourceMap": "", - "source": "pragma solidity ^0.4.21;\nimport './IexecLib.sol';\ncontract MarketplaceInterface\n{\n\tfunction createMarketOrder(\n\t\tIexecLib.MarketOrderDirectionEnum _direction,\n\t\tuint256 _category,\n\t\tuint256 _trust,\n\t\tuint256 _value,\n\t\taddress _workerpool,\n\t\tuint256 _volume)\n\tpublic returns (uint);\n\n\tfunction closeMarketOrder(\n\t\tuint256 _marketorderIdx)\n\tpublic returns (bool);\n\n\tfunction getMarketOrderValue(\n\t\tuint256 _marketorderIdx)\n\tpublic view returns(uint256);\n\n\tfunction getMarketOrderWorkerpoolOwner(\n\t\tuint256 _marketorderIdx)\n\tpublic view returns(address);\n\n\tfunction getMarketOrderCategory(\n\t\tuint256 _marketorderIdx)\n\tpublic view returns (uint256);\n\n\tfunction getMarketOrderTrust(\n\t\tuint256 _marketorderIdx)\n\tpublic view returns(uint256);\n\n\tfunction getMarketOrder(\n\t\tuint256 _marketorderIdx)\n\tpublic view returns(\n\t\tIexecLib.MarketOrderDirectionEnum direction,\n\t\tuint256 category, // runtime selection\n\t\tuint256 trust, // for PoCo\n\t\tuint256 value, // value/cost/price\n\t\tuint256 volume, // quantity of instances (total)\n\t\tuint256 remaining, // remaining instances\n\t\taddress workerpool); // BID can use null for any\n}\n", - "sourcePath": "/Users/fbranci/iexecdev/PoCo/contracts/MarketplaceInterface.sol", - "ast": { - "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/MarketplaceInterface.sol", - "exportedSymbols": { - "MarketplaceInterface": [ - 3620 - ] - }, - "id": 3621, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 3547, - "literals": [ - "solidity", - "^", - "0.4", - ".21" - ], - "nodeType": "PragmaDirective", - "src": "0:24:12" - }, - { - "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/IexecLib.sol", - "file": "./IexecLib.sol", - "id": 3548, - "nodeType": "ImportDirective", - "scope": 3621, - "sourceUnit": 2894, - "src": "25:24:12", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": false, - "id": 3620, - "linearizedBaseContracts": [ - 3620 - ], - "name": "MarketplaceInterface", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "id": 3565, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "createMarketOrder", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3561, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3550, - "name": "_direction", - "nodeType": "VariableDeclaration", - "scope": 3565, - "src": "113:44:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2809", - "typeString": "enum IexecLib.MarketOrderDirectionEnum" - }, - "typeName": { - "contractScope": null, - "id": 3549, - "name": "IexecLib.MarketOrderDirectionEnum", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2809, - "src": "113:33:12", - "typeDescriptions": { - "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2809", - "typeString": "enum IexecLib.MarketOrderDirectionEnum" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3552, - "name": "_category", - "nodeType": "VariableDeclaration", - "scope": 3565, - "src": "161:17:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3551, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "161:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3554, - "name": "_trust", - "nodeType": "VariableDeclaration", - "scope": 3565, - "src": "182:14:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3553, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "182:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3556, - "name": "_value", - "nodeType": "VariableDeclaration", - "scope": 3565, - "src": "200:14:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3555, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "200:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3558, - "name": "_workerpool", - "nodeType": "VariableDeclaration", - "scope": 3565, - "src": "218:19:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3557, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "218:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3560, - "name": "_volume", - "nodeType": "VariableDeclaration", - "scope": 3565, - "src": "241:15:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3559, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "241:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "109:148:12" - }, - "payable": false, - "returnParameters": { - "id": 3564, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3563, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 3565, - "src": "275:4:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3562, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "275:4:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "274:6:12" - }, - "scope": 3620, - "src": "83:198:12", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 3572, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "closeMarketOrder", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3568, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3567, - "name": "_marketorderIdx", - "nodeType": "VariableDeclaration", - "scope": 3572, - "src": "313:23:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3566, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "313:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "309:28:12" - }, - "payable": false, - "returnParameters": { - "id": 3571, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3570, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 3572, - "src": "355:4:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 3569, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "355:4:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "354:6:12" - }, - "scope": 3620, - "src": "284:77:12", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 3579, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getMarketOrderValue", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3575, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3574, - "name": "_marketorderIdx", - "nodeType": "VariableDeclaration", - "scope": 3579, - "src": "396:23:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3573, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "396:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "392:28:12" - }, - "payable": false, - "returnParameters": { - "id": 3578, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3577, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 3579, - "src": "442:7:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3576, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "442:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "441:9:12" - }, - "scope": 3620, - "src": "364:87:12", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 3586, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getMarketOrderWorkerpoolOwner", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3582, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3581, - "name": "_marketorderIdx", - "nodeType": "VariableDeclaration", - "scope": 3586, - "src": "496:23:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3580, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "496:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "492:28:12" - }, - "payable": false, - "returnParameters": { - "id": 3585, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3584, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 3586, - "src": "542:7:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3583, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "542:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "541:9:12" - }, - "scope": 3620, - "src": "454:97:12", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 3593, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getMarketOrderCategory", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3589, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3588, - "name": "_marketorderIdx", - "nodeType": "VariableDeclaration", - "scope": 3593, - "src": "589:23:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3587, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "589:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "585:28:12" - }, - "payable": false, - "returnParameters": { - "id": 3592, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3591, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 3593, - "src": "636:7:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3590, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "636:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "635:9:12" - }, - "scope": 3620, - "src": "554:91:12", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 3600, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getMarketOrderTrust", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3596, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3595, - "name": "_marketorderIdx", - "nodeType": "VariableDeclaration", - "scope": 3600, - "src": "680:23:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3594, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "680:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "676:28:12" - }, - "payable": false, - "returnParameters": { - "id": 3599, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3598, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 3600, - "src": "726:7:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3597, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "726:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "725:9:12" - }, - "scope": 3620, - "src": "648:87:12", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 3619, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getMarketOrder", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3603, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3602, - "name": "_marketorderIdx", - "nodeType": "VariableDeclaration", - "scope": 3619, - "src": "765:23:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3601, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "765:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "761:28:12" - }, - "payable": false, - "returnParameters": { - "id": 3618, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3605, - "name": "direction", - "nodeType": "VariableDeclaration", - "scope": 3619, - "src": "814:43:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2809", - "typeString": "enum IexecLib.MarketOrderDirectionEnum" - }, - "typeName": { - "contractScope": null, - "id": 3604, - "name": "IexecLib.MarketOrderDirectionEnum", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2809, - "src": "814:33:12", - "typeDescriptions": { - "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2809", - "typeString": "enum IexecLib.MarketOrderDirectionEnum" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3607, - "name": "category", - "nodeType": "VariableDeclaration", - "scope": 3619, - "src": "861:16:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3606, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "861:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3609, - "name": "trust", - "nodeType": "VariableDeclaration", - "scope": 3619, - "src": "908:13:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3608, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "908:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3611, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 3619, - "src": "946:13:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3610, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "946:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3613, - "name": "volume", - "nodeType": "VariableDeclaration", - "scope": 3619, - "src": "992:14:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3612, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "992:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3615, - "name": "remaining", - "nodeType": "VariableDeclaration", - "scope": 3619, - "src": "1051:17:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3614, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1051:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3617, - "name": "workerpool", - "nodeType": "VariableDeclaration", - "scope": 3619, - "src": "1100:18:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3616, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1100:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "810:309:12" - }, - "scope": 3620, - "src": "738:382:12", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 3621, - "src": "50:1103:12" - } - ], - "src": "0:1154:12" - }, - "legacyAST": { - "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/MarketplaceInterface.sol", - "exportedSymbols": { - "MarketplaceInterface": [ - 3620 - ] - }, - "id": 3621, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 3547, - "literals": [ - "solidity", - "^", - "0.4", - ".21" - ], - "nodeType": "PragmaDirective", - "src": "0:24:12" - }, - { - "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/IexecLib.sol", - "file": "./IexecLib.sol", - "id": 3548, - "nodeType": "ImportDirective", - "scope": 3621, - "sourceUnit": 2894, - "src": "25:24:12", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": false, - "id": 3620, - "linearizedBaseContracts": [ - 3620 - ], - "name": "MarketplaceInterface", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "id": 3565, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "createMarketOrder", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3561, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3550, - "name": "_direction", - "nodeType": "VariableDeclaration", - "scope": 3565, - "src": "113:44:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2809", - "typeString": "enum IexecLib.MarketOrderDirectionEnum" - }, - "typeName": { - "contractScope": null, - "id": 3549, - "name": "IexecLib.MarketOrderDirectionEnum", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2809, - "src": "113:33:12", - "typeDescriptions": { - "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2809", - "typeString": "enum IexecLib.MarketOrderDirectionEnum" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3552, - "name": "_category", - "nodeType": "VariableDeclaration", - "scope": 3565, - "src": "161:17:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3551, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "161:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3554, - "name": "_trust", - "nodeType": "VariableDeclaration", - "scope": 3565, - "src": "182:14:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3553, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "182:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3556, - "name": "_value", - "nodeType": "VariableDeclaration", - "scope": 3565, - "src": "200:14:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3555, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "200:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3558, - "name": "_workerpool", - "nodeType": "VariableDeclaration", - "scope": 3565, - "src": "218:19:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3557, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "218:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3560, - "name": "_volume", - "nodeType": "VariableDeclaration", - "scope": 3565, - "src": "241:15:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3559, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "241:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "109:148:12" - }, - "payable": false, - "returnParameters": { - "id": 3564, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3563, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 3565, - "src": "275:4:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3562, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "275:4:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "274:6:12" - }, - "scope": 3620, - "src": "83:198:12", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 3572, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "closeMarketOrder", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3568, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3567, - "name": "_marketorderIdx", - "nodeType": "VariableDeclaration", - "scope": 3572, - "src": "313:23:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3566, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "313:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "309:28:12" - }, - "payable": false, - "returnParameters": { - "id": 3571, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3570, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 3572, - "src": "355:4:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 3569, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "355:4:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "354:6:12" - }, - "scope": 3620, - "src": "284:77:12", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 3579, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getMarketOrderValue", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3575, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3574, - "name": "_marketorderIdx", - "nodeType": "VariableDeclaration", - "scope": 3579, - "src": "396:23:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3573, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "396:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "392:28:12" - }, - "payable": false, - "returnParameters": { - "id": 3578, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3577, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 3579, - "src": "442:7:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3576, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "442:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "441:9:12" - }, - "scope": 3620, - "src": "364:87:12", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 3586, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getMarketOrderWorkerpoolOwner", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3582, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3581, - "name": "_marketorderIdx", - "nodeType": "VariableDeclaration", - "scope": 3586, - "src": "496:23:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3580, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "496:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "492:28:12" - }, - "payable": false, - "returnParameters": { - "id": 3585, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3584, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 3586, - "src": "542:7:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3583, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "542:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "541:9:12" - }, - "scope": 3620, - "src": "454:97:12", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 3593, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getMarketOrderCategory", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3589, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3588, - "name": "_marketorderIdx", - "nodeType": "VariableDeclaration", - "scope": 3593, - "src": "589:23:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3587, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "589:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "585:28:12" - }, - "payable": false, - "returnParameters": { - "id": 3592, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3591, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 3593, - "src": "636:7:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3590, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "636:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "635:9:12" - }, - "scope": 3620, - "src": "554:91:12", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 3600, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getMarketOrderTrust", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3596, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3595, - "name": "_marketorderIdx", - "nodeType": "VariableDeclaration", - "scope": 3600, - "src": "680:23:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3594, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "680:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "676:28:12" - }, - "payable": false, - "returnParameters": { - "id": 3599, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3598, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 3600, - "src": "726:7:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3597, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "726:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "725:9:12" - }, - "scope": 3620, - "src": "648:87:12", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 3619, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getMarketOrder", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3603, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3602, - "name": "_marketorderIdx", - "nodeType": "VariableDeclaration", - "scope": 3619, - "src": "765:23:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3601, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "765:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "761:28:12" - }, - "payable": false, - "returnParameters": { - "id": 3618, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3605, - "name": "direction", - "nodeType": "VariableDeclaration", - "scope": 3619, - "src": "814:43:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2809", - "typeString": "enum IexecLib.MarketOrderDirectionEnum" - }, - "typeName": { - "contractScope": null, - "id": 3604, - "name": "IexecLib.MarketOrderDirectionEnum", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2809, - "src": "814:33:12", - "typeDescriptions": { - "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2809", - "typeString": "enum IexecLib.MarketOrderDirectionEnum" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3607, - "name": "category", - "nodeType": "VariableDeclaration", - "scope": 3619, - "src": "861:16:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3606, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "861:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3609, - "name": "trust", - "nodeType": "VariableDeclaration", - "scope": 3619, - "src": "908:13:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3608, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "908:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3611, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 3619, - "src": "946:13:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3610, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "946:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3613, - "name": "volume", - "nodeType": "VariableDeclaration", - "scope": 3619, - "src": "992:14:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3612, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "992:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3615, - "name": "remaining", - "nodeType": "VariableDeclaration", - "scope": 3619, - "src": "1051:17:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3614, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1051:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3617, - "name": "workerpool", - "nodeType": "VariableDeclaration", - "scope": 3619, - "src": "1100:18:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3616, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1100:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "810:309:12" - }, - "scope": 3620, - "src": "738:382:12", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 3621, - "src": "50:1103:12" - } - ], - "src": "0:1154:12" - }, - "compiler": { - "name": "solc", - "version": "0.4.21+commit.dfe3193c.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "2.0.0", -<<<<<<< Updated upstream - "updatedAt": "2018-05-19T20:49:59.811Z" -======= - "updatedAt": "2018-05-20T20:12:33.558Z" ->>>>>>> Stashed changes -} \ No newline at end of file diff --git a/build/contracts/Migrations.json b/build/contracts/Migrations.json deleted file mode 100644 index d71c1999..00000000 --- a/build/contracts/Migrations.json +++ /dev/null @@ -1,1414 +0,0 @@ -{ - "contractName": "Migrations", - "abi": [ - { - "constant": true, - "inputs": [], - "name": "last_completed_migration", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "owner", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "constant": false, - "inputs": [ - { - "name": "completed", - "type": "uint256" - } - ], - "name": "setCompleted", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "new_address", - "type": "address" - } - ], - "name": "upgrade", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x6060604052341561000f57600080fd5b60008054600160a060020a033316600160a060020a03199091161790556102318061003b6000396000f3006060604052600436106100615763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630900f0108114610066578063445df0ac146100945780638da5cb5b146100b9578063fdacd576146100f5575b600080fd5b341561007157600080fd5b61009273ffffffffffffffffffffffffffffffffffffffff6004351661010b565b005b341561009f57600080fd5b6100a76101b6565b60405190815260200160405180910390f35b34156100c457600080fd5b6100cc6101bc565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b341561010057600080fd5b6100926004356101d8565b600080543373ffffffffffffffffffffffffffffffffffffffff908116911614156101b2578190508073ffffffffffffffffffffffffffffffffffffffff1663fdacd5766001546040517c010000000000000000000000000000000000000000000000000000000063ffffffff84160281526004810191909152602401600060405180830381600087803b15156101a157600080fd5b5af115156101ae57600080fd5b5050505b5050565b60015481565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b6000543373ffffffffffffffffffffffffffffffffffffffff908116911614156102025760018190555b505600a165627a7a72305820caa56e9b5581d42b13fc1eb71a3471f8d4597a5bf505905ab933435114cc87c10029", - "deployedBytecode": "0x6060604052600436106100615763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630900f0108114610066578063445df0ac146100945780638da5cb5b146100b9578063fdacd576146100f5575b600080fd5b341561007157600080fd5b61009273ffffffffffffffffffffffffffffffffffffffff6004351661010b565b005b341561009f57600080fd5b6100a76101b6565b60405190815260200160405180910390f35b34156100c457600080fd5b6100cc6101bc565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b341561010057600080fd5b6100926004356101d8565b600080543373ffffffffffffffffffffffffffffffffffffffff908116911614156101b2578190508073ffffffffffffffffffffffffffffffffffffffff1663fdacd5766001546040517c010000000000000000000000000000000000000000000000000000000063ffffffff84160281526004810191909152602401600060405180830381600087803b15156101a157600080fd5b5af115156101ae57600080fd5b5050505b5050565b60015481565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b6000543373ffffffffffffffffffffffffffffffffffffffff908116911614156102025760018190555b505600a165627a7a72305820caa56e9b5581d42b13fc1eb71a3471f8d4597a5bf505905ab933435114cc87c10029", - "sourceMap": "25:499:13:-;;;198:56;;;;;;;;232:5;:18;;-1:-1:-1;;;;;240:10:13;232:18;-1:-1:-1;;;;;;232:18:13;;;;;;25:499;;;;;;", - "deployedSourceMap": "25:499:13:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;361:161;;;;;;;;;;;;;;;;;;71:39;;;;;;;;;;;;;;;;;;;;;;;;;;;48:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;257:101;;;;;;;;;;;;;;361:161;422:19;159:5;;145:10;159:5;145:19;;;159:5;;145:19;141:26;;;455:11;422:45;;471:8;:21;;;493:24;;471:47;;;;;;;;;;;;;;;;;;-1:-1:-1;471:47:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;141:26;361:161;;:::o;71:39::-;;;;:::o;48:20::-;;;;;;:::o;257:101::-;159:5;;145:10;159:5;145:19;;;159:5;;145:19;141:26;;;318:24;:36;;;141:26;257:101;:::o", - "source": "pragma solidity ^0.4.4;\n\ncontract Migrations\n{\n\taddress public owner;\n\tuint public last_completed_migration;\n\n\tmodifier restricted()\n\t{\n\t\tif (msg.sender == owner) _; // TODO: if → require\n\t}\n\n\tfunction Migrations() public\n\t{\n\t\towner = msg.sender;\n\t}\n\n\tfunction setCompleted(uint completed) public restricted\n\t{\n\t\tlast_completed_migration = completed;\n\t}\n\n\tfunction upgrade(address new_address) public restricted\n\t{\n\t\tMigrations upgraded = Migrations(new_address);\n\t\tupgraded.setCompleted(last_completed_migration);\n\t}\n}\n", - "sourcePath": "/Users/fbranci/iexecdev/PoCo/contracts/Migrations.sol", - "ast": { - "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/Migrations.sol", - "exportedSymbols": { - "Migrations": [ - 3677 - ] - }, - "id": 3678, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 3622, - "literals": [ - "solidity", - "^", - "0.4", - ".4" - ], - "nodeType": "PragmaDirective", - "src": "0:23:13" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 3677, - "linearizedBaseContracts": [ - 3677 - ], - "name": "Migrations", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "id": 3624, - "name": "owner", - "nodeType": "VariableDeclaration", - "scope": 3677, - "src": "48:20:13", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3623, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "48:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 3626, - "name": "last_completed_migration", - "nodeType": "VariableDeclaration", - "scope": 3677, - "src": "71:39:13", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3625, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "71:4:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "body": { - "id": 3634, - "nodeType": "Block", - "src": "137:58:13", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 3631, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3628, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "145:3:13", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3629, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "145:10:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 3630, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3624, - "src": "159:5:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "145:19:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 3633, - "nodeType": "IfStatement", - "src": "141:26:13", - "trueBody": { - "id": 3632, - "nodeType": "PlaceholderStatement", - "src": "166:1:13" - } - } - ] - }, - "documentation": null, - "id": 3635, - "name": "restricted", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 3627, - "nodeType": "ParameterList", - "parameters": [], - "src": "133:2:13" - }, - "src": "114:81:13", - "visibility": "internal" - }, - { - "body": { - "id": 3643, - "nodeType": "Block", - "src": "228:26:13", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 3641, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 3638, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3624, - "src": "232:5:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3639, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "240:3:13", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3640, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "240:10:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "232:18:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 3642, - "nodeType": "ExpressionStatement", - "src": "232:18:13" - } - ] - }, - "documentation": null, - "id": 3644, - "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, - "modifiers": [], - "name": "Migrations", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3636, - "nodeType": "ParameterList", - "parameters": [], - "src": "217:2:13" - }, - "payable": false, - "returnParameters": { - "id": 3637, - "nodeType": "ParameterList", - "parameters": [], - "src": "228:0:13" - }, - "scope": 3677, - "src": "198:56:13", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 3655, - "nodeType": "Block", - "src": "314:44:13", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 3653, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 3651, - "name": "last_completed_migration", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3626, - "src": "318:24:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 3652, - "name": "completed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3646, - "src": "345:9:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "318:36:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3654, - "nodeType": "ExpressionStatement", - "src": "318:36:13" - } - ] - }, - "documentation": null, - "id": 3656, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [], - "id": 3649, - "modifierName": { - "argumentTypes": null, - "id": 3648, - "name": "restricted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3635, - "src": "302:10:13", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "302:10:13" - } - ], - "name": "setCompleted", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3647, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3646, - "name": "completed", - "nodeType": "VariableDeclaration", - "scope": 3656, - "src": "279:14:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3645, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "279:4:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "278:16:13" - }, - "payable": false, - "returnParameters": { - "id": 3650, - "nodeType": "ParameterList", - "parameters": [], - "src": "314:0:13" - }, - "scope": 3677, - "src": "257:101:13", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 3675, - "nodeType": "Block", - "src": "418:104:13", - "statements": [ - { - "assignments": [ - 3664 - ], - "declarations": [ - { - "constant": false, - "id": 3664, - "name": "upgraded", - "nodeType": "VariableDeclaration", - "scope": 3676, - "src": "422:19:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Migrations_$3677", - "typeString": "contract Migrations" - }, - "typeName": { - "contractScope": null, - "id": 3663, - "name": "Migrations", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 3677, - "src": "422:10:13", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Migrations_$3677", - "typeString": "contract Migrations" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3668, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3666, - "name": "new_address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3658, - "src": "455:11:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 3665, - "name": "Migrations", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3677, - "src": "444:10:13", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Migrations_$3677_$", - "typeString": "type(contract Migrations)" - } - }, - "id": 3667, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "444:23:13", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Migrations_$3677", - "typeString": "contract Migrations" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "422:45:13" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3672, - "name": "last_completed_migration", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3626, - "src": "493:24:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 3669, - "name": "upgraded", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3664, - "src": "471:8:13", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Migrations_$3677", - "typeString": "contract Migrations" - } - }, - "id": 3671, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "setCompleted", - "nodeType": "MemberAccess", - "referencedDeclaration": 3656, - "src": "471:21:13", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256) external" - } - }, - "id": 3673, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "471:47:13", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3674, - "nodeType": "ExpressionStatement", - "src": "471:47:13" - } - ] - }, - "documentation": null, - "id": 3676, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [], - "id": 3661, - "modifierName": { - "argumentTypes": null, - "id": 3660, - "name": "restricted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3635, - "src": "406:10:13", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "406:10:13" - } - ], - "name": "upgrade", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3659, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3658, - "name": "new_address", - "nodeType": "VariableDeclaration", - "scope": 3676, - "src": "378:19:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3657, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "378:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "377:21:13" - }, - "payable": false, - "returnParameters": { - "id": 3662, - "nodeType": "ParameterList", - "parameters": [], - "src": "418:0:13" - }, - "scope": 3677, - "src": "361:161:13", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 3678, - "src": "25:499:13" - } - ], - "src": "0:525:13" - }, - "legacyAST": { - "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/Migrations.sol", - "exportedSymbols": { - "Migrations": [ - 3677 - ] - }, - "id": 3678, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 3622, - "literals": [ - "solidity", - "^", - "0.4", - ".4" - ], - "nodeType": "PragmaDirective", - "src": "0:23:13" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 3677, - "linearizedBaseContracts": [ - 3677 - ], - "name": "Migrations", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "id": 3624, - "name": "owner", - "nodeType": "VariableDeclaration", - "scope": 3677, - "src": "48:20:13", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3623, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "48:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 3626, - "name": "last_completed_migration", - "nodeType": "VariableDeclaration", - "scope": 3677, - "src": "71:39:13", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3625, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "71:4:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "body": { - "id": 3634, - "nodeType": "Block", - "src": "137:58:13", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 3631, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3628, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "145:3:13", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3629, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "145:10:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 3630, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3624, - "src": "159:5:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "145:19:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 3633, - "nodeType": "IfStatement", - "src": "141:26:13", - "trueBody": { - "id": 3632, - "nodeType": "PlaceholderStatement", - "src": "166:1:13" - } - } - ] - }, - "documentation": null, - "id": 3635, - "name": "restricted", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 3627, - "nodeType": "ParameterList", - "parameters": [], - "src": "133:2:13" - }, - "src": "114:81:13", - "visibility": "internal" - }, - { - "body": { - "id": 3643, - "nodeType": "Block", - "src": "228:26:13", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 3641, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 3638, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3624, - "src": "232:5:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3639, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "240:3:13", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3640, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "240:10:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "232:18:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 3642, - "nodeType": "ExpressionStatement", - "src": "232:18:13" - } - ] - }, - "documentation": null, - "id": 3644, - "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, - "modifiers": [], - "name": "Migrations", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3636, - "nodeType": "ParameterList", - "parameters": [], - "src": "217:2:13" - }, - "payable": false, - "returnParameters": { - "id": 3637, - "nodeType": "ParameterList", - "parameters": [], - "src": "228:0:13" - }, - "scope": 3677, - "src": "198:56:13", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 3655, - "nodeType": "Block", - "src": "314:44:13", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 3653, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 3651, - "name": "last_completed_migration", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3626, - "src": "318:24:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 3652, - "name": "completed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3646, - "src": "345:9:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "318:36:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3654, - "nodeType": "ExpressionStatement", - "src": "318:36:13" - } - ] - }, - "documentation": null, - "id": 3656, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [], - "id": 3649, - "modifierName": { - "argumentTypes": null, - "id": 3648, - "name": "restricted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3635, - "src": "302:10:13", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "302:10:13" - } - ], - "name": "setCompleted", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3647, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3646, - "name": "completed", - "nodeType": "VariableDeclaration", - "scope": 3656, - "src": "279:14:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3645, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "279:4:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "278:16:13" - }, - "payable": false, - "returnParameters": { - "id": 3650, - "nodeType": "ParameterList", - "parameters": [], - "src": "314:0:13" - }, - "scope": 3677, - "src": "257:101:13", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 3675, - "nodeType": "Block", - "src": "418:104:13", - "statements": [ - { - "assignments": [ - 3664 - ], - "declarations": [ - { - "constant": false, - "id": 3664, - "name": "upgraded", - "nodeType": "VariableDeclaration", - "scope": 3676, - "src": "422:19:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Migrations_$3677", - "typeString": "contract Migrations" - }, - "typeName": { - "contractScope": null, - "id": 3663, - "name": "Migrations", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 3677, - "src": "422:10:13", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Migrations_$3677", - "typeString": "contract Migrations" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3668, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3666, - "name": "new_address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3658, - "src": "455:11:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 3665, - "name": "Migrations", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3677, - "src": "444:10:13", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Migrations_$3677_$", - "typeString": "type(contract Migrations)" - } - }, - "id": 3667, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "444:23:13", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Migrations_$3677", - "typeString": "contract Migrations" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "422:45:13" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3672, - "name": "last_completed_migration", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3626, - "src": "493:24:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 3669, - "name": "upgraded", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3664, - "src": "471:8:13", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Migrations_$3677", - "typeString": "contract Migrations" - } - }, - "id": 3671, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "setCompleted", - "nodeType": "MemberAccess", - "referencedDeclaration": 3656, - "src": "471:21:13", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256) external" - } - }, - "id": 3673, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "471:47:13", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3674, - "nodeType": "ExpressionStatement", - "src": "471:47:13" - } - ] - }, - "documentation": null, - "id": 3676, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [], - "id": 3661, - "modifierName": { - "argumentTypes": null, - "id": 3660, - "name": "restricted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3635, - "src": "406:10:13", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "406:10:13" - } - ], - "name": "upgrade", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3659, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3658, - "name": "new_address", - "nodeType": "VariableDeclaration", - "scope": 3676, - "src": "378:19:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3657, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "378:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "377:21:13" - }, - "payable": false, - "returnParameters": { - "id": 3662, - "nodeType": "ParameterList", - "parameters": [], - "src": "418:0:13" - }, - "scope": 3677, - "src": "361:161:13", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 3678, - "src": "25:499:13" - } - ], - "src": "0:525:13" - }, - "compiler": { - "name": "solc", - "version": "0.4.21+commit.dfe3193c.Emscripten.clang" - }, - "networks": { - "3": { - "events": {}, - "links": {}, - "address": "0x922c8fb7b70ff0e42919f623a53887ef31cf4e91", - "transactionHash": "0x5697151589061e21d3dced8191c942092f0365a17ccdc3014104f0888b0b5648" - }, - "4": { - "events": {}, - "links": {}, - "address": "0x4d4f1096e353b288b7f815a3c0bb878b3e0fa930", - "transactionHash": "0x99d7823ba70acc52b559b5b640a33fb49f1145e99c065c3a32dab39bb501a118" - }, - "42": { - "events": {}, - "links": {}, -<<<<<<< Updated upstream - "address": "0x9d555846844a451dd2396adbe1b5f4a45d7bd2b5", - "transactionHash": "0xf234d345a9d8b5d308a7bd57f8e118d934bc953845563491cc521310b5bb08a2" - }, - "1526762989825": { - "events": {}, - "links": {}, - "address": "0x4376803dc78e0fa0251a68ae7bb949de35863135", - "transactionHash": "0xf234d345a9d8b5d308a7bd57f8e118d934bc953845563491cc521310b5bb08a2" - } - }, - "schemaVersion": "2.0.0", - "updatedAt": "2018-05-19T20:50:05.742Z" -======= - "address": "0x9a1eb11bcbc6cf50fda67519568bec2da3f8cad0", - "transactionHash": "0x9a0a926bde88a7e07eee256f0b6ca5ff4bf47b090bf1893c6baabc662b2977c0" - } - }, - "schemaVersion": "2.0.0", - "updatedAt": "2018-05-21T11:48:56.468Z" ->>>>>>> Stashed changes -} \ No newline at end of file diff --git a/build/contracts/Ownable.json b/build/contracts/Ownable.json deleted file mode 100644 index d8d27d23..00000000 --- a/build/contracts/Ownable.json +++ /dev/null @@ -1,1010 +0,0 @@ -{ - "contractName": "Ownable", - "abi": [ - { - "constant": true, - "inputs": [], - "name": "owner", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "constant": false, - "inputs": [ - { - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x6060604052341561000f57600080fd5b60008054600160a060020a033316600160a060020a031990911617905561017b8061003b6000396000f30060606040526004361061004b5763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416638da5cb5b8114610050578063f2fde38b1461008c575b600080fd5b341561005b57600080fd5b6100636100ba565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b341561009757600080fd5b6100b873ffffffffffffffffffffffffffffffffffffffff600435166100d6565b005b60005473ffffffffffffffffffffffffffffffffffffffff1681565b6000543373ffffffffffffffffffffffffffffffffffffffff9081169116141561014c5773ffffffffffffffffffffffffffffffffffffffff81161561014c576000805473ffffffffffffffffffffffffffffffffffffffff191673ffffffffffffffffffffffffffffffffffffffff83161790555b505600a165627a7a723058207eba7ba71ff3ec41ea7a9d0d2ca627d8e678c141174318bd96396b1432107d2b0029", - "deployedBytecode": "0x60606040526004361061004b5763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416638da5cb5b8114610050578063f2fde38b1461008c575b600080fd5b341561005b57600080fd5b6100636100ba565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b341561009757600080fd5b6100b873ffffffffffffffffffffffffffffffffffffffff600435166100d6565b005b60005473ffffffffffffffffffffffffffffffffffffffff1681565b6000543373ffffffffffffffffffffffffffffffffffffffff9081169116141561014c5773ffffffffffffffffffffffffffffffffffffffff81161561014c576000805473ffffffffffffffffffffffffffffffffffffffff191673ffffffffffffffffffffffffffffffffffffffff83161790555b505600a165627a7a723058207eba7ba71ff3ec41ea7a9d0d2ca627d8e678c141174318bd96396b1432107d2b0029", - "sourceMap": "25:279:21:-;;;71:48;;;;;;;;96:5;:18;;-1:-1:-1;;;;;104:10:21;96:18;-1:-1:-1;;;;;;96:18:21;;;;;;25:279;;;;;;", - "deployedSourceMap": "25:279:21:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;46:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;191:110;;;;;;;;;;;;;;;;;;46:20;;;;;;:::o;191:110::-;168:5;;154:10;168:5;154:19;;;168:5;;154:19;150:32;;;256:22;;;;252:44;;280:5;:16;;-1:-1:-1;;280:16:21;;;;;;;252:44;191:110;:::o", - "source": "pragma solidity ^0.4.8;\n\ncontract Ownable {\n address public owner;\n\n function Ownable() {\n owner = msg.sender;\n }\n\n modifier onlyOwner() {\n if (msg.sender == owner)\n _;\n }\n\n function transferOwnership(address newOwner) onlyOwner {\n if (newOwner != address(0)) owner = newOwner;\n }\n\n}", - "sourcePath": "rlc-token/contracts/Ownable.sol", - "ast": { - "absolutePath": "rlc-token/contracts/Ownable.sol", - "exportedSymbols": { - "Ownable": [ - 6456 - ] - }, - "id": 6457, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 6417, - "literals": [ - "solidity", - "^", - "0.4", - ".8" - ], - "nodeType": "PragmaDirective", - "src": "0:23:21" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 6456, - "linearizedBaseContracts": [ - 6456 - ], - "name": "Ownable", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "id": 6419, - "name": "owner", - "nodeType": "VariableDeclaration", - "scope": 6456, - "src": "46:20:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6418, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "46:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "body": { - "id": 6427, - "nodeType": "Block", - "src": "90:29:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 6425, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6422, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6419, - "src": "96:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6423, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "104:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6424, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "104:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "96:18:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 6426, - "nodeType": "ExpressionStatement", - "src": "96:18:21" - } - ] - }, - "documentation": null, - "id": 6428, - "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, - "modifiers": [], - "name": "Ownable", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6420, - "nodeType": "ParameterList", - "parameters": [], - "src": "87:2:21" - }, - "payable": false, - "returnParameters": { - "id": 6421, - "nodeType": "ParameterList", - "parameters": [], - "src": "90:0:21" - }, - "scope": 6456, - "src": "71:48:21", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 6436, - "nodeType": "Block", - "src": "144:43:21", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 6433, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6430, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "154:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6431, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "154:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 6432, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6419, - "src": "168:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "154:19:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6435, - "nodeType": "IfStatement", - "src": "150:32:21", - "trueBody": { - "id": 6434, - "nodeType": "PlaceholderStatement", - "src": "181:1:21" - } - } - ] - }, - "documentation": null, - "id": 6437, - "name": "onlyOwner", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 6429, - "nodeType": "ParameterList", - "parameters": [], - "src": "141:2:21" - }, - "src": "123:64:21", - "visibility": "internal" - }, - { - "body": { - "id": 6454, - "nodeType": "Block", - "src": "246:55:21", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 6448, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6444, - "name": "newOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6439, - "src": "256:8:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 6446, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "276:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 6445, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "268:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 6447, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "268:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "256:22:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6453, - "nodeType": "IfStatement", - "src": "252:44:21", - "trueBody": { - "expression": { - "argumentTypes": null, - "id": 6451, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6449, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6419, - "src": "280:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6450, - "name": "newOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6439, - "src": "288:8:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "280:16:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 6452, - "nodeType": "ExpressionStatement", - "src": "280:16:21" - } - } - ] - }, - "documentation": null, - "id": 6455, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [], - "id": 6442, - "modifierName": { - "argumentTypes": null, - "id": 6441, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6437, - "src": "236:9:21", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "236:9:21" - } - ], - "name": "transferOwnership", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6440, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6439, - "name": "newOwner", - "nodeType": "VariableDeclaration", - "scope": 6455, - "src": "218:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6438, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "218:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "217:18:21" - }, - "payable": false, - "returnParameters": { - "id": 6443, - "nodeType": "ParameterList", - "parameters": [], - "src": "246:0:21" - }, - "scope": 6456, - "src": "191:110:21", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 6457, - "src": "25:279:21" - } - ], - "src": "0:304:21" - }, - "legacyAST": { - "absolutePath": "rlc-token/contracts/Ownable.sol", - "exportedSymbols": { - "Ownable": [ - 6456 - ] - }, - "id": 6457, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 6417, - "literals": [ - "solidity", - "^", - "0.4", - ".8" - ], - "nodeType": "PragmaDirective", - "src": "0:23:21" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 6456, - "linearizedBaseContracts": [ - 6456 - ], - "name": "Ownable", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "id": 6419, - "name": "owner", - "nodeType": "VariableDeclaration", - "scope": 6456, - "src": "46:20:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6418, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "46:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "body": { - "id": 6427, - "nodeType": "Block", - "src": "90:29:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 6425, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6422, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6419, - "src": "96:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6423, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "104:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6424, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "104:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "96:18:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 6426, - "nodeType": "ExpressionStatement", - "src": "96:18:21" - } - ] - }, - "documentation": null, - "id": 6428, - "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, - "modifiers": [], - "name": "Ownable", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6420, - "nodeType": "ParameterList", - "parameters": [], - "src": "87:2:21" - }, - "payable": false, - "returnParameters": { - "id": 6421, - "nodeType": "ParameterList", - "parameters": [], - "src": "90:0:21" - }, - "scope": 6456, - "src": "71:48:21", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 6436, - "nodeType": "Block", - "src": "144:43:21", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 6433, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6430, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "154:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6431, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "154:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 6432, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6419, - "src": "168:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "154:19:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6435, - "nodeType": "IfStatement", - "src": "150:32:21", - "trueBody": { - "id": 6434, - "nodeType": "PlaceholderStatement", - "src": "181:1:21" - } - } - ] - }, - "documentation": null, - "id": 6437, - "name": "onlyOwner", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 6429, - "nodeType": "ParameterList", - "parameters": [], - "src": "141:2:21" - }, - "src": "123:64:21", - "visibility": "internal" - }, - { - "body": { - "id": 6454, - "nodeType": "Block", - "src": "246:55:21", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 6448, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6444, - "name": "newOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6439, - "src": "256:8:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 6446, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "276:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 6445, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "268:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 6447, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "268:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "256:22:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6453, - "nodeType": "IfStatement", - "src": "252:44:21", - "trueBody": { - "expression": { - "argumentTypes": null, - "id": 6451, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6449, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6419, - "src": "280:5:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6450, - "name": "newOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6439, - "src": "288:8:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "280:16:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 6452, - "nodeType": "ExpressionStatement", - "src": "280:16:21" - } - } - ] - }, - "documentation": null, - "id": 6455, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [], - "id": 6442, - "modifierName": { - "argumentTypes": null, - "id": 6441, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6437, - "src": "236:9:21", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "236:9:21" - } - ], - "name": "transferOwnership", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6440, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6439, - "name": "newOwner", - "nodeType": "VariableDeclaration", - "scope": 6455, - "src": "218:16:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6438, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "218:7:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "217:18:21" - }, - "payable": false, - "returnParameters": { - "id": 6443, - "nodeType": "ParameterList", - "parameters": [], - "src": "246:0:21" - }, - "scope": 6456, - "src": "191:110:21", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 6457, - "src": "25:279:21" - } - ], - "src": "0:304:21" - }, - "compiler": { - "name": "solc", - "version": "0.4.21+commit.dfe3193c.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "2.0.0", - "updatedAt": "2018-05-20T20:12:33.576Z" -} diff --git a/build/contracts/OwnableOZ.json b/build/contracts/OwnableOZ.json deleted file mode 100644 index 4e64033d..00000000 --- a/build/contracts/OwnableOZ.json +++ /dev/null @@ -1,1829 +0,0 @@ -{ - "contractName": "OwnableOZ", - "abi": [ - { - "constant": true, - "inputs": [], - "name": "m_owner", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "m_changeable", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "constant": false, - "inputs": [ - { - "name": "_newOwner", - "type": "address" - } - ], - "name": "setImmutableOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x6060604052341561000f57600080fd5b6000805474010000000000000000000000000000000000000000600160a060020a031990911633600160a060020a03161760a060020a60ff02191617815561020a90819061005d90396000f3006060604052600436106100565763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663bbac78a9811461005b578063deff41c11461007c578063e21b9d08146100ab575b600080fd5b341561006657600080fd5b61007a600160a060020a03600435166100d2565b005b341561008757600080fd5b61008f6101ae565b604051600160a060020a03909116815260200160405180910390f35b34156100b657600080fd5b6100be6101bd565b604051901515815260200160405180910390f35b60005433600160a060020a039081169116146100ed57600080fd5b60005474010000000000000000000000000000000000000000900460ff16151561011657600080fd5b600160a060020a038116151561012b57600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911774ff000000000000000000000000000000000000000019169055565b600054600160a060020a031681565b60005474010000000000000000000000000000000000000000900460ff16815600a165627a7a723058206dc7dd83acdf1fb6761165c084534671752be8df9847ee74aacfa7cc50f721a60029", - "deployedBytecode": "0x6060604052600436106100565763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663bbac78a9811461005b578063deff41c11461007c578063e21b9d08146100ab575b600080fd5b341561006657600080fd5b61007a600160a060020a03600435166100d2565b005b341561008757600080fd5b61008f6101ae565b604051600160a060020a03909116815260200160405180910390f35b34156100b657600080fd5b6100be6101bd565b604051901515815260200160405180910390f35b60005433600160a060020a039081169116146100ed57600080fd5b60005474010000000000000000000000000000000000000000900460ff16151561011657600080fd5b600160a060020a038116151561012b57600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911774ff000000000000000000000000000000000000000019169055565b600054600160a060020a031681565b60005474010000000000000000000000000000000000000000900460ff16815600a165627a7a723058206dc7dd83acdf1fb6761165c084534671752be8df9847ee74aacfa7cc50f721a60029", - "sourceMap": "216:897:14:-;;;634:85;;;;;;;;667:7;:25;;696:19;-1:-1:-1;;;;;;667:25:14;;;682:10;-1:-1:-1;;;;;667:25:14;;-1:-1:-1;;;;;;696:19:14;;;;216:897;;;;;;;;", - "deployedSourceMap": "216:897:14:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;876:234;;;;;;;;;;-1:-1:-1;;;;;876:234:14;;;;;;;238:22;;;;;;;;;;;;;;;-1:-1:-1;;;;;238:22:14;;;;;;;;;;;;;;263:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;876:234;502:7;;488:10;-1:-1:-1;;;;;488:21:14;;;502:7;;488:21;480:30;;;;;;956:12;;;;;;;948:21;;;;;;;;-1:-1:-1;;;;;981:23:14;;;;973:32;;;;;;1035:7;;-1:-1:-1;;;;;1014:40:14;;;;1035:7;1014:40;;;;;;;;;;1058:7;:24;;-1:-1:-1;;1058:24:14;-1:-1:-1;;;;;1058:24:14;;;;;;;;-1:-1:-1;;1086:20:14;;;876:234::o;238:22::-;;;-1:-1:-1;;;;;238:22:14;;:::o;263:27::-;;;;;;;;;:::o", - "source": "pragma solidity ^0.4.21;\n\n/**\n * @title Ownable\n * @dev The Ownable contract has an owner address, and provides basic authorization control\n * functions, this simplifies the implementation of \"user permissions\".\n */\ncontract OwnableOZ\n{\n\taddress public m_owner;\n\tbool public m_changeable;\n\n\tevent OwnershipTransferred(address indexed previousOwner, address indexed newOwner);\n\n\t/**\n\t * @dev Throws if called by any account other than the owner.\n\t */\n\tmodifier onlyOwner()\n\t{\n\t\trequire(msg.sender == m_owner);\n\t\t_;\n\t}\n\n\t/**\n\t * @dev The Ownable constructor sets the original `owner` of the contract to the sender\n\t * account.\n\t */\n\tfunction OwnableOZ() public\n\t{\n\t\tm_owner = msg.sender;\n\t\tm_changeable = true;\n\t}\n\n\t/**\n\t * @dev Allows the current owner to transfer control of the contract to a newOwner.\n\t * @param _newOwner The address to transfer ownership to.\n\t */\n\tfunction setImmutableOwnership(address _newOwner) public onlyOwner\n\t{\n\t\trequire(m_changeable);\n\t\trequire(_newOwner != address(0));\n\t\temit OwnershipTransferred(m_owner, _newOwner);\n\t\tm_owner = _newOwner;\n\t\tm_changeable = false;\n\t}\n\n}\n", - "sourcePath": "/Users/fbranci/iexecdev/PoCo/contracts/OwnableOZ.sol", - "ast": { - "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/OwnableOZ.sol", - "exportedSymbols": { - "OwnableOZ": [ - 3747 - ] - }, - "id": 3748, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 3679, - "literals": [ - "solidity", - "^", - "0.4", - ".21" - ], - "nodeType": "PragmaDirective", - "src": "0:24:14" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": "@title Ownable\n@dev The Ownable contract has an owner address, and provides basic authorization control\nfunctions, this simplifies the implementation of \"user permissions\".", - "fullyImplemented": true, - "id": 3747, - "linearizedBaseContracts": [ - 3747 - ], - "name": "OwnableOZ", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "id": 3681, - "name": "m_owner", - "nodeType": "VariableDeclaration", - "scope": 3747, - "src": "238:22:14", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3680, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "238:7:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 3683, - "name": "m_changeable", - "nodeType": "VariableDeclaration", - "scope": 3747, - "src": "263:27:14", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 3682, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "263:4:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "public" - }, - { - "anonymous": false, - "documentation": null, - "id": 3689, - "name": "OwnershipTransferred", - "nodeType": "EventDefinition", - "parameters": { - "id": 3688, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3685, - "indexed": true, - "name": "previousOwner", - "nodeType": "VariableDeclaration", - "scope": 3689, - "src": "321:29:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3684, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "321:7:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3687, - "indexed": true, - "name": "newOwner", - "nodeType": "VariableDeclaration", - "scope": 3689, - "src": "352:24:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3686, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "352:7:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "320:57:14" - }, - "src": "294:84:14" - }, - { - "body": { - "id": 3699, - "nodeType": "Block", - "src": "476:43:14", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 3695, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3692, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "488:3:14", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3693, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "488:10:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 3694, - "name": "m_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3681, - "src": "502:7:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "488:21:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 3691, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "480:7:14", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 3696, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "480:30:14", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3697, - "nodeType": "ExpressionStatement", - "src": "480:30:14" - }, - { - "id": 3698, - "nodeType": "PlaceholderStatement", - "src": "514:1:14" - } - ] - }, - "documentation": "@dev Throws if called by any account other than the owner.", - "id": 3700, - "name": "onlyOwner", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 3690, - "nodeType": "ParameterList", - "parameters": [], - "src": "472:2:14" - }, - "src": "454:65:14", - "visibility": "internal" - }, - { - "body": { - "id": 3712, - "nodeType": "Block", - "src": "663:56:14", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 3706, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 3703, - "name": "m_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3681, - "src": "667:7:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3704, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "682:3:14", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3705, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "682:10:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "667:25:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 3707, - "nodeType": "ExpressionStatement", - "src": "667:25:14" - }, - { - "expression": { - "argumentTypes": null, - "id": 3710, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 3708, - "name": "m_changeable", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3683, - "src": "696:12:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 3709, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "711:4:14", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "696:19:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3711, - "nodeType": "ExpressionStatement", - "src": "696:19:14" - } - ] - }, - "documentation": "@dev The Ownable constructor sets the original `owner` of the contract to the sender\naccount.", - "id": 3713, - "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, - "modifiers": [], - "name": "OwnableOZ", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3701, - "nodeType": "ParameterList", - "parameters": [], - "src": "652:2:14" - }, - "payable": false, - "returnParameters": { - "id": 3702, - "nodeType": "ParameterList", - "parameters": [], - "src": "663:0:14" - }, - "scope": 3747, - "src": "634:85:14", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 3745, - "nodeType": "Block", - "src": "944:166:14", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3721, - "name": "m_changeable", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3683, - "src": "956:12:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 3720, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "948:7:14", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 3722, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "948:21:14", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3723, - "nodeType": "ExpressionStatement", - "src": "948:21:14" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 3729, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3725, - "name": "_newOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3715, - "src": "981:9:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 3727, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1002:1:14", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 3726, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "994:7:14", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 3728, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "994:10:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "981:23:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 3724, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "973:7:14", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 3730, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "973:32:14", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3731, - "nodeType": "ExpressionStatement", - "src": "973:32:14" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3733, - "name": "m_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3681, - "src": "1035:7:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 3734, - "name": "_newOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3715, - "src": "1044:9:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 3732, - "name": "OwnershipTransferred", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3689, - "src": "1014:20:14", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", - "typeString": "function (address,address)" - } - }, - "id": 3735, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1014:40:14", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3736, - "nodeType": "EmitStatement", - "src": "1009:45:14" - }, - { - "expression": { - "argumentTypes": null, - "id": 3739, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 3737, - "name": "m_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3681, - "src": "1058:7:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 3738, - "name": "_newOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3715, - "src": "1073:9:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1058:24:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 3740, - "nodeType": "ExpressionStatement", - "src": "1058:24:14" - }, - { - "expression": { - "argumentTypes": null, - "id": 3743, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 3741, - "name": "m_changeable", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3683, - "src": "1086:12:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 3742, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1101:5:14", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "1086:20:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3744, - "nodeType": "ExpressionStatement", - "src": "1086:20:14" - } - ] - }, - "documentation": "@dev Allows the current owner to transfer control of the contract to a newOwner.\n@param _newOwner The address to transfer ownership to.", - "id": 3746, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [], - "id": 3718, - "modifierName": { - "argumentTypes": null, - "id": 3717, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3700, - "src": "933:9:14", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "933:9:14" - } - ], - "name": "setImmutableOwnership", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3716, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3715, - "name": "_newOwner", - "nodeType": "VariableDeclaration", - "scope": 3746, - "src": "907:17:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3714, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "907:7:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "906:19:14" - }, - "payable": false, - "returnParameters": { - "id": 3719, - "nodeType": "ParameterList", - "parameters": [], - "src": "944:0:14" - }, - "scope": 3747, - "src": "876:234:14", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 3748, - "src": "216:897:14" - } - ], - "src": "0:1114:14" - }, - "legacyAST": { - "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/OwnableOZ.sol", - "exportedSymbols": { - "OwnableOZ": [ - 3747 - ] - }, - "id": 3748, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 3679, - "literals": [ - "solidity", - "^", - "0.4", - ".21" - ], - "nodeType": "PragmaDirective", - "src": "0:24:14" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": "@title Ownable\n@dev The Ownable contract has an owner address, and provides basic authorization control\nfunctions, this simplifies the implementation of \"user permissions\".", - "fullyImplemented": true, - "id": 3747, - "linearizedBaseContracts": [ - 3747 - ], - "name": "OwnableOZ", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "id": 3681, - "name": "m_owner", - "nodeType": "VariableDeclaration", - "scope": 3747, - "src": "238:22:14", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3680, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "238:7:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 3683, - "name": "m_changeable", - "nodeType": "VariableDeclaration", - "scope": 3747, - "src": "263:27:14", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 3682, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "263:4:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "public" - }, - { - "anonymous": false, - "documentation": null, - "id": 3689, - "name": "OwnershipTransferred", - "nodeType": "EventDefinition", - "parameters": { - "id": 3688, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3685, - "indexed": true, - "name": "previousOwner", - "nodeType": "VariableDeclaration", - "scope": 3689, - "src": "321:29:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3684, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "321:7:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3687, - "indexed": true, - "name": "newOwner", - "nodeType": "VariableDeclaration", - "scope": 3689, - "src": "352:24:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3686, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "352:7:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "320:57:14" - }, - "src": "294:84:14" - }, - { - "body": { - "id": 3699, - "nodeType": "Block", - "src": "476:43:14", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 3695, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3692, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "488:3:14", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3693, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "488:10:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 3694, - "name": "m_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3681, - "src": "502:7:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "488:21:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 3691, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "480:7:14", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 3696, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "480:30:14", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3697, - "nodeType": "ExpressionStatement", - "src": "480:30:14" - }, - { - "id": 3698, - "nodeType": "PlaceholderStatement", - "src": "514:1:14" - } - ] - }, - "documentation": "@dev Throws if called by any account other than the owner.", - "id": 3700, - "name": "onlyOwner", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 3690, - "nodeType": "ParameterList", - "parameters": [], - "src": "472:2:14" - }, - "src": "454:65:14", - "visibility": "internal" - }, - { - "body": { - "id": 3712, - "nodeType": "Block", - "src": "663:56:14", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 3706, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 3703, - "name": "m_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3681, - "src": "667:7:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3704, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "682:3:14", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3705, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "682:10:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "667:25:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 3707, - "nodeType": "ExpressionStatement", - "src": "667:25:14" - }, - { - "expression": { - "argumentTypes": null, - "id": 3710, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 3708, - "name": "m_changeable", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3683, - "src": "696:12:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 3709, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "711:4:14", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "696:19:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3711, - "nodeType": "ExpressionStatement", - "src": "696:19:14" - } - ] - }, - "documentation": "@dev The Ownable constructor sets the original `owner` of the contract to the sender\naccount.", - "id": 3713, - "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, - "modifiers": [], - "name": "OwnableOZ", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3701, - "nodeType": "ParameterList", - "parameters": [], - "src": "652:2:14" - }, - "payable": false, - "returnParameters": { - "id": 3702, - "nodeType": "ParameterList", - "parameters": [], - "src": "663:0:14" - }, - "scope": 3747, - "src": "634:85:14", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 3745, - "nodeType": "Block", - "src": "944:166:14", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3721, - "name": "m_changeable", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3683, - "src": "956:12:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 3720, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "948:7:14", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 3722, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "948:21:14", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3723, - "nodeType": "ExpressionStatement", - "src": "948:21:14" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 3729, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3725, - "name": "_newOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3715, - "src": "981:9:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 3727, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1002:1:14", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 3726, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "994:7:14", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 3728, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "994:10:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "981:23:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 3724, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "973:7:14", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 3730, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "973:32:14", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3731, - "nodeType": "ExpressionStatement", - "src": "973:32:14" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3733, - "name": "m_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3681, - "src": "1035:7:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 3734, - "name": "_newOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3715, - "src": "1044:9:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 3732, - "name": "OwnershipTransferred", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3689, - "src": "1014:20:14", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", - "typeString": "function (address,address)" - } - }, - "id": 3735, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1014:40:14", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3736, - "nodeType": "EmitStatement", - "src": "1009:45:14" - }, - { - "expression": { - "argumentTypes": null, - "id": 3739, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 3737, - "name": "m_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3681, - "src": "1058:7:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 3738, - "name": "_newOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3715, - "src": "1073:9:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1058:24:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 3740, - "nodeType": "ExpressionStatement", - "src": "1058:24:14" - }, - { - "expression": { - "argumentTypes": null, - "id": 3743, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 3741, - "name": "m_changeable", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3683, - "src": "1086:12:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 3742, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1101:5:14", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "1086:20:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3744, - "nodeType": "ExpressionStatement", - "src": "1086:20:14" - } - ] - }, - "documentation": "@dev Allows the current owner to transfer control of the contract to a newOwner.\n@param _newOwner The address to transfer ownership to.", - "id": 3746, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [], - "id": 3718, - "modifierName": { - "argumentTypes": null, - "id": 3717, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3700, - "src": "933:9:14", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "933:9:14" - } - ], - "name": "setImmutableOwnership", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3716, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3715, - "name": "_newOwner", - "nodeType": "VariableDeclaration", - "scope": 3746, - "src": "907:17:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3714, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "907:7:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "906:19:14" - }, - "payable": false, - "returnParameters": { - "id": 3719, - "nodeType": "ParameterList", - "parameters": [], - "src": "944:0:14" - }, - "scope": 3747, - "src": "876:234:14", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 3748, - "src": "216:897:14" - } - ], - "src": "0:1114:14" - }, - "compiler": { - "name": "solc", - "version": "0.4.21+commit.dfe3193c.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "2.0.0", -<<<<<<< Updated upstream - "updatedAt": "2018-05-19T20:49:59.812Z" -======= - "updatedAt": "2018-05-20T20:12:33.559Z" ->>>>>>> Stashed changes -} \ No newline at end of file diff --git a/build/contracts/RLC.json b/build/contracts/RLC.json deleted file mode 100644 index 63987dde..00000000 --- a/build/contracts/RLC.json +++ /dev/null @@ -1,617 +0,0 @@ -{ - "contract_name": "RLC", - "abi": [ - { - "constant": true, - "inputs": [], - "name": "name", - "outputs": [ - { - "name": "", - "type": "string" - } - ], - "payable": false, - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_spender", - "type": "address" - }, - { - "name": "_value", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_to", - "type": "address" - }, - { - "name": "_value", - "type": "uint256" - } - ], - "name": "refill", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_from", - "type": "address" - }, - { - "name": "_to", - "type": "address" - }, - { - "name": "_value", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "decimals", - "outputs": [ - { - "name": "", - "type": "uint8" - } - ], - "payable": false, - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "initialSupply", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_value", - "type": "uint256" - } - ], - "name": "burn", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "version", - "outputs": [ - { - "name": "", - "type": "string" - } - ], - "payable": false, - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_giver", - "type": "address" - }, - { - "name": "_spender", - "type": "address" - }, - { - "name": "_value", - "type": "uint256" - } - ], - "name": "forceApprove", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_owner", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "name": "balance", - "type": "uint256" - } - ], - "payable": false, - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "owner", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "symbol", - "outputs": [ - { - "name": "", - "type": "string" - } - ], - "payable": false, - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_to", - "type": "address" - }, - { - "name": "_value", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_spender", - "type": "address" - }, - { - "name": "_value", - "type": "uint256" - }, - { - "name": "_extraData", - "type": "bytes" - } - ], - "name": "approveAndCall", - "outputs": [], - "payable": false, - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "locked", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_owner", - "type": "address" - }, - { - "name": "_spender", - "type": "address" - } - ], - "name": "allowance", - "outputs": [ - { - "name": "remaining", - "type": "uint256" - } - ], - "payable": false, - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_toburn", - "type": "address" - }, - { - "name": "_value", - "type": "uint256" - } - ], - "name": "forceBurn", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "payable": false, - "type": "function" - }, - { - "inputs": [ - { - "name": "faucetAgent1", - "type": "address" - }, - { - "name": "faucetAgent2", - "type": "address" - }, - { - "name": "faucetAgent3", - "type": "address" - } - ], - "payable": false, - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "from", - "type": "address" - }, - { - "indexed": true, - "name": "to", - "type": "address" - }, - { - "indexed": false, - "name": "value", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "name": "spender", - "type": "address" - }, - { - "indexed": false, - "name": "value", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - } - ], - "unlinked_binary": - "0x606060405260408051908101604052600481527f76302e3100000000000000000000000000000000000000000000000000000000602082015260059080516200004d92916020019062000194565b5034156200005a57600080fd5b604051606080620010e58339810160405280805191906020018051919060200180519150505b5b60018054600160a060020a03191633600160a060020a03161790555b6701351609ff7580006006819055600755600160a060020a0380841660009081526009602052604080822066670758aa7c8000908190558584168352818320819055928416825290819020919091558051908101604052601481527f6945782e6563204e6574776f726b20546f6b656e000000000000000000000000602082015260029080516200013392916020019062000194565b506040805190810160405260038082527f524c43000000000000000000000000000000000000000000000000000000000060208301529080516200017c92916020019062000194565b506004805460ff191660091790555b5050506200023e565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620001d757805160ff191683800117855562000207565b8280016001018555821562000207579182015b8281111562000207578251825591602001919060010190620001ea565b5b50620002169291506200021a565b5090565b6200023b91905b8082111562000216576000815560010162000221565b5090565b90565b610e97806200024e6000396000f300606060405236156101045763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde038114610109578063095ea7b3146101945780630aa3ae7e146101ca57806318160ddd1461020057806323b872dd14610225578063313ce56714610261578063378dc3dc1461028a57806342966c68146102af57806354fd4d50146102d957806361f49ed61461036457806370a08231146103a05780638da5cb5b146103d157806395d89b4114610400578063a9059cbb1461048b578063cae9ca51146104c1578063cf30901214610528578063dd62ed3e1461054f578063e2d6f63414610586578063f2fde38b146105bc575b600080fd5b341561011457600080fd5b61011c6105dd565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101595780820151818401525b602001610140565b50505050905090810190601f1680156101865780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561019f57600080fd5b6101b6600160a060020a036004351660243561067b565b604051901515815260200160405180910390f35b34156101d557600080fd5b6101b6600160a060020a03600435166024356106e8565b604051901515815260200160405180910390f35b341561020b57600080fd5b610213610789565b60405190815260200160405180910390f35b341561023057600080fd5b6101b6600160a060020a036004358116906024351660443561078f565b604051901515815260200160405180910390f35b341561026c57600080fd5b610274610880565b60405160ff909116815260200160405180910390f35b341561029557600080fd5b610213610889565b60405190815260200160405180910390f35b34156102ba57600080fd5b6101b660043561088f565b604051901515815260200160405180910390f35b34156102e457600080fd5b61011c610911565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101595780820151818401525b602001610140565b50505050905090810190601f1680156101865780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561036f57600080fd5b6101b6600160a060020a03600435811690602435166044356109af565b604051901515815260200160405180910390f35b34156103ab57600080fd5b610213600160a060020a0360043516610a36565b60405190815260200160405180910390f35b34156103dc57600080fd5b6103e4610a55565b604051600160a060020a03909116815260200160405180910390f35b341561040b57600080fd5b61011c610a64565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101595780820151818401525b602001610140565b50505050905090810190601f1680156101865780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561049657600080fd5b6101b6600160a060020a0360043516602435610b02565b604051901515815260200160405180910390f35b34156104cc57600080fd5b61052660048035600160a060020a03169060248035919060649060443590810190830135806020601f82018190048102016040519081016040528181529291906020840183838082843750949650610ba495505050505050565b005b341561053357600080fd5b6101b6610cd0565b604051901515815260200160405180910390f35b341561055a57600080fd5b610213600160a060020a0360043581169060243516610cd9565b60405190815260200160405180910390f35b341561059157600080fd5b6101b6600160a060020a0360043516602435610d06565b604051901515815260200160405180910390f35b34156105c757600080fd5b610526600160a060020a0360043516610da5565b005b60028054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156106735780601f1061064857610100808354040283529160200191610673565b820191906000526020600020905b81548152906001019060200180831161065657829003601f168201915b505050505081565b600160a060020a033381166000818152600a6020908152604080832094871680845294909152808220859055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a35060015b92915050565b60015460009033600160a060020a03908116911614156106e257600160a060020a0383166000908152600960205260409020546107259083610dfa565b600160a060020a03841660009081526009602052604090205560075461074b9083610dfa565b600755600160a060020a03808416903316600080516020610e4c8339815191528460405190815260200160405180910390a35060015b5b5b92915050565b60075481565b600160a060020a038084166000908152600a602090815260408083203385168452825280832054938616835260099091528120549091906107d09084610dfa565b600160a060020a0380861660009081526009602052604080822093909355908716815220546107ff9084610e22565b600160a060020a0386166000908152600960205260409020556108228184610e22565b600160a060020a038087166000818152600a602090815260408083203386168452909152908190209390935590861691600080516020610e4c8339815191529086905190815260200160405180910390a3600191505b509392505050565b60045460ff1681565b60065481565b600160a060020a0333166000908152600960205260408120546108b29083610e22565b600160a060020a0333166000908152600960205260409020556007546108d89083610e22565b6007556000600160a060020a033316600080516020610e4c8339815191528460405190815260200160405180910390a35060015b919050565b60058054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156106735780601f1061064857610100808354040283529160200191610673565b820191906000526020600020905b81548152906001019060200180831161065657829003601f168201915b505050505081565b60015460009033600160a060020a0390811691161415610a2d57600160a060020a038085166000818152600a6020908152604080832094881680845294909152908190208590557f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a35060015b5b5b9392505050565b600160a060020a0381166000908152600960205260409020545b919050565b600154600160a060020a031681565b60038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156106735780601f1061064857610100808354040283529160200191610673565b820191906000526020600020905b81548152906001019060200180831161065657829003601f168201915b505050505081565b600160a060020a033316600090815260096020526040812054610b259083610e22565b600160a060020a033381166000908152600960205260408082209390935590851681522054610b549083610dfa565b600160a060020a038085166000818152600960205260409081902093909355913390911690600080516020610e4c8339815191529085905190815260200160405180910390a35060015b92915050565b82610baf818461067b565b15610cc95780600160a060020a0316638f4ffcb1338530866040518563ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018085600160a060020a0316600160a060020a0316815260200184815260200183600160a060020a0316600160a060020a0316815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610c665780820151818401525b602001610c4d565b50505050905090810190601f168015610c935780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b1515610cb457600080fd5b6102c65a03f11515610cc557600080fd5b5050505b5b50505050565b60085460ff1681565b600160a060020a038083166000908152600a60209081526040808320938516835292905220545b92915050565b60015460009033600160a060020a03908116911614156106e257600160a060020a038316600090815260096020526040902054610d439083610e22565b600160a060020a038416600090815260096020526040902055600754610d699083610e22565b6007556000600160a060020a038416600080516020610e4c8339815191528460405190815260200160405180910390a35060015b5b5b92915050565b60015433600160a060020a0390811691161415610df457600160a060020a03811615610df4576001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b5b5b5b50565b6000828201610e17848210801590610e125750838210155b610e3b565b8091505b5092915050565b6000610e3083831115610e3b565b508082035b92915050565b801515610df457600080fd5b5b505600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a72305820505d0ca96b8a7335a52688cc6fce8db0007717d7e97b58ff369ff7b2736452c60029", - "networks": { - "1": { - "address": "0x607F4C5BB672230e8672085532f7e901544a7375", - "links": {} - }, - "3": { - "events": { - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "from", - "type": "address" - }, - { - "indexed": true, - "name": "to", - "type": "address" - }, - { - "indexed": false, - "name": "value", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "name": "spender", - "type": "address" - }, - { - "indexed": false, - "name": "value", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - } - }, - "links": {}, - "address": "0x7314dc4d7794b5e7894212ca1556ae8e3de58621", - "updated_at": 1507185226658 - }, - "4": { - "events": { - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "from", - "type": "address" - }, - { - "indexed": true, - "name": "to", - "type": "address" - }, - { - "indexed": false, - "name": "value", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "name": "spender", - "type": "address" - }, - { - "indexed": false, - "name": "value", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - } - }, - "links": {}, - "address": "0xf1e6ad3a7ef0c86c915f0fedf80ed851809bea90", - "updated_at": 1507153008876 - }, - "31": { - "events": { - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "from", - "type": "address" - }, - { - "indexed": true, - "name": "to", - "type": "address" - }, - { - "indexed": false, - "name": "value", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "name": "spender", - "type": "address" - }, - { - "indexed": false, - "name": "value", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - } - }, - "links": {}, - "address": "0x88b37ff3c0df0692f982a28099a9999c4a422293", - "updated_at": 1521045503088 - }, - "42": { - "events": { - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "from", - "type": "address" - }, - { - "indexed": true, - "name": "to", - "type": "address" - }, - { - "indexed": false, - "name": "value", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "name": "spender", - "type": "address" - }, - { - "indexed": false, - "name": "value", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - } - }, - "links": {}, - "address": "0xc57538846ec405ea25deb00e0f9b29a432d53507", - "updated_at": 1507187064558 - } - }, - "schema_version": "0.0.5", - "updated_at": 1521045503088 -} diff --git a/build/contracts/SafeMath.json b/build/contracts/SafeMath.json deleted file mode 100644 index b16226b4..00000000 --- a/build/contracts/SafeMath.json +++ /dev/null @@ -1,4979 +0,0 @@ -{ - "contractName": "SafeMath", - "abi": [], - "bytecode": "0x60606040523415600e57600080fd5b603580601b6000396000f3006060604052600080fd00a165627a7a7230582094729f095275c10ca688de89bcfcc6132fa4d245fd3705ccbd5840373b5ef8580029", - "deployedBytecode": "0x6060604052600080fd00a165627a7a7230582094729f095275c10ca688de89bcfcc6132fa4d245fd3705ccbd5840373b5ef8580029", - "sourceMap": "25:1056:23:-;;;;;;;;;;;;;;;;;", - "deployedSourceMap": "25:1056:23:-;;;;;", - "source": "pragma solidity ^0.4.8;\n\ncontract SafeMath {\n function safeMul(uint a, uint b) internal returns (uint) {\n uint c = a * b;\n assert(a == 0 || c / a == b);\n return c;\n }\n\n function safeDiv(uint a, uint b) internal returns (uint) {\n assert(b > 0);\n uint c = a / b;\n assert(a == b * c + a % b);\n return c;\n }\n\n function safeSub(uint a, uint b) internal returns (uint) {\n assert(b <= a);\n return a - b;\n }\n\n function safeAdd(uint a, uint b) internal returns (uint) {\n uint c = a + b;\n assert(c>=a && c>=b);\n return c;\n }\n\n function max64(uint64 a, uint64 b) internal constant returns (uint64) {\n return a >= b ? a : b;\n }\n\n function min64(uint64 a, uint64 b) internal constant returns (uint64) {\n return a < b ? a : b;\n }\n\n function max256(uint256 a, uint256 b) internal constant returns (uint256) {\n return a >= b ? a : b;\n }\n\n function min256(uint256 a, uint256 b) internal constant returns (uint256) {\n return a < b ? a : b;\n }\n\n function assert(bool assertion) internal {\n if (!assertion) {\n throw;\n }\n }\n}", - "sourcePath": "rlc-token/contracts/SafeMath.sol", - "ast": { - "absolutePath": "rlc-token/contracts/SafeMath.sol", - "exportedSymbols": { - "SafeMath": [ - 6981 - ] - }, - "id": 6982, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 6787, - "literals": [ - "solidity", - "^", - "0.4", - ".8" - ], - "nodeType": "PragmaDirective", - "src": "0:23:23" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 6981, - "linearizedBaseContracts": [ - 6981 - ], - "name": "SafeMath", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 6816, - "nodeType": "Block", - "src": "104:73:23", - "statements": [ - { - "assignments": [ - 6797 - ], - "declarations": [ - { - "constant": false, - "id": 6797, - "name": "c", - "nodeType": "VariableDeclaration", - "scope": 6817, - "src": "110:6:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6796, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "110:4:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6801, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6800, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6798, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6789, - "src": "119:1:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 6799, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6791, - "src": "123:1:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "119:5:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "110:14:23" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 6811, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6805, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6803, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6789, - "src": "137:1:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6804, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "142:1:23", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "137:6:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6810, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6808, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6806, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6797, - "src": "147:1:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 6807, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6789, - "src": "151:1:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "147:5:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 6809, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6791, - "src": "156:1:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "147:10:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "137:20:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 6802, - "name": "assert", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6980, - "src": "130:6:23", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bool_$returns$__$", - "typeString": "function (bool)" - } - }, - "id": 6812, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "130:28:23", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6813, - "nodeType": "ExpressionStatement", - "src": "130:28:23" - }, - { - "expression": { - "argumentTypes": null, - "id": 6814, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6797, - "src": "171:1:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 6795, - "id": 6815, - "nodeType": "Return", - "src": "164:8:23" - } - ] - }, - "documentation": null, - "id": 6817, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "safeMul", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6792, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6789, - "name": "a", - "nodeType": "VariableDeclaration", - "scope": 6817, - "src": "64:6:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6788, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "64:4:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6791, - "name": "b", - "nodeType": "VariableDeclaration", - "scope": 6817, - "src": "72:6:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6790, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "72:4:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "63:16:23" - }, - "payable": false, - "returnParameters": { - "id": 6795, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6794, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 6817, - "src": "98:4:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6793, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "98:4:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "97:6:23" - }, - "scope": 6981, - "src": "47:130:23", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 6852, - "nodeType": "Block", - "src": "238:90:23", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6829, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6827, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6821, - "src": "251:1:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6828, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "255:1:23", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "251:5:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 6826, - "name": "assert", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6980, - "src": "244:6:23", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bool_$returns$__$", - "typeString": "function (bool)" - } - }, - "id": 6830, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "244:13:23", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6831, - "nodeType": "ExpressionStatement", - "src": "244:13:23" - }, - { - "assignments": [ - 6833 - ], - "declarations": [ - { - "constant": false, - "id": 6833, - "name": "c", - "nodeType": "VariableDeclaration", - "scope": 6853, - "src": "263:6:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6832, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "263:4:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6837, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6836, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6834, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6819, - "src": "272:1:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 6835, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6821, - "src": "276:1:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "272:5:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "263:14:23" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6847, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6839, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6819, - "src": "290:1:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6846, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6842, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6840, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6821, - "src": "295:1:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 6841, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6833, - "src": "299:1:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "295:5:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6845, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6843, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6819, - "src": "303:1:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "%", - "rightExpression": { - "argumentTypes": null, - "id": 6844, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6821, - "src": "307:1:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "303:5:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "295:13:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "290:18:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 6838, - "name": "assert", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6980, - "src": "283:6:23", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bool_$returns$__$", - "typeString": "function (bool)" - } - }, - "id": 6848, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "283:26:23", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6849, - "nodeType": "ExpressionStatement", - "src": "283:26:23" - }, - { - "expression": { - "argumentTypes": null, - "id": 6850, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6833, - "src": "322:1:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 6825, - "id": 6851, - "nodeType": "Return", - "src": "315:8:23" - } - ] - }, - "documentation": null, - "id": 6853, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "safeDiv", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6822, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6819, - "name": "a", - "nodeType": "VariableDeclaration", - "scope": 6853, - "src": "198:6:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6818, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "198:4:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6821, - "name": "b", - "nodeType": "VariableDeclaration", - "scope": 6853, - "src": "206:6:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6820, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "206:4:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "197:16:23" - }, - "payable": false, - "returnParameters": { - "id": 6825, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6824, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 6853, - "src": "232:4:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6823, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "232:4:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "231:6:23" - }, - "scope": 6981, - "src": "181:147:23", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 6872, - "nodeType": "Block", - "src": "389:43:23", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6865, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6863, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6857, - "src": "402:1:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 6864, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6855, - "src": "407:1:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "402:6:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 6862, - "name": "assert", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6980, - "src": "395:6:23", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bool_$returns$__$", - "typeString": "function (bool)" - } - }, - "id": 6866, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "395:14:23", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6867, - "nodeType": "ExpressionStatement", - "src": "395:14:23" - }, - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6870, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6868, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6855, - "src": "422:1:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 6869, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6857, - "src": "426:1:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "422:5:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 6861, - "id": 6871, - "nodeType": "Return", - "src": "415:12:23" - } - ] - }, - "documentation": null, - "id": 6873, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "safeSub", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6858, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6855, - "name": "a", - "nodeType": "VariableDeclaration", - "scope": 6873, - "src": "349:6:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6854, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "349:4:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6857, - "name": "b", - "nodeType": "VariableDeclaration", - "scope": 6873, - "src": "357:6:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6856, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "357:4:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "348:16:23" - }, - "payable": false, - "returnParameters": { - "id": 6861, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6860, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 6873, - "src": "383:4:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6859, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "383:4:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "382:6:23" - }, - "scope": 6981, - "src": "332:100:23", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 6900, - "nodeType": "Block", - "src": "493:65:23", - "statements": [ - { - "assignments": [ - 6883 - ], - "declarations": [ - { - "constant": false, - "id": 6883, - "name": "c", - "nodeType": "VariableDeclaration", - "scope": 6901, - "src": "499:6:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6882, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "499:4:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6887, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6886, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6884, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6875, - "src": "508:1:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 6885, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6877, - "src": "512:1:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "508:5:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "499:14:23" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 6895, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6891, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6889, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6883, - "src": "526:1:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 6890, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6875, - "src": "529:1:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "526:4:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6894, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6892, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6883, - "src": "534:1:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 6893, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6877, - "src": "537:1:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "534:4:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "526:12:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 6888, - "name": "assert", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6980, - "src": "519:6:23", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bool_$returns$__$", - "typeString": "function (bool)" - } - }, - "id": 6896, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "519:20:23", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6897, - "nodeType": "ExpressionStatement", - "src": "519:20:23" - }, - { - "expression": { - "argumentTypes": null, - "id": 6898, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6883, - "src": "552:1:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 6881, - "id": 6899, - "nodeType": "Return", - "src": "545:8:23" - } - ] - }, - "documentation": null, - "id": 6901, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "safeAdd", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6878, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6875, - "name": "a", - "nodeType": "VariableDeclaration", - "scope": 6901, - "src": "453:6:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6874, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "453:4:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6877, - "name": "b", - "nodeType": "VariableDeclaration", - "scope": 6901, - "src": "461:6:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6876, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "461:4:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "452:16:23" - }, - "payable": false, - "returnParameters": { - "id": 6881, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6880, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 6901, - "src": "487:4:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6879, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "487:4:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "486:6:23" - }, - "scope": 6981, - "src": "436:122:23", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 6917, - "nodeType": "Block", - "src": "632:32:23", - "statements": [ - { - "expression": { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "id": 6912, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6910, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6903, - "src": "645:1:23", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 6911, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6905, - "src": "650:1:23", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "645:6:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "id": 6914, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6905, - "src": "658:1:23", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 6915, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "645:14:23", - "trueExpression": { - "argumentTypes": null, - "id": 6913, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6903, - "src": "654:1:23", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "functionReturnParameters": 6909, - "id": 6916, - "nodeType": "Return", - "src": "638:21:23" - } - ] - }, - "documentation": null, - "id": 6918, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "max64", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6906, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6903, - "name": "a", - "nodeType": "VariableDeclaration", - "scope": 6918, - "src": "577:8:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 6902, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "577:6:23", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6905, - "name": "b", - "nodeType": "VariableDeclaration", - "scope": 6918, - "src": "587:8:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 6904, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "587:6:23", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "576:20:23" - }, - "payable": false, - "returnParameters": { - "id": 6909, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6908, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 6918, - "src": "624:6:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 6907, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "624:6:23", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "623:8:23" - }, - "scope": 6981, - "src": "562:102:23", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 6934, - "nodeType": "Block", - "src": "738:31:23", - "statements": [ - { - "expression": { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "id": 6929, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6927, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6920, - "src": "751:1:23", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 6928, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6922, - "src": "755:1:23", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "751:5:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "id": 6931, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6922, - "src": "763:1:23", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 6932, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "751:13:23", - "trueExpression": { - "argumentTypes": null, - "id": 6930, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6920, - "src": "759:1:23", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "functionReturnParameters": 6926, - "id": 6933, - "nodeType": "Return", - "src": "744:20:23" - } - ] - }, - "documentation": null, - "id": 6935, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "min64", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6923, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6920, - "name": "a", - "nodeType": "VariableDeclaration", - "scope": 6935, - "src": "683:8:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 6919, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "683:6:23", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6922, - "name": "b", - "nodeType": "VariableDeclaration", - "scope": 6935, - "src": "693:8:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 6921, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "693:6:23", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "682:20:23" - }, - "payable": false, - "returnParameters": { - "id": 6926, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6925, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 6935, - "src": "730:6:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 6924, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "730:6:23", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "729:8:23" - }, - "scope": 6981, - "src": "668:101:23", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 6951, - "nodeType": "Block", - "src": "847:32:23", - "statements": [ - { - "expression": { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6946, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6944, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6937, - "src": "860:1:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 6945, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6939, - "src": "865:1:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "860:6:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "id": 6948, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6939, - "src": "873:1:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6949, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "860:14:23", - "trueExpression": { - "argumentTypes": null, - "id": 6947, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6937, - "src": "869:1:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 6943, - "id": 6950, - "nodeType": "Return", - "src": "853:21:23" - } - ] - }, - "documentation": null, - "id": 6952, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "max256", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6940, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6937, - "name": "a", - "nodeType": "VariableDeclaration", - "scope": 6952, - "src": "789:9:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6936, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "789:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6939, - "name": "b", - "nodeType": "VariableDeclaration", - "scope": 6952, - "src": "800:9:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6938, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "800:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "788:22:23" - }, - "payable": false, - "returnParameters": { - "id": 6943, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6942, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 6952, - "src": "838:7:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6941, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "838:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "837:9:23" - }, - "scope": 6981, - "src": "773:106:23", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 6968, - "nodeType": "Block", - "src": "957:31:23", - "statements": [ - { - "expression": { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6963, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6961, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6954, - "src": "970:1:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 6962, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6956, - "src": "974:1:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "970:5:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "id": 6965, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6956, - "src": "982:1:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6966, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "970:13:23", - "trueExpression": { - "argumentTypes": null, - "id": 6964, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6954, - "src": "978:1:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 6960, - "id": 6967, - "nodeType": "Return", - "src": "963:20:23" - } - ] - }, - "documentation": null, - "id": 6969, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "min256", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6957, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6954, - "name": "a", - "nodeType": "VariableDeclaration", - "scope": 6969, - "src": "899:9:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6953, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "899:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6956, - "name": "b", - "nodeType": "VariableDeclaration", - "scope": 6969, - "src": "910:9:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6955, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "910:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "898:22:23" - }, - "payable": false, - "returnParameters": { - "id": 6960, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6959, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 6969, - "src": "948:7:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6958, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "948:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "947:9:23" - }, - "scope": 6981, - "src": "883:105:23", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 6979, - "nodeType": "Block", - "src": "1033:46:23", - "statements": [ - { - "condition": { - "argumentTypes": null, - "id": 6975, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "1043:10:23", - "subExpression": { - "argumentTypes": null, - "id": 6974, - "name": "assertion", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6971, - "src": "1044:9:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6978, - "nodeType": "IfStatement", - "src": "1039:36:23", - "trueBody": { - "id": 6977, - "nodeType": "Block", - "src": "1055:20:23", - "statements": [ - { - "id": 6976, - "nodeType": "Throw", - "src": "1063:5:23" - } - ] - } - } - ] - }, - "documentation": null, - "id": 6980, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "assert", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6972, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6971, - "name": "assertion", - "nodeType": "VariableDeclaration", - "scope": 6980, - "src": "1008:14:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 6970, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1008:4:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1007:16:23" - }, - "payable": false, - "returnParameters": { - "id": 6973, - "nodeType": "ParameterList", - "parameters": [], - "src": "1033:0:23" - }, - "scope": 6981, - "src": "992:87:23", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 6982, - "src": "25:1056:23" - } - ], - "src": "0:1081:23" - }, - "legacyAST": { - "absolutePath": "rlc-token/contracts/SafeMath.sol", - "exportedSymbols": { - "SafeMath": [ - 6981 - ] - }, - "id": 6982, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 6787, - "literals": [ - "solidity", - "^", - "0.4", - ".8" - ], - "nodeType": "PragmaDirective", - "src": "0:23:23" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 6981, - "linearizedBaseContracts": [ - 6981 - ], - "name": "SafeMath", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 6816, - "nodeType": "Block", - "src": "104:73:23", - "statements": [ - { - "assignments": [ - 6797 - ], - "declarations": [ - { - "constant": false, - "id": 6797, - "name": "c", - "nodeType": "VariableDeclaration", - "scope": 6817, - "src": "110:6:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6796, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "110:4:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6801, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6800, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6798, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6789, - "src": "119:1:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 6799, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6791, - "src": "123:1:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "119:5:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "110:14:23" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 6811, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6805, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6803, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6789, - "src": "137:1:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6804, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "142:1:23", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "137:6:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6810, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6808, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6806, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6797, - "src": "147:1:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 6807, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6789, - "src": "151:1:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "147:5:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 6809, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6791, - "src": "156:1:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "147:10:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "137:20:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 6802, - "name": "assert", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6980, - "src": "130:6:23", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bool_$returns$__$", - "typeString": "function (bool)" - } - }, - "id": 6812, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "130:28:23", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6813, - "nodeType": "ExpressionStatement", - "src": "130:28:23" - }, - { - "expression": { - "argumentTypes": null, - "id": 6814, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6797, - "src": "171:1:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 6795, - "id": 6815, - "nodeType": "Return", - "src": "164:8:23" - } - ] - }, - "documentation": null, - "id": 6817, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "safeMul", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6792, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6789, - "name": "a", - "nodeType": "VariableDeclaration", - "scope": 6817, - "src": "64:6:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6788, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "64:4:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6791, - "name": "b", - "nodeType": "VariableDeclaration", - "scope": 6817, - "src": "72:6:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6790, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "72:4:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "63:16:23" - }, - "payable": false, - "returnParameters": { - "id": 6795, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6794, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 6817, - "src": "98:4:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6793, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "98:4:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "97:6:23" - }, - "scope": 6981, - "src": "47:130:23", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 6852, - "nodeType": "Block", - "src": "238:90:23", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6829, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6827, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6821, - "src": "251:1:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6828, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "255:1:23", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "251:5:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 6826, - "name": "assert", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6980, - "src": "244:6:23", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bool_$returns$__$", - "typeString": "function (bool)" - } - }, - "id": 6830, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "244:13:23", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6831, - "nodeType": "ExpressionStatement", - "src": "244:13:23" - }, - { - "assignments": [ - 6833 - ], - "declarations": [ - { - "constant": false, - "id": 6833, - "name": "c", - "nodeType": "VariableDeclaration", - "scope": 6853, - "src": "263:6:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6832, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "263:4:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6837, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6836, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6834, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6819, - "src": "272:1:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 6835, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6821, - "src": "276:1:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "272:5:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "263:14:23" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6847, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6839, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6819, - "src": "290:1:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6846, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6842, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6840, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6821, - "src": "295:1:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 6841, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6833, - "src": "299:1:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "295:5:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6845, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6843, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6819, - "src": "303:1:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "%", - "rightExpression": { - "argumentTypes": null, - "id": 6844, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6821, - "src": "307:1:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "303:5:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "295:13:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "290:18:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 6838, - "name": "assert", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6980, - "src": "283:6:23", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bool_$returns$__$", - "typeString": "function (bool)" - } - }, - "id": 6848, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "283:26:23", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6849, - "nodeType": "ExpressionStatement", - "src": "283:26:23" - }, - { - "expression": { - "argumentTypes": null, - "id": 6850, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6833, - "src": "322:1:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 6825, - "id": 6851, - "nodeType": "Return", - "src": "315:8:23" - } - ] - }, - "documentation": null, - "id": 6853, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "safeDiv", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6822, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6819, - "name": "a", - "nodeType": "VariableDeclaration", - "scope": 6853, - "src": "198:6:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6818, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "198:4:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6821, - "name": "b", - "nodeType": "VariableDeclaration", - "scope": 6853, - "src": "206:6:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6820, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "206:4:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "197:16:23" - }, - "payable": false, - "returnParameters": { - "id": 6825, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6824, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 6853, - "src": "232:4:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6823, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "232:4:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "231:6:23" - }, - "scope": 6981, - "src": "181:147:23", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 6872, - "nodeType": "Block", - "src": "389:43:23", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6865, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6863, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6857, - "src": "402:1:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 6864, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6855, - "src": "407:1:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "402:6:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 6862, - "name": "assert", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6980, - "src": "395:6:23", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bool_$returns$__$", - "typeString": "function (bool)" - } - }, - "id": 6866, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "395:14:23", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6867, - "nodeType": "ExpressionStatement", - "src": "395:14:23" - }, - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6870, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6868, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6855, - "src": "422:1:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 6869, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6857, - "src": "426:1:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "422:5:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 6861, - "id": 6871, - "nodeType": "Return", - "src": "415:12:23" - } - ] - }, - "documentation": null, - "id": 6873, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "safeSub", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6858, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6855, - "name": "a", - "nodeType": "VariableDeclaration", - "scope": 6873, - "src": "349:6:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6854, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "349:4:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6857, - "name": "b", - "nodeType": "VariableDeclaration", - "scope": 6873, - "src": "357:6:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6856, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "357:4:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "348:16:23" - }, - "payable": false, - "returnParameters": { - "id": 6861, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6860, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 6873, - "src": "383:4:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6859, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "383:4:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "382:6:23" - }, - "scope": 6981, - "src": "332:100:23", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 6900, - "nodeType": "Block", - "src": "493:65:23", - "statements": [ - { - "assignments": [ - 6883 - ], - "declarations": [ - { - "constant": false, - "id": 6883, - "name": "c", - "nodeType": "VariableDeclaration", - "scope": 6901, - "src": "499:6:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6882, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "499:4:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6887, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6886, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6884, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6875, - "src": "508:1:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 6885, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6877, - "src": "512:1:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "508:5:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "499:14:23" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 6895, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6891, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6889, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6883, - "src": "526:1:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 6890, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6875, - "src": "529:1:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "526:4:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6894, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6892, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6883, - "src": "534:1:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 6893, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6877, - "src": "537:1:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "534:4:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "526:12:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 6888, - "name": "assert", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6980, - "src": "519:6:23", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bool_$returns$__$", - "typeString": "function (bool)" - } - }, - "id": 6896, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "519:20:23", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6897, - "nodeType": "ExpressionStatement", - "src": "519:20:23" - }, - { - "expression": { - "argumentTypes": null, - "id": 6898, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6883, - "src": "552:1:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 6881, - "id": 6899, - "nodeType": "Return", - "src": "545:8:23" - } - ] - }, - "documentation": null, - "id": 6901, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "safeAdd", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6878, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6875, - "name": "a", - "nodeType": "VariableDeclaration", - "scope": 6901, - "src": "453:6:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6874, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "453:4:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6877, - "name": "b", - "nodeType": "VariableDeclaration", - "scope": 6901, - "src": "461:6:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6876, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "461:4:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "452:16:23" - }, - "payable": false, - "returnParameters": { - "id": 6881, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6880, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 6901, - "src": "487:4:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6879, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "487:4:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "486:6:23" - }, - "scope": 6981, - "src": "436:122:23", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 6917, - "nodeType": "Block", - "src": "632:32:23", - "statements": [ - { - "expression": { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "id": 6912, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6910, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6903, - "src": "645:1:23", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 6911, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6905, - "src": "650:1:23", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "645:6:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "id": 6914, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6905, - "src": "658:1:23", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 6915, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "645:14:23", - "trueExpression": { - "argumentTypes": null, - "id": 6913, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6903, - "src": "654:1:23", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "functionReturnParameters": 6909, - "id": 6916, - "nodeType": "Return", - "src": "638:21:23" - } - ] - }, - "documentation": null, - "id": 6918, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "max64", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6906, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6903, - "name": "a", - "nodeType": "VariableDeclaration", - "scope": 6918, - "src": "577:8:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 6902, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "577:6:23", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6905, - "name": "b", - "nodeType": "VariableDeclaration", - "scope": 6918, - "src": "587:8:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 6904, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "587:6:23", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "576:20:23" - }, - "payable": false, - "returnParameters": { - "id": 6909, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6908, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 6918, - "src": "624:6:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 6907, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "624:6:23", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "623:8:23" - }, - "scope": 6981, - "src": "562:102:23", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 6934, - "nodeType": "Block", - "src": "738:31:23", - "statements": [ - { - "expression": { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "id": 6929, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6927, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6920, - "src": "751:1:23", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 6928, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6922, - "src": "755:1:23", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "751:5:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "id": 6931, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6922, - "src": "763:1:23", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "id": 6932, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "751:13:23", - "trueExpression": { - "argumentTypes": null, - "id": 6930, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6920, - "src": "759:1:23", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "functionReturnParameters": 6926, - "id": 6933, - "nodeType": "Return", - "src": "744:20:23" - } - ] - }, - "documentation": null, - "id": 6935, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "min64", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6923, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6920, - "name": "a", - "nodeType": "VariableDeclaration", - "scope": 6935, - "src": "683:8:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 6919, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "683:6:23", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6922, - "name": "b", - "nodeType": "VariableDeclaration", - "scope": 6935, - "src": "693:8:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 6921, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "693:6:23", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "682:20:23" - }, - "payable": false, - "returnParameters": { - "id": 6926, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6925, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 6935, - "src": "730:6:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 6924, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "730:6:23", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "729:8:23" - }, - "scope": 6981, - "src": "668:101:23", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 6951, - "nodeType": "Block", - "src": "847:32:23", - "statements": [ - { - "expression": { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6946, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6944, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6937, - "src": "860:1:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 6945, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6939, - "src": "865:1:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "860:6:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "id": 6948, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6939, - "src": "873:1:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6949, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "860:14:23", - "trueExpression": { - "argumentTypes": null, - "id": 6947, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6937, - "src": "869:1:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 6943, - "id": 6950, - "nodeType": "Return", - "src": "853:21:23" - } - ] - }, - "documentation": null, - "id": 6952, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "max256", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6940, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6937, - "name": "a", - "nodeType": "VariableDeclaration", - "scope": 6952, - "src": "789:9:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6936, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "789:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6939, - "name": "b", - "nodeType": "VariableDeclaration", - "scope": 6952, - "src": "800:9:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6938, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "800:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "788:22:23" - }, - "payable": false, - "returnParameters": { - "id": 6943, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6942, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 6952, - "src": "838:7:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6941, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "838:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "837:9:23" - }, - "scope": 6981, - "src": "773:106:23", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 6968, - "nodeType": "Block", - "src": "957:31:23", - "statements": [ - { - "expression": { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6963, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6961, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6954, - "src": "970:1:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 6962, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6956, - "src": "974:1:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "970:5:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "id": 6965, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6956, - "src": "982:1:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6966, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "970:13:23", - "trueExpression": { - "argumentTypes": null, - "id": 6964, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6954, - "src": "978:1:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 6960, - "id": 6967, - "nodeType": "Return", - "src": "963:20:23" - } - ] - }, - "documentation": null, - "id": 6969, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "min256", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6957, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6954, - "name": "a", - "nodeType": "VariableDeclaration", - "scope": 6969, - "src": "899:9:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6953, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "899:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6956, - "name": "b", - "nodeType": "VariableDeclaration", - "scope": 6969, - "src": "910:9:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6955, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "910:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "898:22:23" - }, - "payable": false, - "returnParameters": { - "id": 6960, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6959, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 6969, - "src": "948:7:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6958, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "948:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "947:9:23" - }, - "scope": 6981, - "src": "883:105:23", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 6979, - "nodeType": "Block", - "src": "1033:46:23", - "statements": [ - { - "condition": { - "argumentTypes": null, - "id": 6975, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "1043:10:23", - "subExpression": { - "argumentTypes": null, - "id": 6974, - "name": "assertion", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6971, - "src": "1044:9:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6978, - "nodeType": "IfStatement", - "src": "1039:36:23", - "trueBody": { - "id": 6977, - "nodeType": "Block", - "src": "1055:20:23", - "statements": [ - { - "id": 6976, - "nodeType": "Throw", - "src": "1063:5:23" - } - ] - } - } - ] - }, - "documentation": null, - "id": 6980, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "assert", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6972, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6971, - "name": "assertion", - "nodeType": "VariableDeclaration", - "scope": 6980, - "src": "1008:14:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 6970, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1008:4:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1007:16:23" - }, - "payable": false, - "returnParameters": { - "id": 6973, - "nodeType": "ParameterList", - "parameters": [], - "src": "1033:0:23" - }, - "scope": 6981, - "src": "992:87:23", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 6982, - "src": "25:1056:23" - } - ], - "src": "0:1081:23" - }, - "compiler": { - "name": "solc", - "version": "0.4.21+commit.dfe3193c.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "2.0.0", - "updatedAt": "2018-05-20T20:12:33.578Z" -} diff --git a/build/contracts/SafeMathOZ.json b/build/contracts/SafeMathOZ.json deleted file mode 100644 index 42a444f8..00000000 --- a/build/contracts/SafeMathOZ.json +++ /dev/null @@ -1,5037 +0,0 @@ -{ - "contractName": "SafeMathOZ", - "abi": [], - "bytecode": "0x604c602c600b82828239805160001a60731460008114601c57601e565bfe5b5030600052607381538281f30073000000000000000000000000000000000000000030146060604052600080fd00a165627a7a723058206184b83bd2fa86f7f5f9d15b7d828baae2a6891fdc9e52765bbcc2e015e1aec40029", - "deployedBytecode": "0x73000000000000000000000000000000000000000030146060604052600080fd00a165627a7a723058206184b83bd2fa86f7f5f9d15b7d828baae2a6891fdc9e52765bbcc2e015e1aec40029", - "sourceMap": "383:2762:15:-;;132:2:-1;166:7;155:9;146:7;137:37;252:7;246:14;243:1;238:23;232:4;229:33;270:1;265:20;;;;222:63;;265:20;274:9;222:63;;298:9;295:1;288:20;328:4;319:7;311:22;352:7;343;336:24", - "deployedSourceMap": "383:2762:15:-;;;;;;;;", - "source": "pragma solidity ^0.4.21;\n\n\n/**\n * @title SafeMath\n * @dev Math operations with safety checks that throw on error\n * last open zepplin version used for : add sub mul div function : https://github.com/OpenZeppelin/zeppelin-solidity/blob/master/contracts/math/SafeMath.sol\n* commit : https://github.com/OpenZeppelin/zeppelin-solidity/commit/815d9e1f457f57cfbb1b4e889f2255c9a517f661\n */\nlibrary SafeMathOZ\n{\n\tfunction add(uint256 a, uint256 b) internal pure returns (uint256)\n\t{\n\t\tuint256 c = a + b;\n\t\tassert(c >= a);\n\t\treturn c;\n\t}\n\n\tfunction sub(uint256 a, uint256 b) internal pure returns (uint256)\n\t{\n\t\tassert(b <= a);\n\t\treturn a - b;\n\t}\n\n\tfunction mul(uint256 a, uint256 b) internal pure returns (uint256)\n\t{\n\t\tif (a == 0)\n\t\t{\n\t\t\treturn 0;\n\t\t}\n\t\tuint256 c = a * b;\n\t\tassert(c / a == b);\n\t\treturn c;\n\t}\n\n\tfunction div(uint256 a, uint256 b) internal pure returns (uint256)\n\t{\n\t\t// assert(b > 0); // Solidity automatically throws when dividing by 0\n\t\tuint256 c = a / b;\n\t\t// assert(a == b * c + a % b); // There is no case in which this doesn't hold\n\t\treturn c;\n\t}\n\n\tfunction max(uint256 a, uint256 b) internal pure returns (uint256)\n\t{\n\t\treturn a >= b ? a : b;\n\t}\n\n\tfunction min(uint256 a, uint256 b) internal pure returns (uint256)\n\t{\n\t\treturn a < b ? a : b;\n\t}\n\n\tfunction mulByFraction(uint256 a, uint256 b, uint256 c) internal pure returns (uint256)\n\t{\n\t\treturn div(mul(a, b), c);\n\t}\n\n\tfunction percentage(uint256 a, uint256 b) internal pure returns (uint256)\n\t{\n\t\treturn mulByFraction(a, b, 100);\n\t}\n\t// Source : https://ethereum.stackexchange.com/questions/8086/logarithm-math-operation-in-solidity\n\tfunction log(uint x) internal pure returns (uint y)\n\t{\n\t\tassembly\n\t\t{\n\t\t\tlet arg := x\n\t\t\tx := sub(x,1)\n\t\t\tx := or(x, div(x, 0x02))\n\t\t\tx := or(x, div(x, 0x04))\n\t\t\tx := or(x, div(x, 0x10))\n\t\t\tx := or(x, div(x, 0x100))\n\t\t\tx := or(x, div(x, 0x10000))\n\t\t\tx := or(x, div(x, 0x100000000))\n\t\t\tx := or(x, div(x, 0x10000000000000000))\n\t\t\tx := or(x, div(x, 0x100000000000000000000000000000000))\n\t\t\tx := add(x, 1)\n\t\t\tlet m := mload(0x40)\n\t\t\tmstore(m, 0xf8f9cbfae6cc78fbefe7cdc3a1793dfcf4f0e8bbd8cec470b6a28a7a5a3e1efd)\n\t\t\tmstore(add(m,0x20), 0xf5ecf1b3e9debc68e1d9cfabc5997135bfb7a7a3938b7b606b5b4b3f2f1f0ffe)\n\t\t\tmstore(add(m,0x40), 0xf6e4ed9ff2d6b458eadcdf97bd91692de2d4da8fd2d0ac50c6ae9a8272523616)\n\t\t\tmstore(add(m,0x60), 0xc8c0b887b0a8a4489c948c7f847c6125746c645c544c444038302820181008ff)\n\t\t\tmstore(add(m,0x80), 0xf7cae577eec2a03cf3bad76fb589591debb2dd67e0aa9834bea6925f6a4a2e0e)\n\t\t\tmstore(add(m,0xa0), 0xe39ed557db96902cd38ed14fad815115c786af479b7e83247363534337271707)\n\t\t\tmstore(add(m,0xc0), 0xc976c13bb96e881cb166a933a55e490d9d56952b8d4e801485467d2362422606)\n\t\t\tmstore(add(m,0xe0), 0x753a6d1b65325d0c552a4d1345224105391a310b29122104190a110309020100)\n\t\t\tmstore(0x40, add(m, 0x100))\n\t\t\tlet magic := 0x818283848586878898a8b8c8d8e8f929395969799a9b9d9e9faaeb6bedeeff\n\t\t\tlet shift := 0x100000000000000000000000000000000000000000000000000000000000000\n\t\t\tlet a := div(mul(x, magic), shift)\n\t\t\ty := div(mload(add(m,sub(255,a))), shift)\n\t\t\ty := add(y, mul(256, gt(arg, 0x8000000000000000000000000000000000000000000000000000000000000000)))\n\t\t}\n\t}\n}\n", - "sourcePath": "/Users/fbranci/iexecdev/PoCo/contracts/SafeMathOZ.sol", - "ast": { - "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/SafeMathOZ.sol", - "exportedSymbols": { - "SafeMathOZ": [ - 3924 - ] - }, - "id": 3925, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 3749, - "literals": [ - "solidity", - "^", - "0.4", - ".21" - ], - "nodeType": "PragmaDirective", - "src": "0:24:15" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "documentation": "@title SafeMath\n@dev Math operations with safety checks that throw on error\nlast open zepplin version used for : add sub mul div function : https://github.com/OpenZeppelin/zeppelin-solidity/blob/master/contracts/math/SafeMath.sol\ncommit : https://github.com/OpenZeppelin/zeppelin-solidity/commit/815d9e1f457f57cfbb1b4e889f2255c9a517f661", - "fullyImplemented": true, - "id": 3924, - "linearizedBaseContracts": [ - 3924 - ], - "name": "SafeMathOZ", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 3772, - "nodeType": "Block", - "src": "473:55:15", - "statements": [ - { - "assignments": [ - 3759 - ], - "declarations": [ - { - "constant": false, - "id": 3759, - "name": "c", - "nodeType": "VariableDeclaration", - "scope": 3773, - "src": "477:9:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3758, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "477:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3763, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3762, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3760, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3751, - "src": "489:1:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 3761, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3753, - "src": "493:1:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "489:5:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "477:17:15" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3767, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3765, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3759, - "src": "505:1:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 3766, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3751, - "src": "510:1:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "505:6:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 3764, - "name": "assert", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6998, - "src": "498:6:15", - "typeDescriptions": { - "typeIdentifier": "t_function_assert_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 3768, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "498:14:15", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3769, - "nodeType": "ExpressionStatement", - "src": "498:14:15" - }, - { - "expression": { - "argumentTypes": null, - "id": 3770, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3759, - "src": "523:1:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 3757, - "id": 3771, - "nodeType": "Return", - "src": "516:8:15" - } - ] - }, - "documentation": null, - "id": 3773, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "add", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3754, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3751, - "name": "a", - "nodeType": "VariableDeclaration", - "scope": 3773, - "src": "418:9:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3750, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "418:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3753, - "name": "b", - "nodeType": "VariableDeclaration", - "scope": 3773, - "src": "429:9:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3752, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "429:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "417:22:15" - }, - "payable": false, - "returnParameters": { - "id": 3757, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3756, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 3773, - "src": "463:7:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3755, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "463:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "462:9:15" - }, - "scope": 3924, - "src": "405:123:15", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 3792, - "nodeType": "Block", - "src": "599:38:15", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3785, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3783, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3777, - "src": "610:1:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 3784, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3775, - "src": "615:1:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "610:6:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 3782, - "name": "assert", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6998, - "src": "603:6:15", - "typeDescriptions": { - "typeIdentifier": "t_function_assert_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 3786, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "603:14:15", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3787, - "nodeType": "ExpressionStatement", - "src": "603:14:15" - }, - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3790, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3788, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3775, - "src": "628:1:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 3789, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3777, - "src": "632:1:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "628:5:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 3781, - "id": 3791, - "nodeType": "Return", - "src": "621:12:15" - } - ] - }, - "documentation": null, - "id": 3793, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "sub", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3778, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3775, - "name": "a", - "nodeType": "VariableDeclaration", - "scope": 3793, - "src": "544:9:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3774, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "544:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3777, - "name": "b", - "nodeType": "VariableDeclaration", - "scope": 3793, - "src": "555:9:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3776, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "555:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "543:22:15" - }, - "payable": false, - "returnParameters": { - "id": 3781, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3780, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 3793, - "src": "589:7:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3779, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "589:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "588:9:15" - }, - "scope": 3924, - "src": "531:106:15", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 3825, - "nodeType": "Block", - "src": "708:94:15", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3804, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3802, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3795, - "src": "716:1:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 3803, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "721:1:15", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "716:6:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 3808, - "nodeType": "IfStatement", - "src": "712:32:15", - "trueBody": { - "id": 3807, - "nodeType": "Block", - "src": "726:18:15", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "30", - "id": 3805, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "738:1:15", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "functionReturnParameters": 3801, - "id": 3806, - "nodeType": "Return", - "src": "731:8:15" - } - ] - } - }, - { - "assignments": [ - 3810 - ], - "declarations": [ - { - "constant": false, - "id": 3810, - "name": "c", - "nodeType": "VariableDeclaration", - "scope": 3826, - "src": "747:9:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3809, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "747:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3814, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3813, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3811, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3795, - "src": "759:1:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 3812, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3797, - "src": "763:1:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "759:5:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "747:17:15" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3820, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3818, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3816, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3810, - "src": "775:1:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 3817, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3795, - "src": "779:1:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "775:5:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 3819, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3797, - "src": "784:1:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "775:10:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 3815, - "name": "assert", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6998, - "src": "768:6:15", - "typeDescriptions": { - "typeIdentifier": "t_function_assert_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 3821, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "768:18:15", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3822, - "nodeType": "ExpressionStatement", - "src": "768:18:15" - }, - { - "expression": { - "argumentTypes": null, - "id": 3823, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3810, - "src": "797:1:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 3801, - "id": 3824, - "nodeType": "Return", - "src": "790:8:15" - } - ] - }, - "documentation": null, - "id": 3826, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "mul", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3798, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3795, - "name": "a", - "nodeType": "VariableDeclaration", - "scope": 3826, - "src": "653:9:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3794, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "653:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3797, - "name": "b", - "nodeType": "VariableDeclaration", - "scope": 3826, - "src": "664:9:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3796, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "664:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "652:22:15" - }, - "payable": false, - "returnParameters": { - "id": 3801, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3800, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 3826, - "src": "698:7:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3799, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "698:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "697:9:15" - }, - "scope": 3924, - "src": "640:162:15", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 3843, - "nodeType": "Block", - "src": "873:189:15", - "statements": [ - { - "assignments": [ - 3836 - ], - "declarations": [ - { - "constant": false, - "id": 3836, - "name": "c", - "nodeType": "VariableDeclaration", - "scope": 3844, - "src": "949:9:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3835, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "949:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3840, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3839, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3837, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3828, - "src": "961:1:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 3838, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3830, - "src": "965:1:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "961:5:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "949:17:15" - }, - { - "expression": { - "argumentTypes": null, - "id": 3841, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3836, - "src": "1057:1:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 3834, - "id": 3842, - "nodeType": "Return", - "src": "1050:8:15" - } - ] - }, - "documentation": null, - "id": 3844, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "div", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3831, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3828, - "name": "a", - "nodeType": "VariableDeclaration", - "scope": 3844, - "src": "818:9:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3827, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "818:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3830, - "name": "b", - "nodeType": "VariableDeclaration", - "scope": 3844, - "src": "829:9:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3829, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "829:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "817:22:15" - }, - "payable": false, - "returnParameters": { - "id": 3834, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3833, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 3844, - "src": "863:7:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3832, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "863:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "862:9:15" - }, - "scope": 3924, - "src": "805:257:15", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 3860, - "nodeType": "Block", - "src": "1133:29:15", - "statements": [ - { - "expression": { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3855, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3853, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3846, - "src": "1144:1:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 3854, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3848, - "src": "1149:1:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1144:6:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "id": 3857, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3848, - "src": "1157:1:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3858, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "1144:14:15", - "trueExpression": { - "argumentTypes": null, - "id": 3856, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3846, - "src": "1153:1:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 3852, - "id": 3859, - "nodeType": "Return", - "src": "1137:21:15" - } - ] - }, - "documentation": null, - "id": 3861, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "max", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3849, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3846, - "name": "a", - "nodeType": "VariableDeclaration", - "scope": 3861, - "src": "1078:9:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3845, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1078:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3848, - "name": "b", - "nodeType": "VariableDeclaration", - "scope": 3861, - "src": "1089:9:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3847, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1089:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1077:22:15" - }, - "payable": false, - "returnParameters": { - "id": 3852, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3851, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 3861, - "src": "1123:7:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3850, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1123:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1122:9:15" - }, - "scope": 3924, - "src": "1065:97:15", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 3877, - "nodeType": "Block", - "src": "1233:28:15", - "statements": [ - { - "expression": { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3872, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3870, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3863, - "src": "1244:1:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 3871, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3865, - "src": "1248:1:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1244:5:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "id": 3874, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3865, - "src": "1256:1:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3875, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "1244:13:15", - "trueExpression": { - "argumentTypes": null, - "id": 3873, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3863, - "src": "1252:1:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 3869, - "id": 3876, - "nodeType": "Return", - "src": "1237:20:15" - } - ] - }, - "documentation": null, - "id": 3878, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "min", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3866, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3863, - "name": "a", - "nodeType": "VariableDeclaration", - "scope": 3878, - "src": "1178:9:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3862, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1178:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3865, - "name": "b", - "nodeType": "VariableDeclaration", - "scope": 3878, - "src": "1189:9:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3864, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1189:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1177:22:15" - }, - "payable": false, - "returnParameters": { - "id": 3869, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3868, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 3878, - "src": "1223:7:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3867, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1223:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1222:9:15" - }, - "scope": 3924, - "src": "1165:96:15", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 3897, - "nodeType": "Block", - "src": "1353:32:15", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3891, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3880, - "src": "1372:1:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 3892, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3882, - "src": "1375:1:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3890, - "name": "mul", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3826, - "src": "1368:3:15", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3893, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1368:9:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 3894, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3884, - "src": "1379:1:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3889, - "name": "div", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3844, - "src": "1364:3:15", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3895, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1364:17:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 3888, - "id": 3896, - "nodeType": "Return", - "src": "1357:24:15" - } - ] - }, - "documentation": null, - "id": 3898, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "mulByFraction", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3885, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3880, - "name": "a", - "nodeType": "VariableDeclaration", - "scope": 3898, - "src": "1287:9:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3879, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1287:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3882, - "name": "b", - "nodeType": "VariableDeclaration", - "scope": 3898, - "src": "1298:9:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3881, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1298:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3884, - "name": "c", - "nodeType": "VariableDeclaration", - "scope": 3898, - "src": "1309:9:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3883, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1309:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1286:33:15" - }, - "payable": false, - "returnParameters": { - "id": 3888, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3887, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 3898, - "src": "1343:7:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3886, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1343:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1342:9:15" - }, - "scope": 3924, - "src": "1264:121:15", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 3913, - "nodeType": "Block", - "src": "1463:39:15", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3908, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3900, - "src": "1488:1:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 3909, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3902, - "src": "1491:1:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "313030", - "id": 3910, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1494:3:15", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - } - ], - "id": 3907, - "name": "mulByFraction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3898, - "src": "1474:13:15", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" - } - }, - "id": 3911, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1474:24:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 3906, - "id": 3912, - "nodeType": "Return", - "src": "1467:31:15" - } - ] - }, - "documentation": null, - "id": 3914, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "percentage", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3903, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3900, - "name": "a", - "nodeType": "VariableDeclaration", - "scope": 3914, - "src": "1408:9:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3899, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1408:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3902, - "name": "b", - "nodeType": "VariableDeclaration", - "scope": 3914, - "src": "1419:9:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3901, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1419:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1407:22:15" - }, - "payable": false, - "returnParameters": { - "id": 3906, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3905, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 3914, - "src": "1453:7:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3904, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1453:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1452:9:15" - }, - "scope": 3924, - "src": "1388:114:15", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 3922, - "nodeType": "Block", - "src": "1657:1486:15", - "statements": [ - { - "externalReferences": [ - { - "x": { - "declaration": 3916, - "isOffset": false, - "isSlot": false, - "src": "1991:1:15", - "valueSize": 1 - } - }, - { - "x": { - "declaration": 3916, - "isOffset": false, - "isSlot": false, - "src": "1932:1:15", - "valueSize": 1 - } - }, - { - "x": { - "declaration": 3916, - "isOffset": false, - "isSlot": false, - "src": "1688:1:15", - "valueSize": 1 - } - }, - { - "x": { - "declaration": 3916, - "isOffset": false, - "isSlot": false, - "src": "1718:1:15", - "valueSize": 1 - } - }, - { - "x": { - "declaration": 3916, - "isOffset": false, - "isSlot": false, - "src": "1693:1:15", - "valueSize": 1 - } - }, - { - "x": { - "declaration": 3916, - "isOffset": false, - "isSlot": false, - "src": "1710:1:15", - "valueSize": 1 - } - }, - { - "x": { - "declaration": 3916, - "isOffset": false, - "isSlot": false, - "src": "1702:1:15", - "valueSize": 1 - } - }, - { - "x": { - "declaration": 3916, - "isOffset": false, - "isSlot": false, - "src": "1738:1:15", - "valueSize": 1 - } - }, - { - "x": { - "declaration": 3916, - "isOffset": false, - "isSlot": false, - "src": "1766:1:15", - "valueSize": 1 - } - }, - { - "x": { - "declaration": 3916, - "isOffset": false, - "isSlot": false, - "src": "1823:1:15", - "valueSize": 1 - } - }, - { - "x": { - "declaration": 3916, - "isOffset": false, - "isSlot": false, - "src": "1862:1:15", - "valueSize": 1 - } - }, - { - "x": { - "declaration": 3916, - "isOffset": false, - "isSlot": false, - "src": "1725:1:15", - "valueSize": 1 - } - }, - { - "x": { - "declaration": 3916, - "isOffset": false, - "isSlot": false, - "src": "1854:1:15", - "valueSize": 1 - } - }, - { - "x": { - "declaration": 3916, - "isOffset": false, - "isSlot": false, - "src": "1889:1:15", - "valueSize": 1 - } - }, - { - "x": { - "declaration": 3916, - "isOffset": false, - "isSlot": false, - "src": "1802:1:15", - "valueSize": 1 - } - }, - { - "x": { - "declaration": 3916, - "isOffset": false, - "isSlot": false, - "src": "1809:1:15", - "valueSize": 1 - } - }, - { - "x": { - "declaration": 3916, - "isOffset": false, - "isSlot": false, - "src": "1794:1:15", - "valueSize": 1 - } - }, - { - "x": { - "declaration": 3916, - "isOffset": false, - "isSlot": false, - "src": "1746:1:15", - "valueSize": 1 - } - }, - { - "x": { - "declaration": 3916, - "isOffset": false, - "isSlot": false, - "src": "1753:1:15", - "valueSize": 1 - } - }, - { - "x": { - "declaration": 3916, - "isOffset": false, - "isSlot": false, - "src": "1774:1:15", - "valueSize": 1 - } - }, - { - "x": { - "declaration": 3916, - "isOffset": false, - "isSlot": false, - "src": "1781:1:15", - "valueSize": 1 - } - }, - { - "x": { - "declaration": 3916, - "isOffset": false, - "isSlot": false, - "src": "2000:1:15", - "valueSize": 1 - } - }, - { - "x": { - "declaration": 3916, - "isOffset": false, - "isSlot": false, - "src": "1940:1:15", - "valueSize": 1 - } - }, - { - "x": { - "declaration": 3916, - "isOffset": false, - "isSlot": false, - "src": "1947:1:15", - "valueSize": 1 - } - }, - { - "x": { - "declaration": 3916, - "isOffset": false, - "isSlot": false, - "src": "1831:1:15", - "valueSize": 1 - } - }, - { - "x": { - "declaration": 3916, - "isOffset": false, - "isSlot": false, - "src": "1838:1:15", - "valueSize": 1 - } - }, - { - "x": { - "declaration": 3916, - "isOffset": false, - "isSlot": false, - "src": "1897:1:15", - "valueSize": 1 - } - }, - { - "x": { - "declaration": 3916, - "isOffset": false, - "isSlot": false, - "src": "1869:1:15", - "valueSize": 1 - } - }, - { - "x": { - "declaration": 3916, - "isOffset": false, - "isSlot": false, - "src": "1904:1:15", - "valueSize": 1 - } - }, - { - "y": { - "declaration": 3919, - "isOffset": false, - "isSlot": false, - "src": "2993:1:15", - "valueSize": 1 - } - }, - { - "y": { - "declaration": 3919, - "isOffset": false, - "isSlot": false, - "src": "3047:1:15", - "valueSize": 1 - } - }, - { - "x": { - "declaration": 3916, - "isOffset": false, - "isSlot": false, - "src": "2972:1:15", - "valueSize": 1 - } - }, - { - "y": { - "declaration": 3919, - "isOffset": false, - "isSlot": false, - "src": "3038:1:15", - "valueSize": 1 - } - } - ], - "id": 3921, - "nodeType": "InlineAssembly", - "operations": "{\n let arg := x\n x := sub(x, 1)\n x := or(x, div(x, 0x02))\n x := or(x, div(x, 0x04))\n x := or(x, div(x, 0x10))\n x := or(x, div(x, 0x100))\n x := or(x, div(x, 0x10000))\n x := or(x, div(x, 0x100000000))\n x := or(x, div(x, 0x10000000000000000))\n x := or(x, div(x, 0x100000000000000000000000000000000))\n x := add(x, 1)\n let m := mload(0x40)\n mstore(m, 0xf8f9cbfae6cc78fbefe7cdc3a1793dfcf4f0e8bbd8cec470b6a28a7a5a3e1efd)\n mstore(add(m, 0x20), 0xf5ecf1b3e9debc68e1d9cfabc5997135bfb7a7a3938b7b606b5b4b3f2f1f0ffe)\n mstore(add(m, 0x40), 0xf6e4ed9ff2d6b458eadcdf97bd91692de2d4da8fd2d0ac50c6ae9a8272523616)\n mstore(add(m, 0x60), 0xc8c0b887b0a8a4489c948c7f847c6125746c645c544c444038302820181008ff)\n mstore(add(m, 0x80), 0xf7cae577eec2a03cf3bad76fb589591debb2dd67e0aa9834bea6925f6a4a2e0e)\n mstore(add(m, 0xa0), 0xe39ed557db96902cd38ed14fad815115c786af479b7e83247363534337271707)\n mstore(add(m, 0xc0), 0xc976c13bb96e881cb166a933a55e490d9d56952b8d4e801485467d2362422606)\n mstore(add(m, 0xe0), 0x753a6d1b65325d0c552a4d1345224105391a310b29122104190a110309020100)\n mstore(0x40, add(m, 0x100))\n let magic := 0x818283848586878898a8b8c8d8e8f929395969799a9b9d9e9faaeb6bedeeff\n let shift := 0x100000000000000000000000000000000000000000000000000000000000000\n let a := div(mul(x, magic), shift)\n y := div(mload(add(m, sub(255, a))), shift)\n y := add(y, mul(256, gt(arg, 0x8000000000000000000000000000000000000000000000000000000000000000)))\n}", - "src": "1661:1482:15" - } - ] - }, - "documentation": null, - "id": 3923, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "log", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3917, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3916, - "name": "x", - "nodeType": "VariableDeclaration", - "scope": 3923, - "src": "1617:6:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3915, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1617:4:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1616:8:15" - }, - "payable": false, - "returnParameters": { - "id": 3920, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3919, - "name": "y", - "nodeType": "VariableDeclaration", - "scope": 3923, - "src": "1648:6:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3918, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1648:4:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1647:8:15" - }, - "scope": 3924, - "src": "1604:1539:15", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 3925, - "src": "383:2762:15" - } - ], - "src": "0:3146:15" - }, - "legacyAST": { - "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/SafeMathOZ.sol", - "exportedSymbols": { - "SafeMathOZ": [ - 3924 - ] - }, - "id": 3925, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 3749, - "literals": [ - "solidity", - "^", - "0.4", - ".21" - ], - "nodeType": "PragmaDirective", - "src": "0:24:15" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "documentation": "@title SafeMath\n@dev Math operations with safety checks that throw on error\nlast open zepplin version used for : add sub mul div function : https://github.com/OpenZeppelin/zeppelin-solidity/blob/master/contracts/math/SafeMath.sol\ncommit : https://github.com/OpenZeppelin/zeppelin-solidity/commit/815d9e1f457f57cfbb1b4e889f2255c9a517f661", - "fullyImplemented": true, - "id": 3924, - "linearizedBaseContracts": [ - 3924 - ], - "name": "SafeMathOZ", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 3772, - "nodeType": "Block", - "src": "473:55:15", - "statements": [ - { - "assignments": [ - 3759 - ], - "declarations": [ - { - "constant": false, - "id": 3759, - "name": "c", - "nodeType": "VariableDeclaration", - "scope": 3773, - "src": "477:9:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3758, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "477:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3763, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3762, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3760, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3751, - "src": "489:1:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 3761, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3753, - "src": "493:1:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "489:5:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "477:17:15" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3767, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3765, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3759, - "src": "505:1:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 3766, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3751, - "src": "510:1:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "505:6:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 3764, - "name": "assert", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6998, - "src": "498:6:15", - "typeDescriptions": { - "typeIdentifier": "t_function_assert_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 3768, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "498:14:15", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3769, - "nodeType": "ExpressionStatement", - "src": "498:14:15" - }, - { - "expression": { - "argumentTypes": null, - "id": 3770, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3759, - "src": "523:1:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 3757, - "id": 3771, - "nodeType": "Return", - "src": "516:8:15" - } - ] - }, - "documentation": null, - "id": 3773, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "add", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3754, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3751, - "name": "a", - "nodeType": "VariableDeclaration", - "scope": 3773, - "src": "418:9:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3750, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "418:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3753, - "name": "b", - "nodeType": "VariableDeclaration", - "scope": 3773, - "src": "429:9:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3752, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "429:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "417:22:15" - }, - "payable": false, - "returnParameters": { - "id": 3757, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3756, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 3773, - "src": "463:7:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3755, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "463:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "462:9:15" - }, - "scope": 3924, - "src": "405:123:15", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 3792, - "nodeType": "Block", - "src": "599:38:15", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3785, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3783, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3777, - "src": "610:1:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 3784, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3775, - "src": "615:1:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "610:6:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 3782, - "name": "assert", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6998, - "src": "603:6:15", - "typeDescriptions": { - "typeIdentifier": "t_function_assert_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 3786, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "603:14:15", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3787, - "nodeType": "ExpressionStatement", - "src": "603:14:15" - }, - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3790, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3788, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3775, - "src": "628:1:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 3789, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3777, - "src": "632:1:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "628:5:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 3781, - "id": 3791, - "nodeType": "Return", - "src": "621:12:15" - } - ] - }, - "documentation": null, - "id": 3793, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "sub", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3778, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3775, - "name": "a", - "nodeType": "VariableDeclaration", - "scope": 3793, - "src": "544:9:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3774, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "544:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3777, - "name": "b", - "nodeType": "VariableDeclaration", - "scope": 3793, - "src": "555:9:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3776, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "555:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "543:22:15" - }, - "payable": false, - "returnParameters": { - "id": 3781, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3780, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 3793, - "src": "589:7:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3779, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "589:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "588:9:15" - }, - "scope": 3924, - "src": "531:106:15", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 3825, - "nodeType": "Block", - "src": "708:94:15", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3804, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3802, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3795, - "src": "716:1:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 3803, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "721:1:15", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "716:6:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 3808, - "nodeType": "IfStatement", - "src": "712:32:15", - "trueBody": { - "id": 3807, - "nodeType": "Block", - "src": "726:18:15", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "30", - "id": 3805, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "738:1:15", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "functionReturnParameters": 3801, - "id": 3806, - "nodeType": "Return", - "src": "731:8:15" - } - ] - } - }, - { - "assignments": [ - 3810 - ], - "declarations": [ - { - "constant": false, - "id": 3810, - "name": "c", - "nodeType": "VariableDeclaration", - "scope": 3826, - "src": "747:9:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3809, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "747:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3814, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3813, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3811, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3795, - "src": "759:1:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 3812, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3797, - "src": "763:1:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "759:5:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "747:17:15" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3820, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3818, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3816, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3810, - "src": "775:1:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 3817, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3795, - "src": "779:1:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "775:5:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 3819, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3797, - "src": "784:1:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "775:10:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 3815, - "name": "assert", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6998, - "src": "768:6:15", - "typeDescriptions": { - "typeIdentifier": "t_function_assert_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 3821, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "768:18:15", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3822, - "nodeType": "ExpressionStatement", - "src": "768:18:15" - }, - { - "expression": { - "argumentTypes": null, - "id": 3823, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3810, - "src": "797:1:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 3801, - "id": 3824, - "nodeType": "Return", - "src": "790:8:15" - } - ] - }, - "documentation": null, - "id": 3826, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "mul", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3798, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3795, - "name": "a", - "nodeType": "VariableDeclaration", - "scope": 3826, - "src": "653:9:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3794, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "653:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3797, - "name": "b", - "nodeType": "VariableDeclaration", - "scope": 3826, - "src": "664:9:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3796, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "664:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "652:22:15" - }, - "payable": false, - "returnParameters": { - "id": 3801, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3800, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 3826, - "src": "698:7:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3799, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "698:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "697:9:15" - }, - "scope": 3924, - "src": "640:162:15", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 3843, - "nodeType": "Block", - "src": "873:189:15", - "statements": [ - { - "assignments": [ - 3836 - ], - "declarations": [ - { - "constant": false, - "id": 3836, - "name": "c", - "nodeType": "VariableDeclaration", - "scope": 3844, - "src": "949:9:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3835, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "949:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3840, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3839, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3837, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3828, - "src": "961:1:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 3838, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3830, - "src": "965:1:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "961:5:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "949:17:15" - }, - { - "expression": { - "argumentTypes": null, - "id": 3841, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3836, - "src": "1057:1:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 3834, - "id": 3842, - "nodeType": "Return", - "src": "1050:8:15" - } - ] - }, - "documentation": null, - "id": 3844, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "div", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3831, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3828, - "name": "a", - "nodeType": "VariableDeclaration", - "scope": 3844, - "src": "818:9:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3827, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "818:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3830, - "name": "b", - "nodeType": "VariableDeclaration", - "scope": 3844, - "src": "829:9:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3829, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "829:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "817:22:15" - }, - "payable": false, - "returnParameters": { - "id": 3834, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3833, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 3844, - "src": "863:7:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3832, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "863:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "862:9:15" - }, - "scope": 3924, - "src": "805:257:15", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 3860, - "nodeType": "Block", - "src": "1133:29:15", - "statements": [ - { - "expression": { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3855, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3853, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3846, - "src": "1144:1:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 3854, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3848, - "src": "1149:1:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1144:6:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "id": 3857, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3848, - "src": "1157:1:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3858, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "1144:14:15", - "trueExpression": { - "argumentTypes": null, - "id": 3856, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3846, - "src": "1153:1:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 3852, - "id": 3859, - "nodeType": "Return", - "src": "1137:21:15" - } - ] - }, - "documentation": null, - "id": 3861, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "max", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3849, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3846, - "name": "a", - "nodeType": "VariableDeclaration", - "scope": 3861, - "src": "1078:9:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3845, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1078:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3848, - "name": "b", - "nodeType": "VariableDeclaration", - "scope": 3861, - "src": "1089:9:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3847, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1089:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1077:22:15" - }, - "payable": false, - "returnParameters": { - "id": 3852, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3851, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 3861, - "src": "1123:7:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3850, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1123:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1122:9:15" - }, - "scope": 3924, - "src": "1065:97:15", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 3877, - "nodeType": "Block", - "src": "1233:28:15", - "statements": [ - { - "expression": { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3872, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3870, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3863, - "src": "1244:1:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 3871, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3865, - "src": "1248:1:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1244:5:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "id": 3874, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3865, - "src": "1256:1:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3875, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "1244:13:15", - "trueExpression": { - "argumentTypes": null, - "id": 3873, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3863, - "src": "1252:1:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 3869, - "id": 3876, - "nodeType": "Return", - "src": "1237:20:15" - } - ] - }, - "documentation": null, - "id": 3878, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "min", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3866, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3863, - "name": "a", - "nodeType": "VariableDeclaration", - "scope": 3878, - "src": "1178:9:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3862, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1178:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3865, - "name": "b", - "nodeType": "VariableDeclaration", - "scope": 3878, - "src": "1189:9:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3864, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1189:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1177:22:15" - }, - "payable": false, - "returnParameters": { - "id": 3869, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3868, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 3878, - "src": "1223:7:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3867, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1223:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1222:9:15" - }, - "scope": 3924, - "src": "1165:96:15", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 3897, - "nodeType": "Block", - "src": "1353:32:15", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3891, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3880, - "src": "1372:1:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 3892, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3882, - "src": "1375:1:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3890, - "name": "mul", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3826, - "src": "1368:3:15", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3893, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1368:9:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 3894, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3884, - "src": "1379:1:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3889, - "name": "div", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3844, - "src": "1364:3:15", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3895, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1364:17:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 3888, - "id": 3896, - "nodeType": "Return", - "src": "1357:24:15" - } - ] - }, - "documentation": null, - "id": 3898, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "mulByFraction", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3885, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3880, - "name": "a", - "nodeType": "VariableDeclaration", - "scope": 3898, - "src": "1287:9:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3879, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1287:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3882, - "name": "b", - "nodeType": "VariableDeclaration", - "scope": 3898, - "src": "1298:9:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3881, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1298:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3884, - "name": "c", - "nodeType": "VariableDeclaration", - "scope": 3898, - "src": "1309:9:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3883, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1309:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1286:33:15" - }, - "payable": false, - "returnParameters": { - "id": 3888, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3887, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 3898, - "src": "1343:7:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3886, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1343:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1342:9:15" - }, - "scope": 3924, - "src": "1264:121:15", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 3913, - "nodeType": "Block", - "src": "1463:39:15", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3908, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3900, - "src": "1488:1:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 3909, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3902, - "src": "1491:1:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "313030", - "id": 3910, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1494:3:15", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - } - ], - "id": 3907, - "name": "mulByFraction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3898, - "src": "1474:13:15", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" - } - }, - "id": 3911, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1474:24:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 3906, - "id": 3912, - "nodeType": "Return", - "src": "1467:31:15" - } - ] - }, - "documentation": null, - "id": 3914, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "percentage", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3903, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3900, - "name": "a", - "nodeType": "VariableDeclaration", - "scope": 3914, - "src": "1408:9:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3899, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1408:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3902, - "name": "b", - "nodeType": "VariableDeclaration", - "scope": 3914, - "src": "1419:9:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3901, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1419:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1407:22:15" - }, - "payable": false, - "returnParameters": { - "id": 3906, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3905, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 3914, - "src": "1453:7:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3904, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1453:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1452:9:15" - }, - "scope": 3924, - "src": "1388:114:15", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 3922, - "nodeType": "Block", - "src": "1657:1486:15", - "statements": [ - { - "externalReferences": [ - { - "x": { - "declaration": 3916, - "isOffset": false, - "isSlot": false, - "src": "1991:1:15", - "valueSize": 1 - } - }, - { - "x": { - "declaration": 3916, - "isOffset": false, - "isSlot": false, - "src": "1932:1:15", - "valueSize": 1 - } - }, - { - "x": { - "declaration": 3916, - "isOffset": false, - "isSlot": false, - "src": "1688:1:15", - "valueSize": 1 - } - }, - { - "x": { - "declaration": 3916, - "isOffset": false, - "isSlot": false, - "src": "1718:1:15", - "valueSize": 1 - } - }, - { - "x": { - "declaration": 3916, - "isOffset": false, - "isSlot": false, - "src": "1693:1:15", - "valueSize": 1 - } - }, - { - "x": { - "declaration": 3916, - "isOffset": false, - "isSlot": false, - "src": "1710:1:15", - "valueSize": 1 - } - }, - { - "x": { - "declaration": 3916, - "isOffset": false, - "isSlot": false, - "src": "1702:1:15", - "valueSize": 1 - } - }, - { - "x": { - "declaration": 3916, - "isOffset": false, - "isSlot": false, - "src": "1738:1:15", - "valueSize": 1 - } - }, - { - "x": { - "declaration": 3916, - "isOffset": false, - "isSlot": false, - "src": "1766:1:15", - "valueSize": 1 - } - }, - { - "x": { - "declaration": 3916, - "isOffset": false, - "isSlot": false, - "src": "1823:1:15", - "valueSize": 1 - } - }, - { - "x": { - "declaration": 3916, - "isOffset": false, - "isSlot": false, - "src": "1862:1:15", - "valueSize": 1 - } - }, - { - "x": { - "declaration": 3916, - "isOffset": false, - "isSlot": false, - "src": "1725:1:15", - "valueSize": 1 - } - }, - { - "x": { - "declaration": 3916, - "isOffset": false, - "isSlot": false, - "src": "1854:1:15", - "valueSize": 1 - } - }, - { - "x": { - "declaration": 3916, - "isOffset": false, - "isSlot": false, - "src": "1889:1:15", - "valueSize": 1 - } - }, - { - "x": { - "declaration": 3916, - "isOffset": false, - "isSlot": false, - "src": "1802:1:15", - "valueSize": 1 - } - }, - { - "x": { - "declaration": 3916, - "isOffset": false, - "isSlot": false, - "src": "1809:1:15", - "valueSize": 1 - } - }, - { - "x": { - "declaration": 3916, - "isOffset": false, - "isSlot": false, - "src": "1794:1:15", - "valueSize": 1 - } - }, - { - "x": { - "declaration": 3916, - "isOffset": false, - "isSlot": false, - "src": "1746:1:15", - "valueSize": 1 - } - }, - { - "x": { - "declaration": 3916, - "isOffset": false, - "isSlot": false, - "src": "1753:1:15", - "valueSize": 1 - } - }, - { - "x": { - "declaration": 3916, - "isOffset": false, - "isSlot": false, - "src": "1774:1:15", - "valueSize": 1 - } - }, - { - "x": { - "declaration": 3916, - "isOffset": false, - "isSlot": false, - "src": "1781:1:15", - "valueSize": 1 - } - }, - { - "x": { - "declaration": 3916, - "isOffset": false, - "isSlot": false, - "src": "2000:1:15", - "valueSize": 1 - } - }, - { - "x": { - "declaration": 3916, - "isOffset": false, - "isSlot": false, - "src": "1940:1:15", - "valueSize": 1 - } - }, - { - "x": { - "declaration": 3916, - "isOffset": false, - "isSlot": false, - "src": "1947:1:15", - "valueSize": 1 - } - }, - { - "x": { - "declaration": 3916, - "isOffset": false, - "isSlot": false, - "src": "1831:1:15", - "valueSize": 1 - } - }, - { - "x": { - "declaration": 3916, - "isOffset": false, - "isSlot": false, - "src": "1838:1:15", - "valueSize": 1 - } - }, - { - "x": { - "declaration": 3916, - "isOffset": false, - "isSlot": false, - "src": "1897:1:15", - "valueSize": 1 - } - }, - { - "x": { - "declaration": 3916, - "isOffset": false, - "isSlot": false, - "src": "1869:1:15", - "valueSize": 1 - } - }, - { - "x": { - "declaration": 3916, - "isOffset": false, - "isSlot": false, - "src": "1904:1:15", - "valueSize": 1 - } - }, - { - "y": { - "declaration": 3919, - "isOffset": false, - "isSlot": false, - "src": "2993:1:15", - "valueSize": 1 - } - }, - { - "y": { - "declaration": 3919, - "isOffset": false, - "isSlot": false, - "src": "3047:1:15", - "valueSize": 1 - } - }, - { - "x": { - "declaration": 3916, - "isOffset": false, - "isSlot": false, - "src": "2972:1:15", - "valueSize": 1 - } - }, - { - "y": { - "declaration": 3919, - "isOffset": false, - "isSlot": false, - "src": "3038:1:15", - "valueSize": 1 - } - } - ], - "id": 3921, - "nodeType": "InlineAssembly", - "operations": "{\n let arg := x\n x := sub(x, 1)\n x := or(x, div(x, 0x02))\n x := or(x, div(x, 0x04))\n x := or(x, div(x, 0x10))\n x := or(x, div(x, 0x100))\n x := or(x, div(x, 0x10000))\n x := or(x, div(x, 0x100000000))\n x := or(x, div(x, 0x10000000000000000))\n x := or(x, div(x, 0x100000000000000000000000000000000))\n x := add(x, 1)\n let m := mload(0x40)\n mstore(m, 0xf8f9cbfae6cc78fbefe7cdc3a1793dfcf4f0e8bbd8cec470b6a28a7a5a3e1efd)\n mstore(add(m, 0x20), 0xf5ecf1b3e9debc68e1d9cfabc5997135bfb7a7a3938b7b606b5b4b3f2f1f0ffe)\n mstore(add(m, 0x40), 0xf6e4ed9ff2d6b458eadcdf97bd91692de2d4da8fd2d0ac50c6ae9a8272523616)\n mstore(add(m, 0x60), 0xc8c0b887b0a8a4489c948c7f847c6125746c645c544c444038302820181008ff)\n mstore(add(m, 0x80), 0xf7cae577eec2a03cf3bad76fb589591debb2dd67e0aa9834bea6925f6a4a2e0e)\n mstore(add(m, 0xa0), 0xe39ed557db96902cd38ed14fad815115c786af479b7e83247363534337271707)\n mstore(add(m, 0xc0), 0xc976c13bb96e881cb166a933a55e490d9d56952b8d4e801485467d2362422606)\n mstore(add(m, 0xe0), 0x753a6d1b65325d0c552a4d1345224105391a310b29122104190a110309020100)\n mstore(0x40, add(m, 0x100))\n let magic := 0x818283848586878898a8b8c8d8e8f929395969799a9b9d9e9faaeb6bedeeff\n let shift := 0x100000000000000000000000000000000000000000000000000000000000000\n let a := div(mul(x, magic), shift)\n y := div(mload(add(m, sub(255, a))), shift)\n y := add(y, mul(256, gt(arg, 0x8000000000000000000000000000000000000000000000000000000000000000)))\n}", - "src": "1661:1482:15" - } - ] - }, - "documentation": null, - "id": 3923, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "log", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3917, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3916, - "name": "x", - "nodeType": "VariableDeclaration", - "scope": 3923, - "src": "1617:6:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3915, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1617:4:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1616:8:15" - }, - "payable": false, - "returnParameters": { - "id": 3920, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3919, - "name": "y", - "nodeType": "VariableDeclaration", - "scope": 3923, - "src": "1648:6:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3918, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1648:4:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1647:8:15" - }, - "scope": 3924, - "src": "1604:1539:15", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 3925, - "src": "383:2762:15" - } - ], - "src": "0:3146:15" - }, - "compiler": { - "name": "solc", - "version": "0.4.21+commit.dfe3193c.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "2.0.0", - "updatedAt": "2018-05-20T20:12:33.559Z" -} diff --git a/build/contracts/TestSha.json b/build/contracts/TestSha.json deleted file mode 100644 index 913b2d18..00000000 --- a/build/contracts/TestSha.json +++ /dev/null @@ -1,2782 +0,0 @@ -{ - "contractName": "TestSha", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "result", - "type": "bytes32" - }, - { - "indexed": false, - "name": "input", - "type": "bytes32" - } - ], - "name": "SolidityKeccak256FromBytes", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "result", - "type": "bytes32" - }, - { - "indexed": false, - "name": "input", - "type": "string" - } - ], - "name": "SolidityKeccak256FromString", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "result", - "type": "bytes32" - }, - { - "indexed": false, - "name": "input", - "type": "address" - } - ], - "name": "SolidityKeccak256FromAddress", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "input", - "type": "bytes32" - }, - { - "indexed": false, - "name": "voter", - "type": "address" - }, - { - "indexed": false, - "name": "vote", - "type": "bytes32" - }, - { - "indexed": false, - "name": "sign", - "type": "bytes32" - } - ], - "name": "SignedVote", - "type": "event" - }, - { - "constant": false, - "inputs": [ - { - "name": "_input", - "type": "bytes32" - } - ], - "name": "testSolidityKeccak256FromBytes", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_input", - "type": "string" - } - ], - "name": "testSolidityKeccak256FromString", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_input", - "type": "address" - } - ], - "name": "testSolidityKeccak256FromAddress", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_result", - "type": "bytes32" - } - ], - "name": "testSignedVote", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x6060604052341561000f57600080fd5b6103e38061001e6000396000f3006060604052600436106100615763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663040c9c6581146100665780634c4bc901146100b9578063b4b5cae9146100cf578063d29da48c146100e5575b600080fd5b341561007157600080fd5b6100b760046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284375094965061011195505050505050565b005b34156100c457600080fd5b6100b760043561020f565b34156100da57600080fd5b6100b760043561025d565b34156100f057600080fd5b6100b773ffffffffffffffffffffffffffffffffffffffff6004351661032c565b7f3f5e68e2b6822310a06a920b9b73daa30286bba2c001fa2133308e55a1d2820c816040518082805190602001908083835b602083106101625780518252601f199092019160209182019101610143565b6001836020036101000a038019825116818451161790925250505091909101925060409150505180910390208260405182815260406020820181815290820183818151815260200191508051906020019080838360005b838110156101d15780820151838201526020016101b9565b50505050905090810190601f1680156101fe5780820380516001836020036101000a031916815260200191505b50935050505060405180910390a150565b7f5f9b0066ef1432686f95afb566285f26646659039499219f4e8db0f462e889738160405190815260200160405180910390208260405191825260208201526040908101905180910390a150565b60008082604051908152602001604051809103902091503360405173ffffffffffffffffffffffffffffffffffffffff919091166c0100000000000000000000000002815260140160405180910390208318604051908152602001604051809103902090507f01477555f917271446523927e2e1e6172851347fc25430923a78abc27ef37e978333848460405193845273ffffffffffffffffffffffffffffffffffffffff909216602084015260408084019190915260608301919091526080909101905180910390a1505050565b7fd44e9c0d833bb9a963228a03302f0599e829fc4c38a919695779a05c2f54fd4d8160405173ffffffffffffffffffffffffffffffffffffffff919091166c0100000000000000000000000002815260140160405180910390208260405191825273ffffffffffffffffffffffffffffffffffffffff1660208201526040908101905180910390a1505600a165627a7a723058200ea47c286a485d4a3d20f10ef3bab17afb01dceb7244b36bcf4748906d18a5470029", - "deployedBytecode": "0x6060604052600436106100615763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663040c9c6581146100665780634c4bc901146100b9578063b4b5cae9146100cf578063d29da48c146100e5575b600080fd5b341561007157600080fd5b6100b760046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284375094965061011195505050505050565b005b34156100c457600080fd5b6100b760043561020f565b34156100da57600080fd5b6100b760043561025d565b34156100f057600080fd5b6100b773ffffffffffffffffffffffffffffffffffffffff6004351661032c565b7f3f5e68e2b6822310a06a920b9b73daa30286bba2c001fa2133308e55a1d2820c816040518082805190602001908083835b602083106101625780518252601f199092019160209182019101610143565b6001836020036101000a038019825116818451161790925250505091909101925060409150505180910390208260405182815260406020820181815290820183818151815260200191508051906020019080838360005b838110156101d15780820151838201526020016101b9565b50505050905090810190601f1680156101fe5780820380516001836020036101000a031916815260200191505b50935050505060405180910390a150565b7f5f9b0066ef1432686f95afb566285f26646659039499219f4e8db0f462e889738160405190815260200160405180910390208260405191825260208201526040908101905180910390a150565b60008082604051908152602001604051809103902091503360405173ffffffffffffffffffffffffffffffffffffffff919091166c0100000000000000000000000002815260140160405180910390208318604051908152602001604051809103902090507f01477555f917271446523927e2e1e6172851347fc25430923a78abc27ef37e978333848460405193845273ffffffffffffffffffffffffffffffffffffffff909216602084015260408084019190915260608301919091526080909101905180910390a1505050565b7fd44e9c0d833bb9a963228a03302f0599e829fc4c38a919695779a05c2f54fd4d8160405173ffffffffffffffffffffffffffffffffffffffff919091166c0100000000000000000000000002815260140160405180910390208260405191825273ffffffffffffffffffffffffffffffffffffffff1660208201526040908101905180910390a1505600a165627a7a723058200ea47c286a485d4a3d20f10ef3bab17afb01dceb7244b36bcf4748906d18a5470029", - "sourceMap": "70:947:16:-;;;;;;;;;;;;;;;;;", - "deployedSourceMap": "70:947:16:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;517:131;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;517:131:16;;-1:-1:-1;517:131:16;;-1:-1:-1;;;;;;517:131:16;;;384:130;;;;;;;;;;;;;;788:227;;;;;;;;;;;;;;651:134;;;;;;;;;;;;;;;;517:131;590:54;628:6;618:17;;;;;;;;;;;;;36:153:-1;66:2;58:11;;36:153;;182:3;176:10;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;377:20;365:33;;;-1:-1;;;618:17:16;;;;;-1:-1:-1;618:17:16;;-1:-1:-1;;618:17:16;;;;;;637:6;590:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;590:54:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;517:131;:::o;384:130::-;457:53;494:6;484:17;;;;;;;;;;;;;;503:6;457:53;;;;;;;;;;;;;;;;;;;;384:130;:::o;788:227::-;841:12;902;866:7;856:42;;;;;;;;;;;;;;841:57;;947:10;937:21;;;;;;;;;;;;;;;;;;;;927:7;:31;917:42;;;;;;;;;;;;;;902:57;;968:43;979:7;988:10;1000:4;1006;968:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;788:227;;;:::o;651:134::-;726:55;765:6;755:17;;;;;;;;;;;;;;;;;;;;774:6;726:55;;;;;;;;;;;;;;;;;;;;;;651:134;:::o", - "source": "pragma solidity ^0.4.21;\n\n\n//smart contract for testing purpose only\n\ncontract TestSha\n{\n\tevent SolidityKeccak256FromBytes (bytes32 result, bytes32 input);\n\tevent SolidityKeccak256FromString (bytes32 result, string input);\n\tevent SolidityKeccak256FromAddress(bytes32 result, address input);\n\n\tevent SignedVote(\n\t\tbytes32 input,\n\t\taddress voter,\n\t\tbytes32 vote,\n\t\tbytes32 sign\n\t);\n\n\tfunction testSolidityKeccak256FromBytes(bytes32 _input) public\n\t{\n\t\temit SolidityKeccak256FromBytes(keccak256(_input), _input);\n\t}\n\n\tfunction testSolidityKeccak256FromString(string _input) public\n\t{\n\t\temit SolidityKeccak256FromString(keccak256(_input), _input);\n\t}\n\n\tfunction testSolidityKeccak256FromAddress(address _input) public\n\t{\n\t\temit SolidityKeccak256FromAddress(keccak256(_input), _input);\n\t}\n\n\tfunction testSignedVote(bytes32 _result) public\n\t{\n\t\tbytes32 vote = keccak256(_result );\n\t\tbytes32 sign = keccak256(_result ^ keccak256(msg.sender));\n\t\temit SignedVote(_result, msg.sender, vote, sign);\n\t}\n}\n", - "sourcePath": "/Users/fbranci/iexecdev/PoCo/contracts/TestSha.sol", - "ast": { - "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/TestSha.sol", - "exportedSymbols": { - "TestSha": [ - 4025 - ] - }, - "id": 4026, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 3926, - "literals": [ - "solidity", - "^", - "0.4", - ".21" - ], - "nodeType": "PragmaDirective", - "src": "0:24:16" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 4025, - "linearizedBaseContracts": [ - 4025 - ], - "name": "TestSha", - "nodeType": "ContractDefinition", - "nodes": [ - { - "anonymous": false, - "documentation": null, - "id": 3932, - "name": "SolidityKeccak256FromBytes", - "nodeType": "EventDefinition", - "parameters": { - "id": 3931, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3928, - "indexed": false, - "name": "result", - "nodeType": "VariableDeclaration", - "scope": 3932, - "src": "125:14:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 3927, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "125:7:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3930, - "indexed": false, - "name": "input", - "nodeType": "VariableDeclaration", - "scope": 3932, - "src": "141:13:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 3929, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "141:7:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "124:31:16" - }, - "src": "90:66:16" - }, - { - "anonymous": false, - "documentation": null, - "id": 3938, - "name": "SolidityKeccak256FromString", - "nodeType": "EventDefinition", - "parameters": { - "id": 3937, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3934, - "indexed": false, - "name": "result", - "nodeType": "VariableDeclaration", - "scope": 3938, - "src": "193:14:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 3933, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "193:7:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3936, - "indexed": false, - "name": "input", - "nodeType": "VariableDeclaration", - "scope": 3938, - "src": "209:13:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - "typeName": { - "id": 3935, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "209:6:16", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "192:31:16" - }, - "src": "158:66:16" - }, - { - "anonymous": false, - "documentation": null, - "id": 3944, - "name": "SolidityKeccak256FromAddress", - "nodeType": "EventDefinition", - "parameters": { - "id": 3943, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3940, - "indexed": false, - "name": "result", - "nodeType": "VariableDeclaration", - "scope": 3944, - "src": "261:14:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 3939, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "261:7:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3942, - "indexed": false, - "name": "input", - "nodeType": "VariableDeclaration", - "scope": 3944, - "src": "277:13:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3941, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "277:7:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "260:31:16" - }, - "src": "226:66:16" - }, - { - "anonymous": false, - "documentation": null, - "id": 3954, - "name": "SignedVote", - "nodeType": "EventDefinition", - "parameters": { - "id": 3953, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3946, - "indexed": false, - "name": "input", - "nodeType": "VariableDeclaration", - "scope": 3954, - "src": "315:13:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 3945, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "315:7:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3948, - "indexed": false, - "name": "voter", - "nodeType": "VariableDeclaration", - "scope": 3954, - "src": "332:13:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3947, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "332:7:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3950, - "indexed": false, - "name": "vote", - "nodeType": "VariableDeclaration", - "scope": 3954, - "src": "349:12:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 3949, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "349:7:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3952, - "indexed": false, - "name": "sign", - "nodeType": "VariableDeclaration", - "scope": 3954, - "src": "365:12:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 3951, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "365:7:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "311:69:16" - }, - "src": "295:86:16" - }, - { - "body": { - "id": 3966, - "nodeType": "Block", - "src": "448:66:16", - "statements": [ - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3961, - "name": "_input", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3956, - "src": "494:6:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 3960, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7002, - "src": "484:9:16", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 3962, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "484:17:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 3963, - "name": "_input", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3956, - "src": "503:6:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 3959, - "name": "SolidityKeccak256FromBytes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3932, - "src": "457:26:16", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$", - "typeString": "function (bytes32,bytes32)" - } - }, - "id": 3964, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "457:53:16", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3965, - "nodeType": "EmitStatement", - "src": "452:58:16" - } - ] - }, - "documentation": null, - "id": 3967, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "testSolidityKeccak256FromBytes", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3957, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3956, - "name": "_input", - "nodeType": "VariableDeclaration", - "scope": 3967, - "src": "424:14:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 3955, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "424:7:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "423:16:16" - }, - "payable": false, - "returnParameters": { - "id": 3958, - "nodeType": "ParameterList", - "parameters": [], - "src": "448:0:16" - }, - "scope": 4025, - "src": "384:130:16", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 3979, - "nodeType": "Block", - "src": "581:67:16", - "statements": [ - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3974, - "name": "_input", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3969, - "src": "628:6:16", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 3973, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7002, - "src": "618:9:16", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 3975, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "618:17:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 3976, - "name": "_input", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3969, - "src": "637:6:16", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 3972, - "name": "SolidityKeccak256FromString", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3938, - "src": "590:27:16", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bytes32,string memory)" - } - }, - "id": 3977, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "590:54:16", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3978, - "nodeType": "EmitStatement", - "src": "585:59:16" - } - ] - }, - "documentation": null, - "id": 3980, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "testSolidityKeccak256FromString", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3970, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3969, - "name": "_input", - "nodeType": "VariableDeclaration", - "scope": 3980, - "src": "558:13:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - "typeName": { - "id": 3968, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "558:6:16", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "557:15:16" - }, - "payable": false, - "returnParameters": { - "id": 3971, - "nodeType": "ParameterList", - "parameters": [], - "src": "581:0:16" - }, - "scope": 4025, - "src": "517:131:16", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 3992, - "nodeType": "Block", - "src": "717:68:16", - "statements": [ - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3987, - "name": "_input", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3982, - "src": "765:6:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 3986, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7002, - "src": "755:9:16", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 3988, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "755:17:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 3989, - "name": "_input", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3982, - "src": "774:6:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 3985, - "name": "SolidityKeccak256FromAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3944, - "src": "726:28:16", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (bytes32,address)" - } - }, - "id": 3990, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "726:55:16", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3991, - "nodeType": "EmitStatement", - "src": "721:60:16" - } - ] - }, - "documentation": null, - "id": 3993, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "testSolidityKeccak256FromAddress", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3983, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3982, - "name": "_input", - "nodeType": "VariableDeclaration", - "scope": 3993, - "src": "693:14:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3981, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "693:7:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "692:16:16" - }, - "payable": false, - "returnParameters": { - "id": 3984, - "nodeType": "ParameterList", - "parameters": [], - "src": "717:0:16" - }, - "scope": 4025, - "src": "651:134:16", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 4023, - "nodeType": "Block", - "src": "837:178:16", - "statements": [ - { - "assignments": [ - 3999 - ], - "declarations": [ - { - "constant": false, - "id": 3999, - "name": "vote", - "nodeType": "VariableDeclaration", - "scope": 4024, - "src": "841:12:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 3998, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "841:7:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4003, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4001, - "name": "_result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3995, - "src": "866:7:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 4000, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7002, - "src": "856:9:16", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 4002, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "856:42:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "841:57:16" - }, - { - "assignments": [ - 4005 - ], - "declarations": [ - { - "constant": false, - "id": 4005, - "name": "sign", - "nodeType": "VariableDeclaration", - "scope": 4024, - "src": "902:12:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4004, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "902:7:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4014, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "id": 4012, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4007, - "name": "_result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3995, - "src": "927:7:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "BinaryOperation", - "operator": "^", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4009, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "947:3:16", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4010, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "947:10:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 4008, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7002, - "src": "937:9:16", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 4011, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "937:21:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "927:31:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 4006, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7002, - "src": "917:9:16", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 4013, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "917:42:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "902:57:16" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4016, - "name": "_result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3995, - "src": "979:7:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4017, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "988:3:16", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4018, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "988:10:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 4019, - "name": "vote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3999, - "src": "1000:4:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 4020, - "name": "sign", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4005, - "src": "1006:4:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 4015, - "name": "SignedVote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3954, - "src": "968:10:16", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_bytes32_$_t_bytes32_$returns$__$", - "typeString": "function (bytes32,address,bytes32,bytes32)" - } - }, - "id": 4021, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "968:43:16", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4022, - "nodeType": "EmitStatement", - "src": "963:48:16" - } - ] - }, - "documentation": null, - "id": 4024, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "testSignedVote", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3996, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3995, - "name": "_result", - "nodeType": "VariableDeclaration", - "scope": 4024, - "src": "812:15:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 3994, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "812:7:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "811:17:16" - }, - "payable": false, - "returnParameters": { - "id": 3997, - "nodeType": "ParameterList", - "parameters": [], - "src": "837:0:16" - }, - "scope": 4025, - "src": "788:227:16", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 4026, - "src": "70:947:16" - } - ], - "src": "0:1018:16" - }, - "legacyAST": { - "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/TestSha.sol", - "exportedSymbols": { - "TestSha": [ - 4025 - ] - }, - "id": 4026, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 3926, - "literals": [ - "solidity", - "^", - "0.4", - ".21" - ], - "nodeType": "PragmaDirective", - "src": "0:24:16" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 4025, - "linearizedBaseContracts": [ - 4025 - ], - "name": "TestSha", - "nodeType": "ContractDefinition", - "nodes": [ - { - "anonymous": false, - "documentation": null, - "id": 3932, - "name": "SolidityKeccak256FromBytes", - "nodeType": "EventDefinition", - "parameters": { - "id": 3931, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3928, - "indexed": false, - "name": "result", - "nodeType": "VariableDeclaration", - "scope": 3932, - "src": "125:14:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 3927, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "125:7:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3930, - "indexed": false, - "name": "input", - "nodeType": "VariableDeclaration", - "scope": 3932, - "src": "141:13:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 3929, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "141:7:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "124:31:16" - }, - "src": "90:66:16" - }, - { - "anonymous": false, - "documentation": null, - "id": 3938, - "name": "SolidityKeccak256FromString", - "nodeType": "EventDefinition", - "parameters": { - "id": 3937, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3934, - "indexed": false, - "name": "result", - "nodeType": "VariableDeclaration", - "scope": 3938, - "src": "193:14:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 3933, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "193:7:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3936, - "indexed": false, - "name": "input", - "nodeType": "VariableDeclaration", - "scope": 3938, - "src": "209:13:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - "typeName": { - "id": 3935, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "209:6:16", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "192:31:16" - }, - "src": "158:66:16" - }, - { - "anonymous": false, - "documentation": null, - "id": 3944, - "name": "SolidityKeccak256FromAddress", - "nodeType": "EventDefinition", - "parameters": { - "id": 3943, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3940, - "indexed": false, - "name": "result", - "nodeType": "VariableDeclaration", - "scope": 3944, - "src": "261:14:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 3939, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "261:7:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3942, - "indexed": false, - "name": "input", - "nodeType": "VariableDeclaration", - "scope": 3944, - "src": "277:13:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3941, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "277:7:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "260:31:16" - }, - "src": "226:66:16" - }, - { - "anonymous": false, - "documentation": null, - "id": 3954, - "name": "SignedVote", - "nodeType": "EventDefinition", - "parameters": { - "id": 3953, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3946, - "indexed": false, - "name": "input", - "nodeType": "VariableDeclaration", - "scope": 3954, - "src": "315:13:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 3945, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "315:7:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3948, - "indexed": false, - "name": "voter", - "nodeType": "VariableDeclaration", - "scope": 3954, - "src": "332:13:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3947, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "332:7:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3950, - "indexed": false, - "name": "vote", - "nodeType": "VariableDeclaration", - "scope": 3954, - "src": "349:12:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 3949, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "349:7:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3952, - "indexed": false, - "name": "sign", - "nodeType": "VariableDeclaration", - "scope": 3954, - "src": "365:12:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 3951, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "365:7:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "311:69:16" - }, - "src": "295:86:16" - }, - { - "body": { - "id": 3966, - "nodeType": "Block", - "src": "448:66:16", - "statements": [ - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3961, - "name": "_input", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3956, - "src": "494:6:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 3960, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7002, - "src": "484:9:16", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 3962, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "484:17:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 3963, - "name": "_input", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3956, - "src": "503:6:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 3959, - "name": "SolidityKeccak256FromBytes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3932, - "src": "457:26:16", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$", - "typeString": "function (bytes32,bytes32)" - } - }, - "id": 3964, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "457:53:16", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3965, - "nodeType": "EmitStatement", - "src": "452:58:16" - } - ] - }, - "documentation": null, - "id": 3967, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "testSolidityKeccak256FromBytes", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3957, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3956, - "name": "_input", - "nodeType": "VariableDeclaration", - "scope": 3967, - "src": "424:14:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 3955, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "424:7:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "423:16:16" - }, - "payable": false, - "returnParameters": { - "id": 3958, - "nodeType": "ParameterList", - "parameters": [], - "src": "448:0:16" - }, - "scope": 4025, - "src": "384:130:16", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 3979, - "nodeType": "Block", - "src": "581:67:16", - "statements": [ - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3974, - "name": "_input", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3969, - "src": "628:6:16", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 3973, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7002, - "src": "618:9:16", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 3975, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "618:17:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 3976, - "name": "_input", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3969, - "src": "637:6:16", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 3972, - "name": "SolidityKeccak256FromString", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3938, - "src": "590:27:16", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bytes32,string memory)" - } - }, - "id": 3977, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "590:54:16", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3978, - "nodeType": "EmitStatement", - "src": "585:59:16" - } - ] - }, - "documentation": null, - "id": 3980, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "testSolidityKeccak256FromString", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3970, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3969, - "name": "_input", - "nodeType": "VariableDeclaration", - "scope": 3980, - "src": "558:13:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - "typeName": { - "id": 3968, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "558:6:16", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "557:15:16" - }, - "payable": false, - "returnParameters": { - "id": 3971, - "nodeType": "ParameterList", - "parameters": [], - "src": "581:0:16" - }, - "scope": 4025, - "src": "517:131:16", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 3992, - "nodeType": "Block", - "src": "717:68:16", - "statements": [ - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3987, - "name": "_input", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3982, - "src": "765:6:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 3986, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7002, - "src": "755:9:16", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 3988, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "755:17:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 3989, - "name": "_input", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3982, - "src": "774:6:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 3985, - "name": "SolidityKeccak256FromAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3944, - "src": "726:28:16", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (bytes32,address)" - } - }, - "id": 3990, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "726:55:16", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3991, - "nodeType": "EmitStatement", - "src": "721:60:16" - } - ] - }, - "documentation": null, - "id": 3993, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "testSolidityKeccak256FromAddress", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3983, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3982, - "name": "_input", - "nodeType": "VariableDeclaration", - "scope": 3993, - "src": "693:14:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3981, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "693:7:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "692:16:16" - }, - "payable": false, - "returnParameters": { - "id": 3984, - "nodeType": "ParameterList", - "parameters": [], - "src": "717:0:16" - }, - "scope": 4025, - "src": "651:134:16", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 4023, - "nodeType": "Block", - "src": "837:178:16", - "statements": [ - { - "assignments": [ - 3999 - ], - "declarations": [ - { - "constant": false, - "id": 3999, - "name": "vote", - "nodeType": "VariableDeclaration", - "scope": 4024, - "src": "841:12:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 3998, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "841:7:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4003, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4001, - "name": "_result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3995, - "src": "866:7:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 4000, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7002, - "src": "856:9:16", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 4002, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "856:42:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "841:57:16" - }, - { - "assignments": [ - 4005 - ], - "declarations": [ - { - "constant": false, - "id": 4005, - "name": "sign", - "nodeType": "VariableDeclaration", - "scope": 4024, - "src": "902:12:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4004, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "902:7:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4014, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "id": 4012, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4007, - "name": "_result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3995, - "src": "927:7:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "BinaryOperation", - "operator": "^", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4009, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "947:3:16", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4010, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "947:10:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 4008, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7002, - "src": "937:9:16", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 4011, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "937:21:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "927:31:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 4006, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7002, - "src": "917:9:16", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 4013, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "917:42:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "902:57:16" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4016, - "name": "_result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3995, - "src": "979:7:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4017, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "988:3:16", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4018, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "988:10:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 4019, - "name": "vote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3999, - "src": "1000:4:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 4020, - "name": "sign", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4005, - "src": "1006:4:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 4015, - "name": "SignedVote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3954, - "src": "968:10:16", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_bytes32_$_t_bytes32_$returns$__$", - "typeString": "function (bytes32,address,bytes32,bytes32)" - } - }, - "id": 4021, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "968:43:16", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4022, - "nodeType": "EmitStatement", - "src": "963:48:16" - } - ] - }, - "documentation": null, - "id": 4024, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "testSignedVote", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3996, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3995, - "name": "_result", - "nodeType": "VariableDeclaration", - "scope": 4024, - "src": "812:15:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 3994, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "812:7:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "811:17:16" - }, - "payable": false, - "returnParameters": { - "id": 3997, - "nodeType": "ParameterList", - "parameters": [], - "src": "837:0:16" - }, - "scope": 4025, - "src": "788:227:16", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 4026, - "src": "70:947:16" - } - ], - "src": "0:1018:16" - }, - "compiler": { - "name": "solc", - "version": "0.4.21+commit.dfe3193c.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "2.0.0", - "updatedAt": "2018-05-20T20:12:33.560Z" -} diff --git a/build/contracts/TokenSpender.json b/build/contracts/TokenSpender.json deleted file mode 100644 index 63502f1a..00000000 --- a/build/contracts/TokenSpender.json +++ /dev/null @@ -1,394 +0,0 @@ -{ - "contractName": "TokenSpender", - "abi": [ - { - "constant": false, - "inputs": [ - { - "name": "_from", - "type": "address" - }, - { - "name": "_value", - "type": "uint256" - }, - { - "name": "_token", - "type": "address" - }, - { - "name": "_extraData", - "type": "bytes" - } - ], - "name": "receiveApproval", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x", - "deployedBytecode": "0x", - "sourceMap": "", - "deployedSourceMap": "", - "source": "pragma solidity ^0.4.8;\n\ncontract TokenSpender {\n function receiveApproval(address _from, uint256 _value, address _token, bytes _extraData);\n}", - "sourcePath": "rlc-token/contracts/TokenSpender.sol", - "ast": { - "absolutePath": "rlc-token/contracts/TokenSpender.sol", - "exportedSymbols": { - "TokenSpender": [ - 6995 - ] - }, - "id": 6996, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 6983, - "literals": [ - "solidity", - "^", - "0.4", - ".8" - ], - "nodeType": "PragmaDirective", - "src": "0:23:24" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": false, - "id": 6995, - "linearizedBaseContracts": [ - 6995 - ], - "name": "TokenSpender", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "id": 6994, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "receiveApproval", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6992, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6985, - "name": "_from", - "nodeType": "VariableDeclaration", - "scope": 6994, - "src": "78:13:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6984, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "78:7:24", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6987, - "name": "_value", - "nodeType": "VariableDeclaration", - "scope": 6994, - "src": "93:14:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6986, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "93:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6989, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 6994, - "src": "109:14:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6988, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "109:7:24", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6991, - "name": "_extraData", - "nodeType": "VariableDeclaration", - "scope": 6994, - "src": "125:16:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - "typeName": { - "id": 6990, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "125:5:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes storage pointer" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "77:65:24" - }, - "payable": false, - "returnParameters": { - "id": 6993, - "nodeType": "ParameterList", - "parameters": [], - "src": "142:0:24" - }, - "scope": 6995, - "src": "53:90:24", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 6996, - "src": "25:120:24" - } - ], - "src": "0:145:24" - }, - "legacyAST": { - "absolutePath": "rlc-token/contracts/TokenSpender.sol", - "exportedSymbols": { - "TokenSpender": [ - 6995 - ] - }, - "id": 6996, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 6983, - "literals": [ - "solidity", - "^", - "0.4", - ".8" - ], - "nodeType": "PragmaDirective", - "src": "0:23:24" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": false, - "id": 6995, - "linearizedBaseContracts": [ - 6995 - ], - "name": "TokenSpender", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "id": 6994, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "receiveApproval", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6992, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6985, - "name": "_from", - "nodeType": "VariableDeclaration", - "scope": 6994, - "src": "78:13:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6984, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "78:7:24", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6987, - "name": "_value", - "nodeType": "VariableDeclaration", - "scope": 6994, - "src": "93:14:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6986, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "93:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6989, - "name": "_token", - "nodeType": "VariableDeclaration", - "scope": 6994, - "src": "109:14:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6988, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "109:7:24", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6991, - "name": "_extraData", - "nodeType": "VariableDeclaration", - "scope": 6994, - "src": "125:16:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - "typeName": { - "id": 6990, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "125:5:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes storage pointer" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "77:65:24" - }, - "payable": false, - "returnParameters": { - "id": 6993, - "nodeType": "ParameterList", - "parameters": [], - "src": "142:0:24" - }, - "scope": 6995, - "src": "53:90:24", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 6996, - "src": "25:120:24" - } - ], - "src": "0:145:24" - }, - "compiler": { - "name": "solc", - "version": "0.4.21+commit.dfe3193c.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "2.0.0", - "updatedAt": "2018-05-20T20:12:33.579Z" -} diff --git a/build/contracts/WorkOrder.json b/build/contracts/WorkOrder.json deleted file mode 100644 index 89400e6e..00000000 --- a/build/contracts/WorkOrder.json +++ /dev/null @@ -1,7228 +0,0 @@ -{ - "contractName": "WorkOrder", - "abi": [ - { - "constant": true, - "inputs": [], - "name": "m_workerpool", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "m_params", - "outputs": [ - { - "name": "", - "type": "string" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "m_requester", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "m_app", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "m_dataset", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "m_emitcost", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "m_uri", - "outputs": [ - { - "name": "", - "type": "string" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "m_stdout", - "outputs": [ - { - "name": "", - "type": "string" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "m_resultCallbackProof", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "m_iexecHubAddress", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "m_callback", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "m_status", - "outputs": [ - { - "name": "", - "type": "uint8" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "m_marketorderIdx", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "m_stderr", - "outputs": [ - { - "name": "", - "type": "string" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "m_beneficiary", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "name": "_marketorderIdx", - "type": "uint256" - }, - { - "name": "_requester", - "type": "address" - }, - { - "name": "_app", - "type": "address" - }, - { - "name": "_dataset", - "type": "address" - }, - { - "name": "_workerpool", - "type": "address" - }, - { - "name": "_emitcost", - "type": "uint256" - }, - { - "name": "_params", - "type": "string" - }, - { - "name": "_callback", - "type": "address" - }, - { - "name": "_beneficiary", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [], - "name": "WorkOrderActivated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [], - "name": "WorkOrderReActivated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [], - "name": "WorkOrderRevealing", - "type": "event" - }, - { - "anonymous": false, - "inputs": [], - "name": "WorkOrderClaimed", - "type": "event" - }, - { - "anonymous": false, - "inputs": [], - "name": "WorkOrderCompleted", - "type": "event" - }, - { - "constant": false, - "inputs": [], - "name": "startRevealingPhase", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "reActivate", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "claim", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_stdout", - "type": "string" - }, - { - "name": "_stderr", - "type": "string" - }, - { - "name": "_uri", - "type": "string" - } - ], - "name": "setResult", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x6060604052341561000f57600080fd5b604051610c5a380380610c5a8339810160405280805191906020018051919060200180519190602001805191906020018051919060200180519190602001805182019190602001805191906020018051600e8054600160a060020a03191633600160a060020a039081169190911790915590925089161515905061009257600080fd5b6000805460ff1916600190811790915589905560028054600160a060020a0319908116600160a060020a038a81169190911790925560038054821689841617905560048054821688841617905560058054909116918a1691909117905560068490556007838051610107929160200190610141565b5060088054600160a060020a03938416600160a060020a03199182161790915560098054929093169116179055506101dc95505050505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061018257805160ff19168380011785556101af565b828001600101855582156101af579182015b828111156101af578251825591602001919060010190610194565b506101bb9291506101bf565b5090565b6101d991905b808211156101bb57600081556001016101c5565b90565b610a6f806101eb6000396000f3006060604052600436106101065763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630690e5b8811461010b57806315298c771461013a5780631a514d97146101c45780632d4d671f146101eb5780634e71d92d146101fe5780635f44910c146102135780636946f6921461022657806371a599ca146102395780638628aaff1461024c5780639c4a856114610271578063cc3a2dfa14610284578063d3281fd614610297578063d3a69e01146102aa578063d5fdfdbc146102bd578063da1fea2814610392578063e329c478146103a5578063ecc40f64146103dc578063f3859f57146103ef578063f6a5b13e14610402575b600080fd5b341561011657600080fd5b61011e610415565b604051600160a060020a03909116815260200160405180910390f35b341561014557600080fd5b61014d610424565b60405160208082528190810183818151815260200191508051906020019080838360005b83811015610189578082015183820152602001610171565b50505050905090810190601f1680156101b65780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156101cf57600080fd5b6101d76104c2565b604051901515815260200160405180910390f35b34156101f657600080fd5b6101d761053d565b341561020957600080fd5b6102116105b7565b005b341561021e57600080fd5b61011e610647565b341561023157600080fd5b61011e610656565b341561024457600080fd5b61011e610665565b341561025757600080fd5b61025f610674565b60405190815260200160405180910390f35b341561027c57600080fd5b61014d61067a565b341561028f57600080fd5b61014d6106e5565b34156102a257600080fd5b61025f610750565b34156102b557600080fd5b61011e610756565b34156102c857600080fd5b61021160046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052818152929190602084018383808284375094965061076595505050505050565b341561039d57600080fd5b61011e610913565b34156103b057600080fd5b6103b8610922565b604051808260048111156103c857fe5b60ff16815260200191505060405180910390f35b34156103e757600080fd5b61025f61092b565b34156103fa57600080fd5b61014d610931565b341561040d57600080fd5b61011e61099c565b600454600160a060020a031681565b60078054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156104ba5780601f1061048f576101008083540402835291602001916104ba565b820191906000526020600020905b81548152906001019060200180831161049d57829003601f168201915b505050505081565b60045460009033600160a060020a039081169116146104e057600080fd5b600260005460ff1660048111156104f357fe5b146104fd57600080fd5b6000805460ff191660011790557f06c42818c4ab74dff6aec55942f601c2e9b7f2aa4321ee71690b125eacfe465460405160405180910390a15060015b90565b60045460009033600160a060020a0390811691161461055b57600080fd5b600160005460ff16600481111561056e57fe5b1461057857600080fd5b6000805460ff191660021790557f2b0cab0be6d82b2661b3b789c540ec9c7223aac635ac8e59a1e71e1137f2dd7760405160405180910390a150600190565b600e5433600160a060020a039081169116146105d257600080fd5b600160005460ff1660048111156105e557fe5b14806106015750600260005460ff1660048111156105ff57fe5b145b151561060c57600080fd5b6000805460ff191660031790557f1938697ee29e363ecda49e464c6d2aae25f0974bd1f2c81a91c21e13ad8dbf7760405160405180910390a1565b600554600160a060020a031681565b600254600160a060020a031681565b600354600160a060020a031681565b60065481565b600d8054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156104ba5780601f1061048f576101008083540402835291602001916104ba565b600b8054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156104ba5780601f1061048f576101008083540402835291602001916104ba565b600a5481565b600e54600160a060020a031681565b600e5433600160a060020a0390811691161461078057600080fd5b600260005460ff16600481111561079357fe5b1461079d57600080fd5b6000805460ff19166004179055600b8380516107bd9291602001906109ab565b50600c8280516107d19291602001906109ab565b50600d8180516107e59291602001906109ab565b508282826040518084805190602001908083835b602083106108185780518252601f1990920191602091820191016107f9565b6001836020036101000a038019825116818451161790925250505091909101905083805190602001908083835b602083106108645780518252601f199092019160209182019101610845565b6001836020036101000a038019825116818451161790925250505091909101905082805190602001908083835b602083106108b05780518252601f199092019160209182019101610891565b6001836020036101000a03801982511681845116179092525050509190910194506040935050505051908190039020600a557f777f59509d985349c80271b657d2649b218bc6f075a4625821b64448cc235b8660405160405180910390a1505050565b600854600160a060020a031681565b60005460ff1681565b60015481565b600c8054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156104ba5780601f1061048f576101008083540402835291602001916104ba565b600954600160a060020a031681565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106109ec57805160ff1916838001178555610a19565b82800160010185558215610a19579182015b82811115610a195782518255916020019190600101906109fe565b50610a25929150610a29565b5090565b61053a91905b80821115610a255760008155600101610a2f5600a165627a7a72305820aab9d309bae837f3417f3dc81c0f650543365c210e440786b5dfc09f1981eba70029", - "deployedBytecode": "0x6060604052600436106101065763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630690e5b8811461010b57806315298c771461013a5780631a514d97146101c45780632d4d671f146101eb5780634e71d92d146101fe5780635f44910c146102135780636946f6921461022657806371a599ca146102395780638628aaff1461024c5780639c4a856114610271578063cc3a2dfa14610284578063d3281fd614610297578063d3a69e01146102aa578063d5fdfdbc146102bd578063da1fea2814610392578063e329c478146103a5578063ecc40f64146103dc578063f3859f57146103ef578063f6a5b13e14610402575b600080fd5b341561011657600080fd5b61011e610415565b604051600160a060020a03909116815260200160405180910390f35b341561014557600080fd5b61014d610424565b60405160208082528190810183818151815260200191508051906020019080838360005b83811015610189578082015183820152602001610171565b50505050905090810190601f1680156101b65780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156101cf57600080fd5b6101d76104c2565b604051901515815260200160405180910390f35b34156101f657600080fd5b6101d761053d565b341561020957600080fd5b6102116105b7565b005b341561021e57600080fd5b61011e610647565b341561023157600080fd5b61011e610656565b341561024457600080fd5b61011e610665565b341561025757600080fd5b61025f610674565b60405190815260200160405180910390f35b341561027c57600080fd5b61014d61067a565b341561028f57600080fd5b61014d6106e5565b34156102a257600080fd5b61025f610750565b34156102b557600080fd5b61011e610756565b34156102c857600080fd5b61021160046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052818152929190602084018383808284375094965061076595505050505050565b341561039d57600080fd5b61011e610913565b34156103b057600080fd5b6103b8610922565b604051808260048111156103c857fe5b60ff16815260200191505060405180910390f35b34156103e757600080fd5b61025f61092b565b34156103fa57600080fd5b61014d610931565b341561040d57600080fd5b61011e61099c565b600454600160a060020a031681565b60078054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156104ba5780601f1061048f576101008083540402835291602001916104ba565b820191906000526020600020905b81548152906001019060200180831161049d57829003601f168201915b505050505081565b60045460009033600160a060020a039081169116146104e057600080fd5b600260005460ff1660048111156104f357fe5b146104fd57600080fd5b6000805460ff191660011790557f06c42818c4ab74dff6aec55942f601c2e9b7f2aa4321ee71690b125eacfe465460405160405180910390a15060015b90565b60045460009033600160a060020a0390811691161461055b57600080fd5b600160005460ff16600481111561056e57fe5b1461057857600080fd5b6000805460ff191660021790557f2b0cab0be6d82b2661b3b789c540ec9c7223aac635ac8e59a1e71e1137f2dd7760405160405180910390a150600190565b600e5433600160a060020a039081169116146105d257600080fd5b600160005460ff1660048111156105e557fe5b14806106015750600260005460ff1660048111156105ff57fe5b145b151561060c57600080fd5b6000805460ff191660031790557f1938697ee29e363ecda49e464c6d2aae25f0974bd1f2c81a91c21e13ad8dbf7760405160405180910390a1565b600554600160a060020a031681565b600254600160a060020a031681565b600354600160a060020a031681565b60065481565b600d8054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156104ba5780601f1061048f576101008083540402835291602001916104ba565b600b8054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156104ba5780601f1061048f576101008083540402835291602001916104ba565b600a5481565b600e54600160a060020a031681565b600e5433600160a060020a0390811691161461078057600080fd5b600260005460ff16600481111561079357fe5b1461079d57600080fd5b6000805460ff19166004179055600b8380516107bd9291602001906109ab565b50600c8280516107d19291602001906109ab565b50600d8180516107e59291602001906109ab565b508282826040518084805190602001908083835b602083106108185780518252601f1990920191602091820191016107f9565b6001836020036101000a038019825116818451161790925250505091909101905083805190602001908083835b602083106108645780518252601f199092019160209182019101610845565b6001836020036101000a038019825116818451161790925250505091909101905082805190602001908083835b602083106108b05780518252601f199092019160209182019101610891565b6001836020036101000a03801982511681845116179092525050509190910194506040935050505051908190039020600a557f777f59509d985349c80271b657d2649b218bc6f075a4625821b64448cc235b8660405160405180910390a1505050565b600854600160a060020a031681565b60005460ff1681565b60015481565b600c8054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156104ba5780601f1061048f576101008083540402835291602001916104ba565b600954600160a060020a031681565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106109ec57805160ff1916838001178555610a19565b82800160010185558215610a19579182015b82811115610a195782518255916020019190600101906109fe565b50610a25929150610a29565b5090565b61053a91905b80821115610a255760008155600101610a2f5600a165627a7a72305820aab9d309bae837f3417f3dc81c0f650543365c210e440786b5dfc09f1981eba70029", - "sourceMap": "51:2643:17:-;;;810:777;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1036:17;:30;;-1:-1:-1;;;;;;1036:30:17;1056:10;-1:-1:-1;;;;;1036:30:17;;;;;;;;;;810:777;;-1:-1:-1;1078:24:17;;;;;-1:-1:-1;1070:33:17;;;;;;1107:8;:54;;-1:-1:-1;;1107:54:17;1126:35;1107:54;;;;;;1165:34;;;1203:5;:23;;-1:-1:-1;;;;;;1203:23:17;;;-1:-1:-1;;;;;1203:23:17;;;;;;;;;;1230:9;:27;;;;;;;;;;1261:12;:30;;;;;;;;;;1295:11;:29;;;;;;;;;;;;;;1328:10;:28;;;1360:8;1379:7;;1360:26;;;;;;;;:::i;:::-;-1:-1:-1;1390:10:17;:28;;-1:-1:-1;;;;;1390:28:17;;;-1:-1:-1;;;;;;1390:28:17;;;;;;;1422:13;:31;;;;;;;;;;;-1:-1:-1;51:2643:17;;-1:-1:-1;;;;;;51:2643:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;51:2643:17;;;-1:-1:-1;51:2643:17;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;", - "deployedSourceMap": "51:2643:17:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;378:27;;;;;;;;;;;;;;;-1:-1:-1;;;;;378:27:17;;;;;;;;;;;;;;;466:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;466:23:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1847:247;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1590:254;;;;;;;;;;;;2098:234;;;;;;;;;;;;;;408:26;;;;;;;;;;;;328:20;;;;;;;;;;;;351:24;;;;;;;;;;;;438:25;;;;;;;;;;;;;;;;;;;;;;;;;;;643:20;;;;;;;;;;;;591:23;;;;;;;;;;;;552:36;;;;;;;;;;;;667:32;;;;;;;;;;;;2336:355;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2336:355:17;;-1:-1:-1;2336:355:17;;-1:-1:-1;;;;;;2336:355:17;492:25;;;;;;;;;;;;245:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;293:31;;;;;;;;;;;;617:23;;;;;;;;;;;;520:28;;;;;;;;;;;;378:27;;;-1:-1:-1;;;;;378:27:17;;:::o;466:23::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1847:247::-;1904:12;;1885:4;;1920:10;-1:-1:-1;;;;;1904:26:17;;;:12;;:26;1896:35;;;;;;1955:38;1943:8;;;;:50;;;;;;;;;1935:59;;;;;;1998:8;:46;;-1:-1:-1;;1998:46:17;2009:35;1998:46;;;2053:22;;;;;;;;;;-1:-1:-1;2086:4:17;1847:247;;:::o;1590:254::-;1656:12;;1637:4;;1672:10;-1:-1:-1;;;;;1656:26:17;;;:12;;:26;1648:35;;;;;;1707;1695:8;;;;:47;;;;;;;;;1687:56;;;;;;1747:8;:49;;-1:-1:-1;;1747:49:17;1758:38;1747:49;;;1805:20;;;;;;;;;;-1:-1:-1;1836:4:17;1590:254;:::o;2098:234::-;754:17;;740:10;-1:-1:-1;;;;;740:31:17;;;754:17;;740:31;732:40;;;;;;2160:35;2148:8;;;;:47;;;;;;;;;:101;;;-1:-1:-1;2211:38:17;2199:8;;;;:50;;;;;;;;;2148:101;2140:110;;;;;;;;2254:8;:47;;-1:-1:-1;;2254:47:17;2265:36;2254:47;;;2310:18;;;;;;;;;;2098:234::o;408:26::-;;;-1:-1:-1;;;;;408:26:17;;:::o;328:20::-;;;-1:-1:-1;;;;;328:20:17;;:::o;351:24::-;;;-1:-1:-1;;;;;351:24:17;;:::o;438:25::-;;;;:::o;643:20::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;591:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;552:36;;;;:::o;667:32::-;;;-1:-1:-1;;;;;667:32:17;;:::o;2336:355::-;754:17;;740:10;-1:-1:-1;;;;;740:31:17;;;754:17;;740:31;732:40;;;;;;2445:38;2433:8;;;;:50;;;;;;;;;2425:59;;;;;;2488:8;:49;;-1:-1:-1;;2488:49:17;2499:38;2488:49;;;2541:8;2552:7;;2541:18;;;;;;;;:::i;:::-;-1:-1:-1;2563:8:17;2574:7;;2563:18;;;;;;;;:::i;:::-;-1:-1:-1;2585:5:17;2596:4;;2585:15;;;;;;;;:::i;:::-;;2637:7;2645;2653:4;2627:31;;;;;;;;;;;;;36:153:-1;66:2;58:11;;36:153;;182:3;176:10;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;377:20;365:33;;;-1:-1;;;2627:31:17;;;;;-1:-1:-1;2627:31:17;;;;;;;;;;36:153:-1;66:2;58:11;;36:153;;182:3;176:10;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;377:20;365:33;;;-1:-1;;;2627:31:17;;;;;-1:-1:-1;2627:31:17;;;;;;;;;;36:153:-1;66:2;58:11;;36:153;;182:3;176:10;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;377:20;365:33;;;-1:-1;;;2627:31:17;;;;;-1:-1:-1;2627:31:17;;-1:-1:-1;;;;2627:31:17;;;;;;;2604:21;:54;2667:20;;;;;;;;;;2336:355;;;:::o;492:25::-;;;-1:-1:-1;;;;;492:25:17;;:::o;245:44::-;;;;;;:::o;293:31::-;;;;:::o;617:23::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;520:28;;;-1:-1:-1;;;;;520:28:17;;:::o;51:2643::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;51:2643:17;;;-1:-1:-1;51:2643:17;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;", - "source": "pragma solidity ^0.4.21;\n\nimport './IexecLib.sol';\ncontract WorkOrder\n{\n\n\n\tevent WorkOrderActivated();\n\tevent WorkOrderReActivated();\n\tevent WorkOrderRevealing();\n\tevent WorkOrderClaimed ();\n\tevent WorkOrderCompleted();\n\n\t/**\n\t * Members\n\t */\n\tIexecLib.WorkOrderStatusEnum public m_status;\n\n\tuint256 public m_marketorderIdx;\n\n\taddress public m_app;\n\taddress public m_dataset;\n\taddress public m_workerpool;\n\taddress public m_requester;\n\n\tuint256 public m_emitcost;\n\tstring public m_params;\n\taddress public m_callback;\n\taddress public m_beneficiary;\n\n\tbytes32 public m_resultCallbackProof;\n\tstring public m_stdout;\n\tstring public m_stderr;\n\tstring public m_uri;\n\n\taddress public m_iexecHubAddress;\n\n\tmodifier onlyIexecHub()\n\t{\n\t\trequire(msg.sender == m_iexecHubAddress);\n\t\t_;\n\t}\n\n\t/**\n\t * Constructor\n\t */\n\tfunction WorkOrder(\n\t\tuint256 _marketorderIdx,\n\t\taddress _requester,\n\t\taddress _app,\n\t\taddress _dataset,\n\t\taddress _workerpool,\n\t\tuint256 _emitcost,\n\t\tstring _params,\n\t\taddress _callback,\n\t\taddress _beneficiary)\n\tpublic\n\t{\n\t\tm_iexecHubAddress = msg.sender;\n\t\trequire(_requester != address(0));\n\t\tm_status = IexecLib.WorkOrderStatusEnum.ACTIVE;\n\t\tm_marketorderIdx = _marketorderIdx;\n\t\tm_app = _app;\n\t\tm_dataset = _dataset;\n\t\tm_workerpool = _workerpool;\n\t\tm_requester = _requester;\n\t\tm_emitcost = _emitcost;\n\t\tm_params = _params;\n\t\tm_callback = _callback;\n\t\tm_beneficiary = _beneficiary;\n\t\t// needed for the scheduler to authorize api token access on this m_beneficiary address in case _requester is a smart contract.\n\t}\n\n\tfunction startRevealingPhase() public returns (bool)\n\t{\n\t\trequire(m_workerpool == msg.sender);\n\t\trequire(m_status == IexecLib.WorkOrderStatusEnum.ACTIVE);\n\t\tm_status = IexecLib.WorkOrderStatusEnum.REVEALING;\n\t\temit WorkOrderRevealing();\n\t\treturn true;\n\t}\n\n\tfunction reActivate() public returns (bool)\n\t{\n\t\trequire(m_workerpool == msg.sender);\n\t\trequire(m_status == IexecLib.WorkOrderStatusEnum.REVEALING);\n\t\tm_status = IexecLib.WorkOrderStatusEnum.ACTIVE;\n\t\temit WorkOrderReActivated();\n\t\treturn true;\n\t}\n\n\n\tfunction claim() public onlyIexecHub\n\t{\n\t\trequire(m_status == IexecLib.WorkOrderStatusEnum.ACTIVE || m_status == IexecLib.WorkOrderStatusEnum.REVEALING);\n\t\tm_status = IexecLib.WorkOrderStatusEnum.CLAIMED;\n\t\temit WorkOrderClaimed();\n\t}\n\n\n\tfunction setResult(string _stdout, string _stderr, string _uri) public onlyIexecHub\n\t{\n\t\trequire(m_status == IexecLib.WorkOrderStatusEnum.REVEALING);\n\t\tm_status = IexecLib.WorkOrderStatusEnum.COMPLETED;\n\t\tm_stdout = _stdout;\n\t\tm_stderr = _stderr;\n\t\tm_uri = _uri;\n\t\tm_resultCallbackProof =keccak256(_stdout,_stderr,_uri);\n\t\temit WorkOrderCompleted();\n\t}\n\n}\n", - "sourcePath": "/Users/fbranci/iexecdev/PoCo/contracts/WorkOrder.sol", - "ast": { - "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/WorkOrder.sol", - "exportedSymbols": { - "WorkOrder": [ - 4299 - ] - }, - "id": 4300, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 4027, - "literals": [ - "solidity", - "^", - "0.4", - ".21" - ], - "nodeType": "PragmaDirective", - "src": "0:24:17" - }, - { - "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/IexecLib.sol", - "file": "./IexecLib.sol", - "id": 4028, - "nodeType": "ImportDirective", - "scope": 4300, - "sourceUnit": 2894, - "src": "26:24:17", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 4299, - "linearizedBaseContracts": [ - 4299 - ], - "name": "WorkOrder", - "nodeType": "ContractDefinition", - "nodes": [ - { - "anonymous": false, - "documentation": null, - "id": 4030, - "name": "WorkOrderActivated", - "nodeType": "EventDefinition", - "parameters": { - "id": 4029, - "nodeType": "ParameterList", - "parameters": [], - "src": "99:2:17" - }, - "src": "75:27:17" - }, - { - "anonymous": false, - "documentation": null, - "id": 4032, - "name": "WorkOrderReActivated", - "nodeType": "EventDefinition", - "parameters": { - "id": 4031, - "nodeType": "ParameterList", - "parameters": [], - "src": "130:2:17" - }, - "src": "104:29:17" - }, - { - "anonymous": false, - "documentation": null, - "id": 4034, - "name": "WorkOrderRevealing", - "nodeType": "EventDefinition", - "parameters": { - "id": 4033, - "nodeType": "ParameterList", - "parameters": [], - "src": "159:2:17" - }, - "src": "135:27:17" - }, - { - "anonymous": false, - "documentation": null, - "id": 4036, - "name": "WorkOrderClaimed", - "nodeType": "EventDefinition", - "parameters": { - "id": 4035, - "nodeType": "ParameterList", - "parameters": [], - "src": "188:2:17" - }, - "src": "164:27:17" - }, - { - "anonymous": false, - "documentation": null, - "id": 4038, - "name": "WorkOrderCompleted", - "nodeType": "EventDefinition", - "parameters": { - "id": 4037, - "nodeType": "ParameterList", - "parameters": [], - "src": "217:2:17" - }, - "src": "193:27:17" - }, - { - "constant": false, - "id": 4040, - "name": "m_status", - "nodeType": "VariableDeclaration", - "scope": 4299, - "src": "245:44:17", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", - "typeString": "enum IexecLib.WorkOrderStatusEnum" - }, - "typeName": { - "contractScope": null, - "id": 4039, - "name": "IexecLib.WorkOrderStatusEnum", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2832, - "src": "245:28:17", - "typeDescriptions": { - "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", - "typeString": "enum IexecLib.WorkOrderStatusEnum" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 4042, - "name": "m_marketorderIdx", - "nodeType": "VariableDeclaration", - "scope": 4299, - "src": "293:31:17", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4041, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "293:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 4044, - "name": "m_app", - "nodeType": "VariableDeclaration", - "scope": 4299, - "src": "328:20:17", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4043, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "328:7:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 4046, - "name": "m_dataset", - "nodeType": "VariableDeclaration", - "scope": 4299, - "src": "351:24:17", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4045, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "351:7:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 4048, - "name": "m_workerpool", - "nodeType": "VariableDeclaration", - "scope": 4299, - "src": "378:27:17", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4047, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "378:7:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 4050, - "name": "m_requester", - "nodeType": "VariableDeclaration", - "scope": 4299, - "src": "408:26:17", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4049, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "408:7:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 4052, - "name": "m_emitcost", - "nodeType": "VariableDeclaration", - "scope": 4299, - "src": "438:25:17", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4051, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "438:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 4054, - "name": "m_params", - "nodeType": "VariableDeclaration", - "scope": 4299, - "src": "466:23:17", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - }, - "typeName": { - "id": 4053, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "466:6:17", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 4056, - "name": "m_callback", - "nodeType": "VariableDeclaration", - "scope": 4299, - "src": "492:25:17", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4055, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "492:7:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 4058, - "name": "m_beneficiary", - "nodeType": "VariableDeclaration", - "scope": 4299, - "src": "520:28:17", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4057, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "520:7:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 4060, - "name": "m_resultCallbackProof", - "nodeType": "VariableDeclaration", - "scope": 4299, - "src": "552:36:17", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4059, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "552:7:17", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 4062, - "name": "m_stdout", - "nodeType": "VariableDeclaration", - "scope": 4299, - "src": "591:23:17", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - }, - "typeName": { - "id": 4061, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "591:6:17", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 4064, - "name": "m_stderr", - "nodeType": "VariableDeclaration", - "scope": 4299, - "src": "617:23:17", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - }, - "typeName": { - "id": 4063, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "617:6:17", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 4066, - "name": "m_uri", - "nodeType": "VariableDeclaration", - "scope": 4299, - "src": "643:20:17", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - }, - "typeName": { - "id": 4065, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "643:6:17", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 4068, - "name": "m_iexecHubAddress", - "nodeType": "VariableDeclaration", - "scope": 4299, - "src": "667:32:17", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4067, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "667:7:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "body": { - "id": 4078, - "nodeType": "Block", - "src": "728:53:17", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 4074, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4071, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "740:3:17", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4072, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "740:10:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 4073, - "name": "m_iexecHubAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4068, - "src": "754:17:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "740:31:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 4070, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "732:7:17", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 4075, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "732:40:17", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4076, - "nodeType": "ExpressionStatement", - "src": "732:40:17" - }, - { - "id": 4077, - "nodeType": "PlaceholderStatement", - "src": "776:1:17" - } - ] - }, - "documentation": null, - "id": 4079, - "name": "onlyIexecHub", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 4069, - "nodeType": "ParameterList", - "parameters": [], - "src": "724:2:17" - }, - "src": "703:78:17", - "visibility": "internal" - }, - { - "body": { - "id": 4155, - "nodeType": "Block", - "src": "1032:555:17", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 4103, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4100, - "name": "m_iexecHubAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4068, - "src": "1036:17:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4101, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "1056:3:17", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4102, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1056:10:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1036:30:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 4104, - "nodeType": "ExpressionStatement", - "src": "1036:30:17" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 4110, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4106, - "name": "_requester", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4083, - "src": "1078:10:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 4108, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1100:1:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 4107, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1092:7:17", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 4109, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1092:10:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1078:24:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 4105, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "1070:7:17", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 4111, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1070:33:17", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4112, - "nodeType": "ExpressionStatement", - "src": "1070:33:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 4117, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4113, - "name": "m_status", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4040, - "src": "1107:8:17", - "typeDescriptions": { - "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", - "typeString": "enum IexecLib.WorkOrderStatusEnum" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4114, - "name": "IexecLib", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2893, - "src": "1126:8:17", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IexecLib_$2893_$", - "typeString": "type(library IexecLib)" - } - }, - "id": 4115, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "WorkOrderStatusEnum", - "nodeType": "MemberAccess", - "referencedDeclaration": 2832, - "src": "1126:28:17", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_WorkOrderStatusEnum_$2832_$", - "typeString": "type(enum IexecLib.WorkOrderStatusEnum)" - } - }, - "id": 4116, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "ACTIVE", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1126:35:17", - "typeDescriptions": { - "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", - "typeString": "enum IexecLib.WorkOrderStatusEnum" - } - }, - "src": "1107:54:17", - "typeDescriptions": { - "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", - "typeString": "enum IexecLib.WorkOrderStatusEnum" - } - }, - "id": 4118, - "nodeType": "ExpressionStatement", - "src": "1107:54:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 4121, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4119, - "name": "m_marketorderIdx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4042, - "src": "1165:16:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 4120, - "name": "_marketorderIdx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4081, - "src": "1184:15:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1165:34:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4122, - "nodeType": "ExpressionStatement", - "src": "1165:34:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 4125, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4123, - "name": "m_app", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4044, - "src": "1203:5:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 4124, - "name": "_app", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4085, - "src": "1222:4:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1203:23:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 4126, - "nodeType": "ExpressionStatement", - "src": "1203:23:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 4129, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4127, - "name": "m_dataset", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4046, - "src": "1230:9:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 4128, - "name": "_dataset", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4087, - "src": "1249:8:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1230:27:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 4130, - "nodeType": "ExpressionStatement", - "src": "1230:27:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 4133, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4131, - "name": "m_workerpool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4048, - "src": "1261:12:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 4132, - "name": "_workerpool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4089, - "src": "1280:11:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1261:30:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 4134, - "nodeType": "ExpressionStatement", - "src": "1261:30:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 4137, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4135, - "name": "m_requester", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4050, - "src": "1295:11:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 4136, - "name": "_requester", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4083, - "src": "1314:10:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1295:29:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 4138, - "nodeType": "ExpressionStatement", - "src": "1295:29:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 4141, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4139, - "name": "m_emitcost", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4052, - "src": "1328:10:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 4140, - "name": "_emitcost", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4091, - "src": "1347:9:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1328:28:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4142, - "nodeType": "ExpressionStatement", - "src": "1328:28:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 4145, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4143, - "name": "m_params", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4054, - "src": "1360:8:17", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 4144, - "name": "_params", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4093, - "src": "1379:7:17", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "1360:26:17", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 4146, - "nodeType": "ExpressionStatement", - "src": "1360:26:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 4149, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4147, - "name": "m_callback", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4056, - "src": "1390:10:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 4148, - "name": "_callback", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4095, - "src": "1409:9:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1390:28:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 4150, - "nodeType": "ExpressionStatement", - "src": "1390:28:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 4153, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4151, - "name": "m_beneficiary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4058, - "src": "1422:13:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 4152, - "name": "_beneficiary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4097, - "src": "1441:12:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1422:31:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 4154, - "nodeType": "ExpressionStatement", - "src": "1422:31:17" - } - ] - }, - "documentation": "Constructor", - "id": 4156, - "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, - "modifiers": [], - "name": "WorkOrder", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4098, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4081, - "name": "_marketorderIdx", - "nodeType": "VariableDeclaration", - "scope": 4156, - "src": "832:23:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4080, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "832:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4083, - "name": "_requester", - "nodeType": "VariableDeclaration", - "scope": 4156, - "src": "859:18:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4082, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "859:7:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4085, - "name": "_app", - "nodeType": "VariableDeclaration", - "scope": 4156, - "src": "881:12:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4084, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "881:7:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4087, - "name": "_dataset", - "nodeType": "VariableDeclaration", - "scope": 4156, - "src": "897:16:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4086, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "897:7:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4089, - "name": "_workerpool", - "nodeType": "VariableDeclaration", - "scope": 4156, - "src": "917:19:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4088, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "917:7:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4091, - "name": "_emitcost", - "nodeType": "VariableDeclaration", - "scope": 4156, - "src": "940:17:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4090, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "940:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4093, - "name": "_params", - "nodeType": "VariableDeclaration", - "scope": 4156, - "src": "961:15:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - "typeName": { - "id": 4092, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "961:6:17", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4095, - "name": "_callback", - "nodeType": "VariableDeclaration", - "scope": 4156, - "src": "980:17:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4094, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "980:7:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4097, - "name": "_beneficiary", - "nodeType": "VariableDeclaration", - "scope": 4156, - "src": "1001:20:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4096, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1001:7:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "828:194:17" - }, - "payable": false, - "returnParameters": { - "id": 4099, - "nodeType": "ParameterList", - "parameters": [], - "src": "1032:0:17" - }, - "scope": 4299, - "src": "810:777:17", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 4187, - "nodeType": "Block", - "src": "1644:200:17", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 4165, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4162, - "name": "m_workerpool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4048, - "src": "1656:12:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4163, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "1672:3:17", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4164, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1672:10:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1656:26:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 4161, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "1648:7:17", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 4166, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1648:35:17", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4167, - "nodeType": "ExpressionStatement", - "src": "1648:35:17" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", - "typeString": "enum IexecLib.WorkOrderStatusEnum" - }, - "id": 4173, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4169, - "name": "m_status", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4040, - "src": "1695:8:17", - "typeDescriptions": { - "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", - "typeString": "enum IexecLib.WorkOrderStatusEnum" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4170, - "name": "IexecLib", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2893, - "src": "1707:8:17", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IexecLib_$2893_$", - "typeString": "type(library IexecLib)" - } - }, - "id": 4171, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "WorkOrderStatusEnum", - "nodeType": "MemberAccess", - "referencedDeclaration": 2832, - "src": "1707:28:17", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_WorkOrderStatusEnum_$2832_$", - "typeString": "type(enum IexecLib.WorkOrderStatusEnum)" - } - }, - "id": 4172, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "ACTIVE", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1707:35:17", - "typeDescriptions": { - "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", - "typeString": "enum IexecLib.WorkOrderStatusEnum" - } - }, - "src": "1695:47:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 4168, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "1687:7:17", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 4174, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1687:56:17", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4175, - "nodeType": "ExpressionStatement", - "src": "1687:56:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 4180, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4176, - "name": "m_status", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4040, - "src": "1747:8:17", - "typeDescriptions": { - "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", - "typeString": "enum IexecLib.WorkOrderStatusEnum" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4177, - "name": "IexecLib", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2893, - "src": "1758:8:17", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IexecLib_$2893_$", - "typeString": "type(library IexecLib)" - } - }, - "id": 4178, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "WorkOrderStatusEnum", - "nodeType": "MemberAccess", - "referencedDeclaration": 2832, - "src": "1758:28:17", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_WorkOrderStatusEnum_$2832_$", - "typeString": "type(enum IexecLib.WorkOrderStatusEnum)" - } - }, - "id": 4179, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "REVEALING", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1758:38:17", - "typeDescriptions": { - "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", - "typeString": "enum IexecLib.WorkOrderStatusEnum" - } - }, - "src": "1747:49:17", - "typeDescriptions": { - "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", - "typeString": "enum IexecLib.WorkOrderStatusEnum" - } - }, - "id": 4181, - "nodeType": "ExpressionStatement", - "src": "1747:49:17" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 4182, - "name": "WorkOrderRevealing", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4034, - "src": "1805:18:17", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$__$returns$__$", - "typeString": "function ()" - } - }, - "id": 4183, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1805:20:17", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4184, - "nodeType": "EmitStatement", - "src": "1800:25:17" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 4185, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1836:4:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 4160, - "id": 4186, - "nodeType": "Return", - "src": "1829:11:17" - } - ] - }, - "documentation": null, - "id": 4188, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "startRevealingPhase", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4157, - "nodeType": "ParameterList", - "parameters": [], - "src": "1618:2:17" - }, - "payable": false, - "returnParameters": { - "id": 4160, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4159, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 4188, - "src": "1637:4:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4158, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1637:4:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1636:6:17" - }, - "scope": 4299, - "src": "1590:254:17", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 4219, - "nodeType": "Block", - "src": "1892:202:17", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 4197, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4194, - "name": "m_workerpool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4048, - "src": "1904:12:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4195, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "1920:3:17", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4196, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1920:10:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1904:26:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 4193, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "1896:7:17", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 4198, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1896:35:17", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4199, - "nodeType": "ExpressionStatement", - "src": "1896:35:17" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", - "typeString": "enum IexecLib.WorkOrderStatusEnum" - }, - "id": 4205, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4201, - "name": "m_status", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4040, - "src": "1943:8:17", - "typeDescriptions": { - "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", - "typeString": "enum IexecLib.WorkOrderStatusEnum" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4202, - "name": "IexecLib", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2893, - "src": "1955:8:17", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IexecLib_$2893_$", - "typeString": "type(library IexecLib)" - } - }, - "id": 4203, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "WorkOrderStatusEnum", - "nodeType": "MemberAccess", - "referencedDeclaration": 2832, - "src": "1955:28:17", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_WorkOrderStatusEnum_$2832_$", - "typeString": "type(enum IexecLib.WorkOrderStatusEnum)" - } - }, - "id": 4204, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "REVEALING", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1955:38:17", - "typeDescriptions": { - "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", - "typeString": "enum IexecLib.WorkOrderStatusEnum" - } - }, - "src": "1943:50:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 4200, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "1935:7:17", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 4206, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1935:59:17", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4207, - "nodeType": "ExpressionStatement", - "src": "1935:59:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 4212, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4208, - "name": "m_status", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4040, - "src": "1998:8:17", - "typeDescriptions": { - "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", - "typeString": "enum IexecLib.WorkOrderStatusEnum" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4209, - "name": "IexecLib", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2893, - "src": "2009:8:17", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IexecLib_$2893_$", - "typeString": "type(library IexecLib)" - } - }, - "id": 4210, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "WorkOrderStatusEnum", - "nodeType": "MemberAccess", - "referencedDeclaration": 2832, - "src": "2009:28:17", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_WorkOrderStatusEnum_$2832_$", - "typeString": "type(enum IexecLib.WorkOrderStatusEnum)" - } - }, - "id": 4211, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "ACTIVE", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2009:35:17", - "typeDescriptions": { - "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", - "typeString": "enum IexecLib.WorkOrderStatusEnum" - } - }, - "src": "1998:46:17", - "typeDescriptions": { - "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", - "typeString": "enum IexecLib.WorkOrderStatusEnum" - } - }, - "id": 4213, - "nodeType": "ExpressionStatement", - "src": "1998:46:17" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 4214, - "name": "WorkOrderReActivated", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4032, - "src": "2053:20:17", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$__$returns$__$", - "typeString": "function ()" - } - }, - "id": 4215, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2053:22:17", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4216, - "nodeType": "EmitStatement", - "src": "2048:27:17" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 4217, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2086:4:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 4192, - "id": 4218, - "nodeType": "Return", - "src": "2079:11:17" - } - ] - }, - "documentation": null, - "id": 4220, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "reActivate", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4189, - "nodeType": "ParameterList", - "parameters": [], - "src": "1866:2:17" - }, - "payable": false, - "returnParameters": { - "id": 4192, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4191, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 4220, - "src": "1885:4:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4190, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1885:4:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1884:6:17" - }, - "scope": 4299, - "src": "1847:247:17", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 4248, - "nodeType": "Block", - "src": "2136:196:17", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 4236, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", - "typeString": "enum IexecLib.WorkOrderStatusEnum" - }, - "id": 4230, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4226, - "name": "m_status", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4040, - "src": "2148:8:17", - "typeDescriptions": { - "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", - "typeString": "enum IexecLib.WorkOrderStatusEnum" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4227, - "name": "IexecLib", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2893, - "src": "2160:8:17", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IexecLib_$2893_$", - "typeString": "type(library IexecLib)" - } - }, - "id": 4228, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "WorkOrderStatusEnum", - "nodeType": "MemberAccess", - "referencedDeclaration": 2832, - "src": "2160:28:17", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_WorkOrderStatusEnum_$2832_$", - "typeString": "type(enum IexecLib.WorkOrderStatusEnum)" - } - }, - "id": 4229, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "ACTIVE", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2160:35:17", - "typeDescriptions": { - "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", - "typeString": "enum IexecLib.WorkOrderStatusEnum" - } - }, - "src": "2148:47:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", - "typeString": "enum IexecLib.WorkOrderStatusEnum" - }, - "id": 4235, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4231, - "name": "m_status", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4040, - "src": "2199:8:17", - "typeDescriptions": { - "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", - "typeString": "enum IexecLib.WorkOrderStatusEnum" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4232, - "name": "IexecLib", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2893, - "src": "2211:8:17", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IexecLib_$2893_$", - "typeString": "type(library IexecLib)" - } - }, - "id": 4233, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "WorkOrderStatusEnum", - "nodeType": "MemberAccess", - "referencedDeclaration": 2832, - "src": "2211:28:17", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_WorkOrderStatusEnum_$2832_$", - "typeString": "type(enum IexecLib.WorkOrderStatusEnum)" - } - }, - "id": 4234, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "REVEALING", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2211:38:17", - "typeDescriptions": { - "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", - "typeString": "enum IexecLib.WorkOrderStatusEnum" - } - }, - "src": "2199:50:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "2148:101:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 4225, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "2140:7:17", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 4237, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2140:110:17", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4238, - "nodeType": "ExpressionStatement", - "src": "2140:110:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 4243, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4239, - "name": "m_status", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4040, - "src": "2254:8:17", - "typeDescriptions": { - "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", - "typeString": "enum IexecLib.WorkOrderStatusEnum" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4240, - "name": "IexecLib", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2893, - "src": "2265:8:17", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IexecLib_$2893_$", - "typeString": "type(library IexecLib)" - } - }, - "id": 4241, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "WorkOrderStatusEnum", - "nodeType": "MemberAccess", - "referencedDeclaration": 2832, - "src": "2265:28:17", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_WorkOrderStatusEnum_$2832_$", - "typeString": "type(enum IexecLib.WorkOrderStatusEnum)" - } - }, - "id": 4242, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "CLAIMED", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2265:36:17", - "typeDescriptions": { - "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", - "typeString": "enum IexecLib.WorkOrderStatusEnum" - } - }, - "src": "2254:47:17", - "typeDescriptions": { - "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", - "typeString": "enum IexecLib.WorkOrderStatusEnum" - } - }, - "id": 4244, - "nodeType": "ExpressionStatement", - "src": "2254:47:17" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 4245, - "name": "WorkOrderClaimed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4036, - "src": "2310:16:17", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$__$returns$__$", - "typeString": "function ()" - } - }, - "id": 4246, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2310:18:17", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4247, - "nodeType": "EmitStatement", - "src": "2305:23:17" - } - ] - }, - "documentation": null, - "id": 4249, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [], - "id": 4223, - "modifierName": { - "argumentTypes": null, - "id": 4222, - "name": "onlyIexecHub", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4079, - "src": "2122:12:17", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "2122:12:17" - } - ], - "name": "claim", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4221, - "nodeType": "ParameterList", - "parameters": [], - "src": "2112:2:17" - }, - "payable": false, - "returnParameters": { - "id": 4224, - "nodeType": "ParameterList", - "parameters": [], - "src": "2136:0:17" - }, - "scope": 4299, - "src": "2098:234:17", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 4297, - "nodeType": "Block", - "src": "2421:270:17", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", - "typeString": "enum IexecLib.WorkOrderStatusEnum" - }, - "id": 4265, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4261, - "name": "m_status", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4040, - "src": "2433:8:17", - "typeDescriptions": { - "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", - "typeString": "enum IexecLib.WorkOrderStatusEnum" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4262, - "name": "IexecLib", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2893, - "src": "2445:8:17", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IexecLib_$2893_$", - "typeString": "type(library IexecLib)" - } - }, - "id": 4263, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "WorkOrderStatusEnum", - "nodeType": "MemberAccess", - "referencedDeclaration": 2832, - "src": "2445:28:17", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_WorkOrderStatusEnum_$2832_$", - "typeString": "type(enum IexecLib.WorkOrderStatusEnum)" - } - }, - "id": 4264, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "REVEALING", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2445:38:17", - "typeDescriptions": { - "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", - "typeString": "enum IexecLib.WorkOrderStatusEnum" - } - }, - "src": "2433:50:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 4260, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "2425:7:17", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 4266, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2425:59:17", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4267, - "nodeType": "ExpressionStatement", - "src": "2425:59:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 4272, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4268, - "name": "m_status", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4040, - "src": "2488:8:17", - "typeDescriptions": { - "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", - "typeString": "enum IexecLib.WorkOrderStatusEnum" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4269, - "name": "IexecLib", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2893, - "src": "2499:8:17", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IexecLib_$2893_$", - "typeString": "type(library IexecLib)" - } - }, - "id": 4270, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "WorkOrderStatusEnum", - "nodeType": "MemberAccess", - "referencedDeclaration": 2832, - "src": "2499:28:17", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_WorkOrderStatusEnum_$2832_$", - "typeString": "type(enum IexecLib.WorkOrderStatusEnum)" - } - }, - "id": 4271, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "COMPLETED", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2499:38:17", - "typeDescriptions": { - "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", - "typeString": "enum IexecLib.WorkOrderStatusEnum" - } - }, - "src": "2488:49:17", - "typeDescriptions": { - "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", - "typeString": "enum IexecLib.WorkOrderStatusEnum" - } - }, - "id": 4273, - "nodeType": "ExpressionStatement", - "src": "2488:49:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 4276, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4274, - "name": "m_stdout", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4062, - "src": "2541:8:17", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 4275, - "name": "_stdout", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4251, - "src": "2552:7:17", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "2541:18:17", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 4277, - "nodeType": "ExpressionStatement", - "src": "2541:18:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 4280, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4278, - "name": "m_stderr", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4064, - "src": "2563:8:17", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 4279, - "name": "_stderr", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4253, - "src": "2574:7:17", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "2563:18:17", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 4281, - "nodeType": "ExpressionStatement", - "src": "2563:18:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 4284, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4282, - "name": "m_uri", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4066, - "src": "2585:5:17", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 4283, - "name": "_uri", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4255, - "src": "2596:4:17", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "2585:15:17", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 4285, - "nodeType": "ExpressionStatement", - "src": "2585:15:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 4292, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4286, - "name": "m_resultCallbackProof", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4060, - "src": "2604:21:17", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4288, - "name": "_stdout", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4251, - "src": "2637:7:17", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 4289, - "name": "_stderr", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4253, - "src": "2645:7:17", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 4290, - "name": "_uri", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4255, - "src": "2653:4:17", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 4287, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7002, - "src": "2627:9:17", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 4291, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2627:31:17", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "2604:54:17", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "id": 4293, - "nodeType": "ExpressionStatement", - "src": "2604:54:17" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 4294, - "name": "WorkOrderCompleted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4038, - "src": "2667:18:17", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$__$returns$__$", - "typeString": "function ()" - } - }, - "id": 4295, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2667:20:17", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4296, - "nodeType": "EmitStatement", - "src": "2662:25:17" - } - ] - }, - "documentation": null, - "id": 4298, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [], - "id": 4258, - "modifierName": { - "argumentTypes": null, - "id": 4257, - "name": "onlyIexecHub", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4079, - "src": "2407:12:17", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "2407:12:17" - } - ], - "name": "setResult", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4256, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4251, - "name": "_stdout", - "nodeType": "VariableDeclaration", - "scope": 4298, - "src": "2355:14:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - "typeName": { - "id": 4250, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2355:6:17", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4253, - "name": "_stderr", - "nodeType": "VariableDeclaration", - "scope": 4298, - "src": "2371:14:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - "typeName": { - "id": 4252, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2371:6:17", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4255, - "name": "_uri", - "nodeType": "VariableDeclaration", - "scope": 4298, - "src": "2387:11:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - "typeName": { - "id": 4254, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2387:6:17", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2354:45:17" - }, - "payable": false, - "returnParameters": { - "id": 4259, - "nodeType": "ParameterList", - "parameters": [], - "src": "2421:0:17" - }, - "scope": 4299, - "src": "2336:355:17", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 4300, - "src": "51:2643:17" - } - ], - "src": "0:2695:17" - }, - "legacyAST": { - "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/WorkOrder.sol", - "exportedSymbols": { - "WorkOrder": [ - 4299 - ] - }, - "id": 4300, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 4027, - "literals": [ - "solidity", - "^", - "0.4", - ".21" - ], - "nodeType": "PragmaDirective", - "src": "0:24:17" - }, - { - "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/IexecLib.sol", - "file": "./IexecLib.sol", - "id": 4028, - "nodeType": "ImportDirective", - "scope": 4300, - "sourceUnit": 2894, - "src": "26:24:17", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 4299, - "linearizedBaseContracts": [ - 4299 - ], - "name": "WorkOrder", - "nodeType": "ContractDefinition", - "nodes": [ - { - "anonymous": false, - "documentation": null, - "id": 4030, - "name": "WorkOrderActivated", - "nodeType": "EventDefinition", - "parameters": { - "id": 4029, - "nodeType": "ParameterList", - "parameters": [], - "src": "99:2:17" - }, - "src": "75:27:17" - }, - { - "anonymous": false, - "documentation": null, - "id": 4032, - "name": "WorkOrderReActivated", - "nodeType": "EventDefinition", - "parameters": { - "id": 4031, - "nodeType": "ParameterList", - "parameters": [], - "src": "130:2:17" - }, - "src": "104:29:17" - }, - { - "anonymous": false, - "documentation": null, - "id": 4034, - "name": "WorkOrderRevealing", - "nodeType": "EventDefinition", - "parameters": { - "id": 4033, - "nodeType": "ParameterList", - "parameters": [], - "src": "159:2:17" - }, - "src": "135:27:17" - }, - { - "anonymous": false, - "documentation": null, - "id": 4036, - "name": "WorkOrderClaimed", - "nodeType": "EventDefinition", - "parameters": { - "id": 4035, - "nodeType": "ParameterList", - "parameters": [], - "src": "188:2:17" - }, - "src": "164:27:17" - }, - { - "anonymous": false, - "documentation": null, - "id": 4038, - "name": "WorkOrderCompleted", - "nodeType": "EventDefinition", - "parameters": { - "id": 4037, - "nodeType": "ParameterList", - "parameters": [], - "src": "217:2:17" - }, - "src": "193:27:17" - }, - { - "constant": false, - "id": 4040, - "name": "m_status", - "nodeType": "VariableDeclaration", - "scope": 4299, - "src": "245:44:17", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", - "typeString": "enum IexecLib.WorkOrderStatusEnum" - }, - "typeName": { - "contractScope": null, - "id": 4039, - "name": "IexecLib.WorkOrderStatusEnum", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2832, - "src": "245:28:17", - "typeDescriptions": { - "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", - "typeString": "enum IexecLib.WorkOrderStatusEnum" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 4042, - "name": "m_marketorderIdx", - "nodeType": "VariableDeclaration", - "scope": 4299, - "src": "293:31:17", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4041, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "293:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 4044, - "name": "m_app", - "nodeType": "VariableDeclaration", - "scope": 4299, - "src": "328:20:17", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4043, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "328:7:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 4046, - "name": "m_dataset", - "nodeType": "VariableDeclaration", - "scope": 4299, - "src": "351:24:17", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4045, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "351:7:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 4048, - "name": "m_workerpool", - "nodeType": "VariableDeclaration", - "scope": 4299, - "src": "378:27:17", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4047, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "378:7:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 4050, - "name": "m_requester", - "nodeType": "VariableDeclaration", - "scope": 4299, - "src": "408:26:17", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4049, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "408:7:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 4052, - "name": "m_emitcost", - "nodeType": "VariableDeclaration", - "scope": 4299, - "src": "438:25:17", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4051, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "438:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 4054, - "name": "m_params", - "nodeType": "VariableDeclaration", - "scope": 4299, - "src": "466:23:17", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - }, - "typeName": { - "id": 4053, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "466:6:17", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 4056, - "name": "m_callback", - "nodeType": "VariableDeclaration", - "scope": 4299, - "src": "492:25:17", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4055, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "492:7:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 4058, - "name": "m_beneficiary", - "nodeType": "VariableDeclaration", - "scope": 4299, - "src": "520:28:17", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4057, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "520:7:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 4060, - "name": "m_resultCallbackProof", - "nodeType": "VariableDeclaration", - "scope": 4299, - "src": "552:36:17", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4059, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "552:7:17", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 4062, - "name": "m_stdout", - "nodeType": "VariableDeclaration", - "scope": 4299, - "src": "591:23:17", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - }, - "typeName": { - "id": 4061, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "591:6:17", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 4064, - "name": "m_stderr", - "nodeType": "VariableDeclaration", - "scope": 4299, - "src": "617:23:17", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - }, - "typeName": { - "id": 4063, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "617:6:17", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 4066, - "name": "m_uri", - "nodeType": "VariableDeclaration", - "scope": 4299, - "src": "643:20:17", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - }, - "typeName": { - "id": 4065, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "643:6:17", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 4068, - "name": "m_iexecHubAddress", - "nodeType": "VariableDeclaration", - "scope": 4299, - "src": "667:32:17", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4067, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "667:7:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "body": { - "id": 4078, - "nodeType": "Block", - "src": "728:53:17", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 4074, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4071, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "740:3:17", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4072, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "740:10:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 4073, - "name": "m_iexecHubAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4068, - "src": "754:17:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "740:31:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 4070, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "732:7:17", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 4075, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "732:40:17", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4076, - "nodeType": "ExpressionStatement", - "src": "732:40:17" - }, - { - "id": 4077, - "nodeType": "PlaceholderStatement", - "src": "776:1:17" - } - ] - }, - "documentation": null, - "id": 4079, - "name": "onlyIexecHub", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 4069, - "nodeType": "ParameterList", - "parameters": [], - "src": "724:2:17" - }, - "src": "703:78:17", - "visibility": "internal" - }, - { - "body": { - "id": 4155, - "nodeType": "Block", - "src": "1032:555:17", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 4103, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4100, - "name": "m_iexecHubAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4068, - "src": "1036:17:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4101, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "1056:3:17", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4102, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1056:10:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1036:30:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 4104, - "nodeType": "ExpressionStatement", - "src": "1036:30:17" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 4110, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4106, - "name": "_requester", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4083, - "src": "1078:10:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 4108, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1100:1:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 4107, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1092:7:17", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 4109, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1092:10:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1078:24:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 4105, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "1070:7:17", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 4111, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1070:33:17", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4112, - "nodeType": "ExpressionStatement", - "src": "1070:33:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 4117, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4113, - "name": "m_status", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4040, - "src": "1107:8:17", - "typeDescriptions": { - "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", - "typeString": "enum IexecLib.WorkOrderStatusEnum" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4114, - "name": "IexecLib", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2893, - "src": "1126:8:17", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IexecLib_$2893_$", - "typeString": "type(library IexecLib)" - } - }, - "id": 4115, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "WorkOrderStatusEnum", - "nodeType": "MemberAccess", - "referencedDeclaration": 2832, - "src": "1126:28:17", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_WorkOrderStatusEnum_$2832_$", - "typeString": "type(enum IexecLib.WorkOrderStatusEnum)" - } - }, - "id": 4116, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "ACTIVE", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1126:35:17", - "typeDescriptions": { - "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", - "typeString": "enum IexecLib.WorkOrderStatusEnum" - } - }, - "src": "1107:54:17", - "typeDescriptions": { - "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", - "typeString": "enum IexecLib.WorkOrderStatusEnum" - } - }, - "id": 4118, - "nodeType": "ExpressionStatement", - "src": "1107:54:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 4121, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4119, - "name": "m_marketorderIdx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4042, - "src": "1165:16:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 4120, - "name": "_marketorderIdx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4081, - "src": "1184:15:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1165:34:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4122, - "nodeType": "ExpressionStatement", - "src": "1165:34:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 4125, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4123, - "name": "m_app", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4044, - "src": "1203:5:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 4124, - "name": "_app", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4085, - "src": "1222:4:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1203:23:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 4126, - "nodeType": "ExpressionStatement", - "src": "1203:23:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 4129, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4127, - "name": "m_dataset", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4046, - "src": "1230:9:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 4128, - "name": "_dataset", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4087, - "src": "1249:8:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1230:27:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 4130, - "nodeType": "ExpressionStatement", - "src": "1230:27:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 4133, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4131, - "name": "m_workerpool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4048, - "src": "1261:12:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 4132, - "name": "_workerpool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4089, - "src": "1280:11:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1261:30:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 4134, - "nodeType": "ExpressionStatement", - "src": "1261:30:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 4137, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4135, - "name": "m_requester", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4050, - "src": "1295:11:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 4136, - "name": "_requester", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4083, - "src": "1314:10:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1295:29:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 4138, - "nodeType": "ExpressionStatement", - "src": "1295:29:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 4141, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4139, - "name": "m_emitcost", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4052, - "src": "1328:10:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 4140, - "name": "_emitcost", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4091, - "src": "1347:9:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1328:28:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4142, - "nodeType": "ExpressionStatement", - "src": "1328:28:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 4145, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4143, - "name": "m_params", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4054, - "src": "1360:8:17", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 4144, - "name": "_params", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4093, - "src": "1379:7:17", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "1360:26:17", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 4146, - "nodeType": "ExpressionStatement", - "src": "1360:26:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 4149, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4147, - "name": "m_callback", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4056, - "src": "1390:10:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 4148, - "name": "_callback", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4095, - "src": "1409:9:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1390:28:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 4150, - "nodeType": "ExpressionStatement", - "src": "1390:28:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 4153, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4151, - "name": "m_beneficiary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4058, - "src": "1422:13:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 4152, - "name": "_beneficiary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4097, - "src": "1441:12:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1422:31:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 4154, - "nodeType": "ExpressionStatement", - "src": "1422:31:17" - } - ] - }, - "documentation": "Constructor", - "id": 4156, - "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, - "modifiers": [], - "name": "WorkOrder", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4098, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4081, - "name": "_marketorderIdx", - "nodeType": "VariableDeclaration", - "scope": 4156, - "src": "832:23:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4080, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "832:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4083, - "name": "_requester", - "nodeType": "VariableDeclaration", - "scope": 4156, - "src": "859:18:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4082, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "859:7:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4085, - "name": "_app", - "nodeType": "VariableDeclaration", - "scope": 4156, - "src": "881:12:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4084, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "881:7:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4087, - "name": "_dataset", - "nodeType": "VariableDeclaration", - "scope": 4156, - "src": "897:16:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4086, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "897:7:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4089, - "name": "_workerpool", - "nodeType": "VariableDeclaration", - "scope": 4156, - "src": "917:19:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4088, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "917:7:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4091, - "name": "_emitcost", - "nodeType": "VariableDeclaration", - "scope": 4156, - "src": "940:17:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4090, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "940:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4093, - "name": "_params", - "nodeType": "VariableDeclaration", - "scope": 4156, - "src": "961:15:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - "typeName": { - "id": 4092, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "961:6:17", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4095, - "name": "_callback", - "nodeType": "VariableDeclaration", - "scope": 4156, - "src": "980:17:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4094, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "980:7:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4097, - "name": "_beneficiary", - "nodeType": "VariableDeclaration", - "scope": 4156, - "src": "1001:20:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4096, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1001:7:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "828:194:17" - }, - "payable": false, - "returnParameters": { - "id": 4099, - "nodeType": "ParameterList", - "parameters": [], - "src": "1032:0:17" - }, - "scope": 4299, - "src": "810:777:17", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 4187, - "nodeType": "Block", - "src": "1644:200:17", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 4165, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4162, - "name": "m_workerpool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4048, - "src": "1656:12:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4163, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "1672:3:17", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4164, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1672:10:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1656:26:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 4161, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "1648:7:17", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 4166, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1648:35:17", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4167, - "nodeType": "ExpressionStatement", - "src": "1648:35:17" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", - "typeString": "enum IexecLib.WorkOrderStatusEnum" - }, - "id": 4173, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4169, - "name": "m_status", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4040, - "src": "1695:8:17", - "typeDescriptions": { - "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", - "typeString": "enum IexecLib.WorkOrderStatusEnum" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4170, - "name": "IexecLib", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2893, - "src": "1707:8:17", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IexecLib_$2893_$", - "typeString": "type(library IexecLib)" - } - }, - "id": 4171, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "WorkOrderStatusEnum", - "nodeType": "MemberAccess", - "referencedDeclaration": 2832, - "src": "1707:28:17", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_WorkOrderStatusEnum_$2832_$", - "typeString": "type(enum IexecLib.WorkOrderStatusEnum)" - } - }, - "id": 4172, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "ACTIVE", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1707:35:17", - "typeDescriptions": { - "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", - "typeString": "enum IexecLib.WorkOrderStatusEnum" - } - }, - "src": "1695:47:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 4168, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "1687:7:17", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 4174, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1687:56:17", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4175, - "nodeType": "ExpressionStatement", - "src": "1687:56:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 4180, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4176, - "name": "m_status", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4040, - "src": "1747:8:17", - "typeDescriptions": { - "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", - "typeString": "enum IexecLib.WorkOrderStatusEnum" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4177, - "name": "IexecLib", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2893, - "src": "1758:8:17", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IexecLib_$2893_$", - "typeString": "type(library IexecLib)" - } - }, - "id": 4178, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "WorkOrderStatusEnum", - "nodeType": "MemberAccess", - "referencedDeclaration": 2832, - "src": "1758:28:17", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_WorkOrderStatusEnum_$2832_$", - "typeString": "type(enum IexecLib.WorkOrderStatusEnum)" - } - }, - "id": 4179, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "REVEALING", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1758:38:17", - "typeDescriptions": { - "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", - "typeString": "enum IexecLib.WorkOrderStatusEnum" - } - }, - "src": "1747:49:17", - "typeDescriptions": { - "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", - "typeString": "enum IexecLib.WorkOrderStatusEnum" - } - }, - "id": 4181, - "nodeType": "ExpressionStatement", - "src": "1747:49:17" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 4182, - "name": "WorkOrderRevealing", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4034, - "src": "1805:18:17", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$__$returns$__$", - "typeString": "function ()" - } - }, - "id": 4183, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1805:20:17", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4184, - "nodeType": "EmitStatement", - "src": "1800:25:17" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 4185, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1836:4:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 4160, - "id": 4186, - "nodeType": "Return", - "src": "1829:11:17" - } - ] - }, - "documentation": null, - "id": 4188, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "startRevealingPhase", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4157, - "nodeType": "ParameterList", - "parameters": [], - "src": "1618:2:17" - }, - "payable": false, - "returnParameters": { - "id": 4160, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4159, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 4188, - "src": "1637:4:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4158, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1637:4:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1636:6:17" - }, - "scope": 4299, - "src": "1590:254:17", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 4219, - "nodeType": "Block", - "src": "1892:202:17", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 4197, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4194, - "name": "m_workerpool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4048, - "src": "1904:12:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4195, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "1920:3:17", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4196, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1920:10:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1904:26:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 4193, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "1896:7:17", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 4198, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1896:35:17", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4199, - "nodeType": "ExpressionStatement", - "src": "1896:35:17" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", - "typeString": "enum IexecLib.WorkOrderStatusEnum" - }, - "id": 4205, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4201, - "name": "m_status", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4040, - "src": "1943:8:17", - "typeDescriptions": { - "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", - "typeString": "enum IexecLib.WorkOrderStatusEnum" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4202, - "name": "IexecLib", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2893, - "src": "1955:8:17", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IexecLib_$2893_$", - "typeString": "type(library IexecLib)" - } - }, - "id": 4203, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "WorkOrderStatusEnum", - "nodeType": "MemberAccess", - "referencedDeclaration": 2832, - "src": "1955:28:17", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_WorkOrderStatusEnum_$2832_$", - "typeString": "type(enum IexecLib.WorkOrderStatusEnum)" - } - }, - "id": 4204, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "REVEALING", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1955:38:17", - "typeDescriptions": { - "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", - "typeString": "enum IexecLib.WorkOrderStatusEnum" - } - }, - "src": "1943:50:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 4200, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "1935:7:17", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 4206, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1935:59:17", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4207, - "nodeType": "ExpressionStatement", - "src": "1935:59:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 4212, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4208, - "name": "m_status", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4040, - "src": "1998:8:17", - "typeDescriptions": { - "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", - "typeString": "enum IexecLib.WorkOrderStatusEnum" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4209, - "name": "IexecLib", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2893, - "src": "2009:8:17", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IexecLib_$2893_$", - "typeString": "type(library IexecLib)" - } - }, - "id": 4210, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "WorkOrderStatusEnum", - "nodeType": "MemberAccess", - "referencedDeclaration": 2832, - "src": "2009:28:17", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_WorkOrderStatusEnum_$2832_$", - "typeString": "type(enum IexecLib.WorkOrderStatusEnum)" - } - }, - "id": 4211, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "ACTIVE", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2009:35:17", - "typeDescriptions": { - "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", - "typeString": "enum IexecLib.WorkOrderStatusEnum" - } - }, - "src": "1998:46:17", - "typeDescriptions": { - "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", - "typeString": "enum IexecLib.WorkOrderStatusEnum" - } - }, - "id": 4213, - "nodeType": "ExpressionStatement", - "src": "1998:46:17" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 4214, - "name": "WorkOrderReActivated", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4032, - "src": "2053:20:17", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$__$returns$__$", - "typeString": "function ()" - } - }, - "id": 4215, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2053:22:17", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4216, - "nodeType": "EmitStatement", - "src": "2048:27:17" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 4217, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2086:4:17", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 4192, - "id": 4218, - "nodeType": "Return", - "src": "2079:11:17" - } - ] - }, - "documentation": null, - "id": 4220, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "reActivate", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4189, - "nodeType": "ParameterList", - "parameters": [], - "src": "1866:2:17" - }, - "payable": false, - "returnParameters": { - "id": 4192, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4191, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 4220, - "src": "1885:4:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4190, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1885:4:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1884:6:17" - }, - "scope": 4299, - "src": "1847:247:17", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 4248, - "nodeType": "Block", - "src": "2136:196:17", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 4236, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", - "typeString": "enum IexecLib.WorkOrderStatusEnum" - }, - "id": 4230, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4226, - "name": "m_status", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4040, - "src": "2148:8:17", - "typeDescriptions": { - "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", - "typeString": "enum IexecLib.WorkOrderStatusEnum" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4227, - "name": "IexecLib", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2893, - "src": "2160:8:17", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IexecLib_$2893_$", - "typeString": "type(library IexecLib)" - } - }, - "id": 4228, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "WorkOrderStatusEnum", - "nodeType": "MemberAccess", - "referencedDeclaration": 2832, - "src": "2160:28:17", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_WorkOrderStatusEnum_$2832_$", - "typeString": "type(enum IexecLib.WorkOrderStatusEnum)" - } - }, - "id": 4229, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "ACTIVE", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2160:35:17", - "typeDescriptions": { - "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", - "typeString": "enum IexecLib.WorkOrderStatusEnum" - } - }, - "src": "2148:47:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", - "typeString": "enum IexecLib.WorkOrderStatusEnum" - }, - "id": 4235, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4231, - "name": "m_status", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4040, - "src": "2199:8:17", - "typeDescriptions": { - "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", - "typeString": "enum IexecLib.WorkOrderStatusEnum" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4232, - "name": "IexecLib", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2893, - "src": "2211:8:17", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IexecLib_$2893_$", - "typeString": "type(library IexecLib)" - } - }, - "id": 4233, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "WorkOrderStatusEnum", - "nodeType": "MemberAccess", - "referencedDeclaration": 2832, - "src": "2211:28:17", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_WorkOrderStatusEnum_$2832_$", - "typeString": "type(enum IexecLib.WorkOrderStatusEnum)" - } - }, - "id": 4234, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "REVEALING", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2211:38:17", - "typeDescriptions": { - "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", - "typeString": "enum IexecLib.WorkOrderStatusEnum" - } - }, - "src": "2199:50:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "2148:101:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 4225, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "2140:7:17", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 4237, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2140:110:17", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4238, - "nodeType": "ExpressionStatement", - "src": "2140:110:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 4243, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4239, - "name": "m_status", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4040, - "src": "2254:8:17", - "typeDescriptions": { - "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", - "typeString": "enum IexecLib.WorkOrderStatusEnum" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4240, - "name": "IexecLib", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2893, - "src": "2265:8:17", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IexecLib_$2893_$", - "typeString": "type(library IexecLib)" - } - }, - "id": 4241, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "WorkOrderStatusEnum", - "nodeType": "MemberAccess", - "referencedDeclaration": 2832, - "src": "2265:28:17", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_WorkOrderStatusEnum_$2832_$", - "typeString": "type(enum IexecLib.WorkOrderStatusEnum)" - } - }, - "id": 4242, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "CLAIMED", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2265:36:17", - "typeDescriptions": { - "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", - "typeString": "enum IexecLib.WorkOrderStatusEnum" - } - }, - "src": "2254:47:17", - "typeDescriptions": { - "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", - "typeString": "enum IexecLib.WorkOrderStatusEnum" - } - }, - "id": 4244, - "nodeType": "ExpressionStatement", - "src": "2254:47:17" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 4245, - "name": "WorkOrderClaimed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4036, - "src": "2310:16:17", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$__$returns$__$", - "typeString": "function ()" - } - }, - "id": 4246, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2310:18:17", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4247, - "nodeType": "EmitStatement", - "src": "2305:23:17" - } - ] - }, - "documentation": null, - "id": 4249, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [], - "id": 4223, - "modifierName": { - "argumentTypes": null, - "id": 4222, - "name": "onlyIexecHub", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4079, - "src": "2122:12:17", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "2122:12:17" - } - ], - "name": "claim", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4221, - "nodeType": "ParameterList", - "parameters": [], - "src": "2112:2:17" - }, - "payable": false, - "returnParameters": { - "id": 4224, - "nodeType": "ParameterList", - "parameters": [], - "src": "2136:0:17" - }, - "scope": 4299, - "src": "2098:234:17", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 4297, - "nodeType": "Block", - "src": "2421:270:17", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", - "typeString": "enum IexecLib.WorkOrderStatusEnum" - }, - "id": 4265, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4261, - "name": "m_status", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4040, - "src": "2433:8:17", - "typeDescriptions": { - "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", - "typeString": "enum IexecLib.WorkOrderStatusEnum" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4262, - "name": "IexecLib", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2893, - "src": "2445:8:17", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IexecLib_$2893_$", - "typeString": "type(library IexecLib)" - } - }, - "id": 4263, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "WorkOrderStatusEnum", - "nodeType": "MemberAccess", - "referencedDeclaration": 2832, - "src": "2445:28:17", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_WorkOrderStatusEnum_$2832_$", - "typeString": "type(enum IexecLib.WorkOrderStatusEnum)" - } - }, - "id": 4264, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "REVEALING", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2445:38:17", - "typeDescriptions": { - "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", - "typeString": "enum IexecLib.WorkOrderStatusEnum" - } - }, - "src": "2433:50:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 4260, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "2425:7:17", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 4266, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2425:59:17", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4267, - "nodeType": "ExpressionStatement", - "src": "2425:59:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 4272, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4268, - "name": "m_status", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4040, - "src": "2488:8:17", - "typeDescriptions": { - "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", - "typeString": "enum IexecLib.WorkOrderStatusEnum" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4269, - "name": "IexecLib", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2893, - "src": "2499:8:17", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IexecLib_$2893_$", - "typeString": "type(library IexecLib)" - } - }, - "id": 4270, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "WorkOrderStatusEnum", - "nodeType": "MemberAccess", - "referencedDeclaration": 2832, - "src": "2499:28:17", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_WorkOrderStatusEnum_$2832_$", - "typeString": "type(enum IexecLib.WorkOrderStatusEnum)" - } - }, - "id": 4271, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "COMPLETED", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2499:38:17", - "typeDescriptions": { - "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", - "typeString": "enum IexecLib.WorkOrderStatusEnum" - } - }, - "src": "2488:49:17", - "typeDescriptions": { - "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", - "typeString": "enum IexecLib.WorkOrderStatusEnum" - } - }, - "id": 4273, - "nodeType": "ExpressionStatement", - "src": "2488:49:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 4276, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4274, - "name": "m_stdout", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4062, - "src": "2541:8:17", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 4275, - "name": "_stdout", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4251, - "src": "2552:7:17", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "2541:18:17", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 4277, - "nodeType": "ExpressionStatement", - "src": "2541:18:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 4280, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4278, - "name": "m_stderr", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4064, - "src": "2563:8:17", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 4279, - "name": "_stderr", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4253, - "src": "2574:7:17", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "2563:18:17", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 4281, - "nodeType": "ExpressionStatement", - "src": "2563:18:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 4284, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4282, - "name": "m_uri", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4066, - "src": "2585:5:17", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 4283, - "name": "_uri", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4255, - "src": "2596:4:17", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "2585:15:17", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 4285, - "nodeType": "ExpressionStatement", - "src": "2585:15:17" - }, - { - "expression": { - "argumentTypes": null, - "id": 4292, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4286, - "name": "m_resultCallbackProof", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4060, - "src": "2604:21:17", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4288, - "name": "_stdout", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4251, - "src": "2637:7:17", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 4289, - "name": "_stderr", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4253, - "src": "2645:7:17", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 4290, - "name": "_uri", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4255, - "src": "2653:4:17", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 4287, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7002, - "src": "2627:9:17", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 4291, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2627:31:17", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "2604:54:17", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "id": 4293, - "nodeType": "ExpressionStatement", - "src": "2604:54:17" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 4294, - "name": "WorkOrderCompleted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4038, - "src": "2667:18:17", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$__$returns$__$", - "typeString": "function ()" - } - }, - "id": 4295, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2667:20:17", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4296, - "nodeType": "EmitStatement", - "src": "2662:25:17" - } - ] - }, - "documentation": null, - "id": 4298, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [], - "id": 4258, - "modifierName": { - "argumentTypes": null, - "id": 4257, - "name": "onlyIexecHub", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4079, - "src": "2407:12:17", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "2407:12:17" - } - ], - "name": "setResult", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4256, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4251, - "name": "_stdout", - "nodeType": "VariableDeclaration", - "scope": 4298, - "src": "2355:14:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - "typeName": { - "id": 4250, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2355:6:17", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4253, - "name": "_stderr", - "nodeType": "VariableDeclaration", - "scope": 4298, - "src": "2371:14:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - "typeName": { - "id": 4252, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2371:6:17", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4255, - "name": "_uri", - "nodeType": "VariableDeclaration", - "scope": 4298, - "src": "2387:11:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - "typeName": { - "id": 4254, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2387:6:17", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2354:45:17" - }, - "payable": false, - "returnParameters": { - "id": 4259, - "nodeType": "ParameterList", - "parameters": [], - "src": "2421:0:17" - }, - "scope": 4299, - "src": "2336:355:17", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 4300, - "src": "51:2643:17" - } - ], - "src": "0:2695:17" - }, - "compiler": { - "name": "solc", - "version": "0.4.21+commit.dfe3193c.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "2.0.0", - "updatedAt": "2018-05-20T20:12:33.561Z" -} diff --git a/build/contracts/WorkerPool.json b/build/contracts/WorkerPool.json deleted file mode 100644 index 042c4c29..00000000 --- a/build/contracts/WorkerPool.json +++ /dev/null @@ -1,48222 +0,0 @@ -{ - "contractName": "WorkerPool", - "abi": [ - { - "constant": true, - "inputs": [ - { - "name": "", - "type": "address" - } - ], - "name": "m_consensus", - "outputs": [ - { - "name": "poolReward", - "type": "uint256" - }, - { - "name": "stakeAmount", - "type": "uint256" - }, - { - "name": "consensus", - "type": "bytes32" - }, - { - "name": "revealDate", - "type": "uint256" - }, - { - "name": "revealCounter", - "type": "uint256" - }, - { - "name": "consensusTimeout", - "type": "uint256" - }, - { - "name": "winnerCount", - "type": "uint256" - }, - { - "name": "workerpoolOwner", - "type": "address" - }, - { - "name": "schedulerRewardRatioPolicy", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "", - "type": "uint256" - } - ], - "name": "m_workers", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "", - "type": "address" - } - ], - "name": "m_workerIndex", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "CONSENSUS_DURATION_RATIO", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "m_subscriptionMinimumStakePolicy", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "", - "type": "address" - }, - { - "name": "", - "type": "address" - } - ], - "name": "m_contributions", - "outputs": [ - { - "name": "status", - "type": "uint8" - }, - { - "name": "resultHash", - "type": "bytes32" - }, - { - "name": "resultSign", - "type": "bytes32" - }, - { - "name": "enclaveChallenge", - "type": "address" - }, - { - "name": "score", - "type": "uint256" - }, - { - "name": "weight", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "m_schedulerRewardRatioPolicy", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "m_description", - "outputs": [ - { - "name": "", - "type": "string" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "m_workerPoolHubAddress", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_newOwner", - "type": "address" - } - ], - "name": "setImmutableOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "m_stakeRatioPolicy", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "m_subscriptionMinimumScorePolicy", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "m_owner", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "m_changeable", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "m_subscriptionLockStakePolicy", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "REVEAL_PERIOD_DURATION_RATIO", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "name": "_iexecHubAddress", - "type": "address" - }, - { - "name": "_description", - "type": "string" - }, - { - "name": "_subscriptionLockStakePolicy", - "type": "uint256" - }, - { - "name": "_subscriptionMinimumStakePolicy", - "type": "uint256" - }, - { - "name": "_subscriptionMinimumScorePolicy", - "type": "uint256" - }, - { - "name": "_marketplaceAddress", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "oldStakeRatioPolicy", - "type": "uint256" - }, - { - "indexed": false, - "name": "newStakeRatioPolicy", - "type": "uint256" - }, - { - "indexed": false, - "name": "oldSchedulerRewardRatioPolicy", - "type": "uint256" - }, - { - "indexed": false, - "name": "newSchedulerRewardRatioPolicy", - "type": "uint256" - }, - { - "indexed": false, - "name": "oldSubscriptionMinimumStakePolicy", - "type": "uint256" - }, - { - "indexed": false, - "name": "newSubscriptionMinimumStakePolicy", - "type": "uint256" - }, - { - "indexed": false, - "name": "oldSubscriptionMinimumScorePolicy", - "type": "uint256" - }, - { - "indexed": false, - "name": "newSubscriptionMinimumScorePolicy", - "type": "uint256" - } - ], - "name": "WorkerPoolPolicyUpdate", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "woid", - "type": "address" - } - ], - "name": "WorkOrderActive", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "woid", - "type": "address" - } - ], - "name": "WorkOrderClaimed", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "woid", - "type": "address" - }, - { - "indexed": true, - "name": "worker", - "type": "address" - }, - { - "indexed": false, - "name": "workerScore", - "type": "uint256" - } - ], - "name": "AllowWorkerToContribute", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "woid", - "type": "address" - }, - { - "indexed": true, - "name": "worker", - "type": "address" - }, - { - "indexed": false, - "name": "resultHash", - "type": "bytes32" - } - ], - "name": "Contribute", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "woid", - "type": "address" - }, - { - "indexed": false, - "name": "consensus", - "type": "bytes32" - } - ], - "name": "RevealConsensus", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "woid", - "type": "address" - }, - { - "indexed": true, - "name": "worker", - "type": "address" - }, - { - "indexed": false, - "name": "result", - "type": "bytes32" - } - ], - "name": "Reveal", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "woid", - "type": "address" - } - ], - "name": "Reopen", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "woid", - "type": "address" - }, - { - "indexed": false, - "name": "stdout", - "type": "string" - }, - { - "indexed": false, - "name": "stderr", - "type": "string" - }, - { - "indexed": false, - "name": "uri", - "type": "string" - } - ], - "name": "FinalizeWork", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "worker", - "type": "address" - } - ], - "name": "WorkerSubscribe", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "worker", - "type": "address" - } - ], - "name": "WorkerUnsubscribe", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "worker", - "type": "address" - } - ], - "name": "WorkerEviction", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "constant": false, - "inputs": [ - { - "name": "_newStakeRatioPolicy", - "type": "uint256" - }, - { - "name": "_newSchedulerRewardRatioPolicy", - "type": "uint256" - }, - { - "name": "_newSubscriptionMinimumStakePolicy", - "type": "uint256" - }, - { - "name": "_newSubscriptionMinimumScorePolicy", - "type": "uint256" - } - ], - "name": "changeWorkerPoolPolicy", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_index", - "type": "uint256" - } - ], - "name": "getWorkerAddress", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_worker", - "type": "address" - } - ], - "name": "getWorkerIndex", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "getWorkersCount", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "subscribeToPool", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "unsubscribeFromPool", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_worker", - "type": "address" - } - ], - "name": "evictWorker", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_woid", - "type": "address" - } - ], - "name": "getConsensusDetails", - "outputs": [ - { - "name": "c_poolReward", - "type": "uint256" - }, - { - "name": "c_stakeAmount", - "type": "uint256" - }, - { - "name": "c_consensus", - "type": "bytes32" - }, - { - "name": "c_revealDate", - "type": "uint256" - }, - { - "name": "c_revealCounter", - "type": "uint256" - }, - { - "name": "c_consensusTimeout", - "type": "uint256" - }, - { - "name": "c_winnerCount", - "type": "uint256" - }, - { - "name": "c_workerpoolOwner", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_woid", - "type": "address" - } - ], - "name": "getContributorsCount", - "outputs": [ - { - "name": "contributorsCount", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_woid", - "type": "address" - }, - { - "name": "index", - "type": "uint256" - } - ], - "name": "getContributor", - "outputs": [ - { - "name": "contributor", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_woid", - "type": "address" - }, - { - "name": "_worker", - "type": "address" - } - ], - "name": "existingContribution", - "outputs": [ - { - "name": "contributionExist", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_woid", - "type": "address" - }, - { - "name": "_worker", - "type": "address" - } - ], - "name": "getContribution", - "outputs": [ - { - "name": "status", - "type": "uint8" - }, - { - "name": "resultHash", - "type": "bytes32" - }, - { - "name": "resultSign", - "type": "bytes32" - }, - { - "name": "enclaveChallenge", - "type": "address" - }, - { - "name": "score", - "type": "uint256" - }, - { - "name": "weight", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_woid", - "type": "address" - }, - { - "name": "_marketorderIdx", - "type": "uint256" - } - ], - "name": "emitWorkOrder", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_woid", - "type": "address" - } - ], - "name": "claimFailedConsensus", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_woid", - "type": "address" - }, - { - "name": "_workers", - "type": "address[]" - }, - { - "name": "_enclaveChallenge", - "type": "address" - } - ], - "name": "allowWorkersToContribute", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_woid", - "type": "address" - }, - { - "name": "_worker", - "type": "address" - }, - { - "name": "_enclaveChallenge", - "type": "address" - } - ], - "name": "allowWorkerToContribute", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_woid", - "type": "address" - }, - { - "name": "_resultHash", - "type": "bytes32" - }, - { - "name": "_resultSign", - "type": "bytes32" - }, - { - "name": "_v", - "type": "uint8" - }, - { - "name": "_r", - "type": "bytes32" - }, - { - "name": "_s", - "type": "bytes32" - } - ], - "name": "contribute", - "outputs": [ - { - "name": "workerStake", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_woid", - "type": "address" - }, - { - "name": "_consensus", - "type": "bytes32" - } - ], - "name": "revealConsensus", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_woid", - "type": "address" - }, - { - "name": "_result", - "type": "bytes32" - } - ], - "name": "reveal", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_woid", - "type": "address" - } - ], - "name": "reopen", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_woid", - "type": "address" - }, - { - "name": "_stdout", - "type": "string" - }, - { - "name": "_stderr", - "type": "string" - }, - { - "name": "_uri", - "type": "string" - } - ], - "name": "finalizeWork", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x606060405234156200001057600080fd5b604051620033a1380380620033a183398101604052808051919060200180518201919060200180519190602001805191906020018051919060200180516000805460a060020a60ff0219600160a060020a03338116600160a060020a031990931692909217167401000000000000000000000000000000000000000017909155909250829150879081161515620000a657600080fd5b60018054600160a060020a031916600160a060020a0392831617905581161515620000d057600080fd5b60028054600160a060020a03928316600160a060020a031991821681179092556003805490911690911790553281163390911614156200010f57600080fd5b6200012832640100000000620020476200017882021704565b60048580516200013d9291602001906200023c565b5050601e60055560016006556007929092556008556009555050600e8054600160a060020a03191633600160a060020a0316179055620002e1565b60005433600160a060020a039081169116146200019457600080fd5b60005474010000000000000000000000000000000000000000900460ff161515620001be57600080fd5b600160a060020a0381161515620001d457600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008054600160a060020a031916600160a060020a03929092169190911760a060020a60ff0219169055565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200027f57805160ff1916838001178555620002af565b82800160010185558215620002af579182015b82811115620002af57825182559160200191906001019062000292565b50620002bd929150620002c1565b5090565b620002de91905b80821115620002bd5760008155600101620002c8565b90565b6130b080620002f16000396000f3006060604052600436106101b35763ffffffff60e060020a600035041663031ee1c881146101b857806306021e7e146101fb5780630c6e29e3146102f2578063126eac431461030557806316ebf77d146103795780631f1e74061461039b5780632b8fd18a146104105780633ec6a4c41461044257806340f036051461046157806341cb01ad1461048657806345b99d28146104a55780635a628525146104b85780636ab6936a146104da5780637919233f146104ed5780637bd220bb1461050f5780637c60988514610534578063835436b41461059c57806387639c68146105bb57806389869163146105ce5780638d7db2f7146105ed578063900b7b6214610677578063b32ca9c51461068d578063bb7fb08b146106a0578063bbac78a9146106c2578063c6c5b072146106e3578063c6ced32b146106f6578063cc6f06a314610709578063dc988b401461071c578063deff41c114610747578063e21b9d081461075a578063e2d36ef51461076d578063e653ec6a14610780578063ec1847b614610793578063ef9cb474146107b2578063f20e56ec146107d1578063f4efa24c146107e4578063ff266d2614610852575b600080fd5b34156101c357600080fd5b6101e9600160a060020a036004351660243560443560ff6064351660843560a435610871565b60405190815260200160405180910390f35b341561020657600080fd5b6102de60048035600160a060020a03169060446024803590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528181529291906020840183838082843750949650610c4a95505050505050565b604051901515815260200160405180910390f35b34156102fd57600080fd5b6102de611168565b341561031057600080fd5b61032a600160a060020a0360043581169060243516611275565b6040518087600481111561033a57fe5b60ff168152602081019690965250604080860194909452600160a060020a039092166060850152608084015260a083015260c090910191505180910390f35b341561038457600080fd5b6102de600160a060020a03600435166024356112f1565b34156103a657600080fd5b6103ba600160a060020a036004351661166d565b60405198895260208901979097526040808901969096526060880194909452608087019290925260a086015260c0850152600160a060020a031660e0840152610100830191909152610120909101905180910390f35b341561041b57600080fd5b6104266004356116c1565b604051600160a060020a03909116815260200160405180910390f35b341561044d57600080fd5b6101e9600160a060020a03600435166116e9565b341561046c57600080fd5b6102de600160a060020a0360043581169060243516611707565b341561049157600080fd5b6101e9600160a060020a0360043516611747565b34156104b057600080fd5b6101e9611759565b34156104c357600080fd5b6102de600160a060020a036004351660243561175e565b34156104e557600080fd5b6101e96119b3565b34156104f857600080fd5b6102de600160a060020a03600435166024356119b9565b341561051a57600080fd5b61032a600160a060020a0360043581169060243516611bf1565b341561053f57600080fd5b6102de60048035600160a060020a031690604460248035908101908301358060208082020160405190810160405280939291908181526020018383602002808284375094965050509235600160a060020a03169250611c3f915050565b34156105a757600080fd5b6102de600160a060020a0360043516611ca8565b34156105c657600080fd5b6101e9611d88565b34156105d957600080fd5b6102de600160a060020a0360043516611d8e565b34156105f857600080fd5b610600611f2b565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561063c578082015183820152602001610624565b50505050905090810190601f1680156106695780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561068257600080fd5b610426600435611fc9565b341561069857600080fd5b610426611ff5565b34156106ab57600080fd5b610426600160a060020a0360043516602435612004565b34156106cd57600080fd5b6106e1600160a060020a0360043516612047565b005b34156106ee57600080fd5b6101e9612116565b341561070157600080fd5b6101e961211c565b341561071457600080fd5b6101e9612123565b341561072757600080fd5b6102de600160a060020a0360043581169060243581169060443516612129565b341561075257600080fd5b61042661238e565b341561076557600080fd5b6102de61239d565b341561077857600080fd5b6101e96123be565b341561078b57600080fd5b6102de6123c4565b341561079e57600080fd5b6101e9600160a060020a0360043516612489565b34156107bd57600080fd5b6106e16004356024356044356064356124d9565b34156107dc57600080fd5b6101e961258d565b34156107ef57600080fd5b610803600160a060020a0360043516612592565b60405197885260208801969096526040808801959095526060870193909352608086019190915260a085015260c0840152600160a060020a0390911660e0830152610100909101905180910390f35b341561085d57600080fd5b6102de600160a060020a03600435166125e4565b60015460009081908190600160a060020a03166332ca55878a60405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b15156108c857600080fd5b5af115156108d557600080fd5b5050506040518051905015156108ea57600080fd5b600160a060020a0389166000908152600c60205260409020600581015490925042111561091657600080fd5b600189600160a060020a031663e329c4786040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561095557600080fd5b5af1151561096257600080fd5b50505060405180519050600481111561097757fe5b1461098157600080fd5b50600160a060020a038089166000908152600d60209081526040808320339094168352929052208715156109b457600080fd5b8615156109c057600080fd5b6003810154600160a060020a031615610a8f57600188886040517f19457468657265756d205369676e6564204d6573736167653a0a3634000000008152601c810192909252603c820152605c0160405180910390208787876040516000815260200160405260405193845260ff9092166020808501919091526040808501929092526060840192909252608090920191516020810390808403906000865af11515610a6a57600080fd5b5050602060405103516003820154600160a060020a03908116911614610a8f57600080fd5b6001815460ff166004811115610aa157fe5b14610aab57600080fd5b805460ff19166002908117825560018083018a905590820188905554600160a060020a0316638c0f8e113360405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515610b1457600080fd5b5af11515610b2157600080fd5b505050604051805160048301555060078201805460018101610b43838261302f565b5060009182526020909120018054600160a060020a03191633600160a060020a03818116929092179092556001805490850154911691638981d077918c919060405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b1515610bd157600080fd5b5af11515610bde57600080fd5b505050604051805190501515610bf357600080fd5b33600160a060020a031689600160a060020a03167f1593a9a000265660fd299c9f8c9bbacfeb4d428861542e6c44b68615324225d48a60405190815260200160405180910390a35060010154979650505050505050565b60008054819033600160a060020a03908116911614610c6857600080fd5b600154600160a060020a03166332ca55878760405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515610cb857600080fd5b5af11515610cc557600080fd5b505050604051805190501515610cda57600080fd5b50600160a060020a0385166000908152600c602052604090206005810154421115610d0457600080fd5b42816003015411158015610d1c575060008160040154115b80610d2e575080600601548160040154145b1515610d3957600080fd5b610e1e8682610140604051908101604052908160008201548152602001600182015481526020016002820154600019166000191681526020016003820154815260200160048201548152602001600582015481526020016006820154815260200160078201805480602002602001604051908101604052809291908181526020018280548015610df257602002820191906000526020600020905b8154600160a060020a03168152600190910190602001808311610dd4575b50505091835250506008820154600160a060020a03166020820152600990910154604090910152612818565b1515610e2957600080fd5b600154600160a060020a031663b6b57ebd878787876040518563ffffffff1660e060020a0281526004018085600160a060020a0316600160a060020a03168152602001806020018060200180602001848103845287818151815260200191508051906020019080838360005b83811015610ead578082015183820152602001610e95565b50505050905090810190601f168015610eda5780820380516001836020036101000a031916815260200191505b50848103835286818151815260200191508051906020019080838360005b83811015610f10578082015183820152602001610ef8565b50505050905090810190601f168015610f3d5780820380516001836020036101000a031916815260200191505b50848103825285818151815260200191508051906020019080838360005b83811015610f73578082015183820152602001610f5b565b50505050905090810190601f168015610fa05780820380516001836020036101000a031916815260200191505b50975050505050505050602060405180830381600087803b1515610fc357600080fd5b5af11515610fd057600080fd5b505050604051805190501515610fe557600080fd5b85600160a060020a03167f4bfecaabd22e1b95e9aa9eb161b19f645b3460e7533d5e0f6349faf8dc0a724486868660405180806020018060200180602001848103845287818151815260200191508051906020019080838360005b83811015611058578082015183820152602001611040565b50505050905090810190601f1680156110855780820380516001836020036101000a031916815260200191505b50848103835286818151815260200191508051906020019080838360005b838110156110bb5780820151838201526020016110a3565b50505050905090810190601f1680156110e85780820380516001836020036101000a031916815260200191505b50848103825285818151815260200191508051906020019080838360005b8381101561111e578082015183820152602001611106565b50505050905090810190601f16801561114b5780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390a250600195945050505050565b6001546000908190600160a060020a031663b218cf153360405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b15156111bd57600080fd5b5af115156111ca57600080fd5b5050506040518051905015156111df57600080fd5b600a8054600181016111f1838261302f565b60009283526020909220018054600160a060020a03191633600160a060020a03161790559050611222816001612c92565b600160a060020a0333166000818152600b60205260409081902092909255907f67799bb3ec4a3491a0c1c4e6d02ec99927df7ba7fa268c216672c0c5ecc1e8f8905160405180910390a2600191505b5090565b600080600080600080600061128a8989611707565b151561129557600080fd5b50505050600160a060020a039485166000908152600d602090815260408083209688168352959052939093208054600182015460028301546003840154600485015460059095015460ff90941699929891975016945091925090565b6000805481908190819033600160a060020a0390811691161461131357600080fd5b600154600160a060020a03166332ca55878760405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151561136357600080fd5b5af1151561137057600080fd5b50505060405180519050151561138557600080fd5b600160a060020a0386166000908152600c6020526040902060058101549093504211156113b157600080fd5b85600160a060020a0316632d4d671f6040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156113ee57600080fd5b5af115156113fb57600080fd5b50505060405180519050151561141057600080fd5b60006006840181905591505b60078301548210156114dc576007830180548390811061143857fe5b6000918252602080832090910154600160a060020a038981168452600d8352604080852091909216808552925290912060010154909150851480156114b057506002600160a060020a038088166000908152600d602090815260408083209386168352929052205460ff1660048111156114ae57fe5b145b156114d15760068301546114cb90600163ffffffff612ca416565b60068401555b81600101915061141c565b6006830154600090116114ee57600080fd5b600280840186905560015460035461161f92429261161392600160a060020a0391821691631f87172691811690634cfddcfb908e1663ecc40f646040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561155657600080fd5b5af1151561156357600080fd5b5050506040518051905060405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b15156115a357600080fd5b5af115156115b057600080fd5b5050506040518051905060405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b15156115f057600080fd5b5af115156115fd57600080fd5b505050604051805191905063ffffffff612cbe16565b9063ffffffff612ca416565b6003840155600160a060020a0386167fa1b9f527f9799a46d54103401c99dc62f3744afe1d095a1c53620758dc38b2868660405190815260200160405180910390a250600195945050505050565b600c602052600090815260409020805460018201546002830154600384015460048501546005860154600687015460088801546009909801549697959694959394929391929091600160a060020a03169089565b600a8054829081106116cf57fe5b600091825260209091200154600160a060020a0316905081565b600160a060020a03166000908152600c602052604090206007015490565b600080600160a060020a038085166000908152600d602090815260408083209387168352929052205460ff16600481111561173e57fe5b14159392505050565b600b6020526000908152604090205481565b600a81565b60015460009081908190600160a060020a03166332ca55878660405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b15156117b557600080fd5b5af115156117c257600080fd5b5050506040518051905015156117d757600080fd5b600160a060020a0385166000908152600c60205260409020600581015490925042111561180357600080fd5b50600160a060020a038085166000908152600d6020908152604080832033909416835292905220600285600160a060020a031663e329c4786040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561186957600080fd5b5af1151561187657600080fd5b50505060405180519050600481111561188b57fe5b1461189557600080fd5b60038201544290116118a657600080fd5b6002815460ff1660048111156118b857fe5b146118c257600080fd5b60028201546001820154146118d657600080fd5b836040519081526020016040519081900390206001820154146118f857600080fd5b33604051600160a060020a03919091166c010000000000000000000000000281526014016040518091039020841860405190815260200160405190819003902060028201541461194757600080fd5b805460ff191660031781556004820154611962906001612ca4565b6004830155600160a060020a033381169086167f4f5df7005a83b6f11e90ead1268eb534656169a5034e8d239c763471294be3d58660405190815260200160405180910390a3506001949350505050565b60085481565b60015460009081908190819033600160a060020a039081169116146119dd57600080fd5b600354600160a060020a0316634cfddcfb8660405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b1515611a2557600080fd5b5af11515611a3257600080fd5b5050506040518051600154909450611a939150429061161390600a90600160a060020a0316631f8717268860405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b15156115f057600080fd5b600160a060020a038088166000908152600c60205260409081902060035493955093509116906338c4090b9087905160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b1515611af557600080fd5b5af11515611b0257600080fd5b5050506040518051825550600354600160a060020a03166355d66c3e8660405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b1515611b5557600080fd5b5af11515611b6257600080fd5b5050506040518051600883018054600160a060020a031916600160a060020a0392909216919091179055506005548154611b9b91612ce9565b6001820155600581018290556006546009820155600160a060020a0386167f9c081174ce28e85a62530b1102b0df58428b8da5027e81fbb4984aa1dc03310760405160405180910390a250600195945050505050565b600d60209081526000928352604080842090915290825290208054600182015460028301546003840154600485015460059095015460ff9094169492939192600160a060020a039091169186565b60008054819033600160a060020a03908116911614611c5d57600080fd5b5060005b8351811015611c9d57611c8a85858381518110611c7a57fe5b9060200190602002015185612129565b1515611c9557600080fd5b600101611c61565b506001949350505050565b6000805433600160a060020a03908116911614611cc457600080fd5b600154600160a060020a031663835436b48360405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515611d1457600080fd5b5af11515611d2157600080fd5b505050604051805190501515611d3657600080fd5b611d3f82612cfe565b1515611d4a57600080fd5b81600160a060020a03167fb22288215ec8cbd28148d7ffa053c6e6e23c62b58d0eb71a6387b59fad33a01960405160405180910390a2506001919050565b60065481565b60015460009081908190819033600160a060020a03908116911614611db257600080fd5b600160a060020a0385166000908152600c6020526040902060058101549093504211611ddd57600080fd5b600091505b6007830154821015611eea5760078301805483908110611dfe57fe5b600091825260209091200154600160a060020a031690506001600160a060020a038087166000908152600d602090815260408083209386168352929052205460ff166004811115611e4b57fe5b14611edf576001805490840154600160a060020a0390911690636b4f6865908790849060405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b1515611ebd57600080fd5b5af11515611eca57600080fd5b505050604051805190501515611edf57600080fd5b816001019150611de2565b84600160a060020a03167f8d8d47a5d5034ce9c01a2308543fdaa83d60863e4b735b7d57361987cdc8ed9460405160405180910390a2506001949350505050565b60048054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611fc15780601f10611f9657610100808354040283529160200191611fc1565b820191906000526020600020905b815481529060010190602001808311611fa457829003601f168201915b505050505081565b6000600a82815481101515611fda57fe5b600091825260209091200154600160a060020a031692915050565b600e54600160a060020a031681565b600160a060020a0382166000908152600c6020526040812060070180548390811061202b57fe5b600091825260209091200154600160a060020a03169392505050565b60005433600160a060020a0390811691161461206257600080fd5b60005474010000000000000000000000000000000000000000900460ff16151561208b57600080fd5b600160a060020a03811615156120a057600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008054600160a060020a031916600160a060020a03929092169190911774ff000000000000000000000000000000000000000019169055565b60055481565b600a545b90565b60095481565b60008054819081908190819033600160a060020a0390811691161461214d57600080fd5b600154600160a060020a03166332ca55878960405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151561219d57600080fd5b5af115156121aa57600080fd5b5050506040518051905015156121bf57600080fd5b600188600160a060020a031663e329c4786040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156121fe57600080fd5b5af1151561220b57600080fd5b50505060405180519050600481111561222057fe5b1461222a57600080fd5b600160a060020a038089166000818152600d60209081526040808320948c168352938152838220928252600c9052919091206005810154919550935042111561227257600080fd5b600154600160a060020a031663f69f190c8860405160e060020a63ffffffff8416028152600160a060020a0390911660048201526024016040805180830381600087803b15156122c157600080fd5b5af115156122ce57600080fd5b50505060405180519060200180519193509091505030600160a060020a03908116908316146122fc57600080fd5b6000845460ff16600481111561230e57fe5b1461231857600080fd5b835460ff19166001178455600384018054600160a060020a03888116600160a060020a0319909216919091179091558781169089167f9cade22a92ceb705fefd1c03e9ac4dbbf787cd493ec63a9f2b078cbc859c06298360405190815260200160405180910390a3506001979650505050505050565b600054600160a060020a031681565b60005474010000000000000000000000000000000000000000900460ff1681565b60075481565b600154600090600160a060020a0316631708d7253360405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151561241757600080fd5b5af1151561242457600080fd5b50505060405180519050151561243957600080fd5b61244233612cfe565b151561244d57600080fd5b33600160a060020a03167fd08d61a9c25ada3385d23554bae10e5d15c9518d4bfd27571c190558f7030f6e60405160405180910390a250600190565b600160a060020a0381166000818152600b6020526040812054600a805492939192839081106124b457fe5b600091825260209091200154600160a060020a0316146124d357600080fd5b92915050565b60005433600160a060020a039081169116146124f457600080fd5b7f52bb55d3097463659f724f9b420d259719787a8563b48eb82368680999bfea0760055485600654866008548760095488604051808981526020018881526020018781526020018681526020018581526020018481526020018381526020018281526020019850505050505050505060405180910390a1606483111561257957600080fd5b600593909355600691909155600855600955565b600281565b600160a060020a039081166000908152600c6020526040902080546001820154600283015460038401546004850154600586015460068701546008909701549598949793969295919490939190911690565b6000805481908190819033600160a060020a0390811691161461260657600080fd5b600154600160a060020a03166332ca55878660405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151561265657600080fd5b5af1151561266357600080fd5b50505060405180519050151561267857600080fd5b600160a060020a0385166000908152600c6020526040902060058101549093504211156126a457600080fd5b428360030154111580156126ba57506004830154155b15156126c557600080fd5b84600160a060020a0316631a514d976040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561270257600080fd5b5af1151561270f57600080fd5b50505060405180519050151561272457600080fd5b600091505b60078301548210156127c2576007830180548390811061274557fe5b60009182526020808320909101546002860154600160a060020a038981168552600d8452604080862091909316808652935292206001015490925014156127b757600160a060020a038581166000908152600d60209081526040808320938516835292905220805460ff191660041790555b816001019150612729565b600060068401819055600284018190556003840155600160a060020a0385167f631055693b4cbe13143279bc507432c42de858b6d04b3ba4e1ff3d2c88a7e52b60405160405180910390a2506001949350505050565b60008060008060008060008061282c613058565b6000808b5193508b60e001519250600099505b82518a101561292857828a8151811061285457fe5b90602001906020020151600160a060020a03808f166000908152600d6020908152604080832093851683529290522090995091506003825460ff16600481111561289a57fe5b1415612905576003820154600160a060020a031615156128bb5760016128be565b60035b60ff1697506128e26128dd898460040154612cbe90919063ffffffff16565b612de2565b60010196506128f7868863ffffffff612ca416565b60058301889055955061291d565b61291a8c60200151859063ffffffff612ca416565b93505b89600101995061283f565b6000861161293557600080fd5b61295c61294f8d610120015160649063ffffffff612c9216565b859063ffffffff612ce916565b9050600099505b82518a1015612bee57828a8151811061297857fe5b9060200190602002015198506003600160a060020a03808f166000908152600d60209081526040808320938e168352929052205460ff1660048111156129ba57fe5b1415612b4057600160a060020a03808e166000908152600d60209081526040808320938d16835292905220600501546129fb9082908863ffffffff612ffb16565b9450612a0d848663ffffffff612c9216565b9350600160009054906101000a9004600160a060020a0316600160a060020a0316636b4f68658e8b8f6020015160405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b1515612a8957600080fd5b5af11515612a9657600080fd5b505050604051805190501515612aab57600080fd5b60018054600160a060020a031690630c91f2d0908f908c90899060405160e060020a63ffffffff8716028152600160a060020a03948516600482015292909316602483015260448201529015156064820152608401602060405180830381600087803b1515612b1957600080fd5b5af11515612b2657600080fd5b505050604051805190501515612b3b57600080fd5b612be3565b600160009054906101000a9004600160a060020a0316600160a060020a0316639fdf96258e8b8f60200151600160405160e060020a63ffffffff8716028152600160a060020a03948516600482015292909316602483015260448201529015156064820152608401602060405180830381600087803b1515612bc157600080fd5b5af11515612bce57600080fd5b505050604051805190501515612be357600080fd5b896001019950612963565b600154600160a060020a0316630c91f2d08e6101008f015187600060405160e060020a63ffffffff8716028152600160a060020a03948516600482015292909316602483015260448201529015156064820152608401602060405180830381600087803b1515612c5d57600080fd5b5af11515612c6a57600080fd5b505050604051805190501515612c7f57600080fd5b5060019c9b505050505050505050505050565b600082821115612c9e57fe5b50900390565b600082820183811015612cb357fe5b8091505b5092915050565b600080831515612cd15760009150612cb7565b50828202828482811515612ce157fe5b0414612cb357fe5b6000612cf783836064612ffb565b9392505050565b6000806000612d0c84612489565b600a805491935090612d2590600163ffffffff612c9216565b81548110612d2f57fe5b600091825260209091200154600a8054600160a060020a039092169250829184908110612d5857fe5b60009182526020808320919091018054600160a060020a031916600160a060020a039485161790559183168152600b90915260409020829055600a8054612da0906001612c92565b81548110612daa57fe5b60009182526020909120018054600160a060020a0319169055600a54612dd790600163ffffffff612c9216565b611c9d600a8261302f565b700100000000000000000000000000000000680100000000000000006401000000006201000061010060106004600260001989019081041790810417908104179081041790810417908104179081041790810417600101906000906040517ff8f9cbfae6cc78fbefe7cdc3a1793dfcf4f0e8bbd8cec470b6a28a7a5a3e1efd81527ff5ecf1b3e9debc68e1d9cfabc5997135bfb7a7a3938b7b606b5b4b3f2f1f0ffe60208201527ff6e4ed9ff2d6b458eadcdf97bd91692de2d4da8fd2d0ac50c6ae9a827252361660408201527fc8c0b887b0a8a4489c948c7f847c6125746c645c544c444038302820181008ff60608201527ff7cae577eec2a03cf3bad76fb589591debb2dd67e0aa9834bea6925f6a4a2e0e60808201527fe39ed557db96902cd38ed14fad815115c786af479b7e8324736353433727170760a08201527fc976c13bb96e881cb166a933a55e490d9d56952b8d4e801485467d236242260660c08201527f753a6d1b65325d0c552a4d1345224105391a310b29122104190a11030902010060e082015261010081016040527e818283848586878898a8b8c8d8e8f929395969799a9b9d9e9faaeb6bedeeff7f01000000000000000000000000000000000000000000000000000000000000008082870204818160ff038501510495507f8000000000000000000000000000000000000000000000000000000000000000851161010002860195505050505050919050565b600061301061300a8585612cbe565b83613018565b949350505050565b600080828481151561302657fe5b04949350505050565b8154818355818115116130535760008381526020902061305391810190830161306a565b505050565b60206040519081016040526000815290565b61212091905b8082111561127157600081556001016130705600a165627a7a7230582065611159d17657b023295e8fc204391c05e93b9c80a240e60da82d1ef90187460029", - "deployedBytecode": "0x6060604052600436106101b35763ffffffff60e060020a600035041663031ee1c881146101b857806306021e7e146101fb5780630c6e29e3146102f2578063126eac431461030557806316ebf77d146103795780631f1e74061461039b5780632b8fd18a146104105780633ec6a4c41461044257806340f036051461046157806341cb01ad1461048657806345b99d28146104a55780635a628525146104b85780636ab6936a146104da5780637919233f146104ed5780637bd220bb1461050f5780637c60988514610534578063835436b41461059c57806387639c68146105bb57806389869163146105ce5780638d7db2f7146105ed578063900b7b6214610677578063b32ca9c51461068d578063bb7fb08b146106a0578063bbac78a9146106c2578063c6c5b072146106e3578063c6ced32b146106f6578063cc6f06a314610709578063dc988b401461071c578063deff41c114610747578063e21b9d081461075a578063e2d36ef51461076d578063e653ec6a14610780578063ec1847b614610793578063ef9cb474146107b2578063f20e56ec146107d1578063f4efa24c146107e4578063ff266d2614610852575b600080fd5b34156101c357600080fd5b6101e9600160a060020a036004351660243560443560ff6064351660843560a435610871565b60405190815260200160405180910390f35b341561020657600080fd5b6102de60048035600160a060020a03169060446024803590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528181529291906020840183838082843750949650610c4a95505050505050565b604051901515815260200160405180910390f35b34156102fd57600080fd5b6102de611168565b341561031057600080fd5b61032a600160a060020a0360043581169060243516611275565b6040518087600481111561033a57fe5b60ff168152602081019690965250604080860194909452600160a060020a039092166060850152608084015260a083015260c090910191505180910390f35b341561038457600080fd5b6102de600160a060020a03600435166024356112f1565b34156103a657600080fd5b6103ba600160a060020a036004351661166d565b60405198895260208901979097526040808901969096526060880194909452608087019290925260a086015260c0850152600160a060020a031660e0840152610100830191909152610120909101905180910390f35b341561041b57600080fd5b6104266004356116c1565b604051600160a060020a03909116815260200160405180910390f35b341561044d57600080fd5b6101e9600160a060020a03600435166116e9565b341561046c57600080fd5b6102de600160a060020a0360043581169060243516611707565b341561049157600080fd5b6101e9600160a060020a0360043516611747565b34156104b057600080fd5b6101e9611759565b34156104c357600080fd5b6102de600160a060020a036004351660243561175e565b34156104e557600080fd5b6101e96119b3565b34156104f857600080fd5b6102de600160a060020a03600435166024356119b9565b341561051a57600080fd5b61032a600160a060020a0360043581169060243516611bf1565b341561053f57600080fd5b6102de60048035600160a060020a031690604460248035908101908301358060208082020160405190810160405280939291908181526020018383602002808284375094965050509235600160a060020a03169250611c3f915050565b34156105a757600080fd5b6102de600160a060020a0360043516611ca8565b34156105c657600080fd5b6101e9611d88565b34156105d957600080fd5b6102de600160a060020a0360043516611d8e565b34156105f857600080fd5b610600611f2b565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561063c578082015183820152602001610624565b50505050905090810190601f1680156106695780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561068257600080fd5b610426600435611fc9565b341561069857600080fd5b610426611ff5565b34156106ab57600080fd5b610426600160a060020a0360043516602435612004565b34156106cd57600080fd5b6106e1600160a060020a0360043516612047565b005b34156106ee57600080fd5b6101e9612116565b341561070157600080fd5b6101e961211c565b341561071457600080fd5b6101e9612123565b341561072757600080fd5b6102de600160a060020a0360043581169060243581169060443516612129565b341561075257600080fd5b61042661238e565b341561076557600080fd5b6102de61239d565b341561077857600080fd5b6101e96123be565b341561078b57600080fd5b6102de6123c4565b341561079e57600080fd5b6101e9600160a060020a0360043516612489565b34156107bd57600080fd5b6106e16004356024356044356064356124d9565b34156107dc57600080fd5b6101e961258d565b34156107ef57600080fd5b610803600160a060020a0360043516612592565b60405197885260208801969096526040808801959095526060870193909352608086019190915260a085015260c0840152600160a060020a0390911660e0830152610100909101905180910390f35b341561085d57600080fd5b6102de600160a060020a03600435166125e4565b60015460009081908190600160a060020a03166332ca55878a60405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b15156108c857600080fd5b5af115156108d557600080fd5b5050506040518051905015156108ea57600080fd5b600160a060020a0389166000908152600c60205260409020600581015490925042111561091657600080fd5b600189600160a060020a031663e329c4786040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561095557600080fd5b5af1151561096257600080fd5b50505060405180519050600481111561097757fe5b1461098157600080fd5b50600160a060020a038089166000908152600d60209081526040808320339094168352929052208715156109b457600080fd5b8615156109c057600080fd5b6003810154600160a060020a031615610a8f57600188886040517f19457468657265756d205369676e6564204d6573736167653a0a3634000000008152601c810192909252603c820152605c0160405180910390208787876040516000815260200160405260405193845260ff9092166020808501919091526040808501929092526060840192909252608090920191516020810390808403906000865af11515610a6a57600080fd5b5050602060405103516003820154600160a060020a03908116911614610a8f57600080fd5b6001815460ff166004811115610aa157fe5b14610aab57600080fd5b805460ff19166002908117825560018083018a905590820188905554600160a060020a0316638c0f8e113360405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515610b1457600080fd5b5af11515610b2157600080fd5b505050604051805160048301555060078201805460018101610b43838261302f565b5060009182526020909120018054600160a060020a03191633600160a060020a03818116929092179092556001805490850154911691638981d077918c919060405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b1515610bd157600080fd5b5af11515610bde57600080fd5b505050604051805190501515610bf357600080fd5b33600160a060020a031689600160a060020a03167f1593a9a000265660fd299c9f8c9bbacfeb4d428861542e6c44b68615324225d48a60405190815260200160405180910390a35060010154979650505050505050565b60008054819033600160a060020a03908116911614610c6857600080fd5b600154600160a060020a03166332ca55878760405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515610cb857600080fd5b5af11515610cc557600080fd5b505050604051805190501515610cda57600080fd5b50600160a060020a0385166000908152600c602052604090206005810154421115610d0457600080fd5b42816003015411158015610d1c575060008160040154115b80610d2e575080600601548160040154145b1515610d3957600080fd5b610e1e8682610140604051908101604052908160008201548152602001600182015481526020016002820154600019166000191681526020016003820154815260200160048201548152602001600582015481526020016006820154815260200160078201805480602002602001604051908101604052809291908181526020018280548015610df257602002820191906000526020600020905b8154600160a060020a03168152600190910190602001808311610dd4575b50505091835250506008820154600160a060020a03166020820152600990910154604090910152612818565b1515610e2957600080fd5b600154600160a060020a031663b6b57ebd878787876040518563ffffffff1660e060020a0281526004018085600160a060020a0316600160a060020a03168152602001806020018060200180602001848103845287818151815260200191508051906020019080838360005b83811015610ead578082015183820152602001610e95565b50505050905090810190601f168015610eda5780820380516001836020036101000a031916815260200191505b50848103835286818151815260200191508051906020019080838360005b83811015610f10578082015183820152602001610ef8565b50505050905090810190601f168015610f3d5780820380516001836020036101000a031916815260200191505b50848103825285818151815260200191508051906020019080838360005b83811015610f73578082015183820152602001610f5b565b50505050905090810190601f168015610fa05780820380516001836020036101000a031916815260200191505b50975050505050505050602060405180830381600087803b1515610fc357600080fd5b5af11515610fd057600080fd5b505050604051805190501515610fe557600080fd5b85600160a060020a03167f4bfecaabd22e1b95e9aa9eb161b19f645b3460e7533d5e0f6349faf8dc0a724486868660405180806020018060200180602001848103845287818151815260200191508051906020019080838360005b83811015611058578082015183820152602001611040565b50505050905090810190601f1680156110855780820380516001836020036101000a031916815260200191505b50848103835286818151815260200191508051906020019080838360005b838110156110bb5780820151838201526020016110a3565b50505050905090810190601f1680156110e85780820380516001836020036101000a031916815260200191505b50848103825285818151815260200191508051906020019080838360005b8381101561111e578082015183820152602001611106565b50505050905090810190601f16801561114b5780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390a250600195945050505050565b6001546000908190600160a060020a031663b218cf153360405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b15156111bd57600080fd5b5af115156111ca57600080fd5b5050506040518051905015156111df57600080fd5b600a8054600181016111f1838261302f565b60009283526020909220018054600160a060020a03191633600160a060020a03161790559050611222816001612c92565b600160a060020a0333166000818152600b60205260409081902092909255907f67799bb3ec4a3491a0c1c4e6d02ec99927df7ba7fa268c216672c0c5ecc1e8f8905160405180910390a2600191505b5090565b600080600080600080600061128a8989611707565b151561129557600080fd5b50505050600160a060020a039485166000908152600d602090815260408083209688168352959052939093208054600182015460028301546003840154600485015460059095015460ff90941699929891975016945091925090565b6000805481908190819033600160a060020a0390811691161461131357600080fd5b600154600160a060020a03166332ca55878760405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151561136357600080fd5b5af1151561137057600080fd5b50505060405180519050151561138557600080fd5b600160a060020a0386166000908152600c6020526040902060058101549093504211156113b157600080fd5b85600160a060020a0316632d4d671f6040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156113ee57600080fd5b5af115156113fb57600080fd5b50505060405180519050151561141057600080fd5b60006006840181905591505b60078301548210156114dc576007830180548390811061143857fe5b6000918252602080832090910154600160a060020a038981168452600d8352604080852091909216808552925290912060010154909150851480156114b057506002600160a060020a038088166000908152600d602090815260408083209386168352929052205460ff1660048111156114ae57fe5b145b156114d15760068301546114cb90600163ffffffff612ca416565b60068401555b81600101915061141c565b6006830154600090116114ee57600080fd5b600280840186905560015460035461161f92429261161392600160a060020a0391821691631f87172691811690634cfddcfb908e1663ecc40f646040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561155657600080fd5b5af1151561156357600080fd5b5050506040518051905060405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b15156115a357600080fd5b5af115156115b057600080fd5b5050506040518051905060405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b15156115f057600080fd5b5af115156115fd57600080fd5b505050604051805191905063ffffffff612cbe16565b9063ffffffff612ca416565b6003840155600160a060020a0386167fa1b9f527f9799a46d54103401c99dc62f3744afe1d095a1c53620758dc38b2868660405190815260200160405180910390a250600195945050505050565b600c602052600090815260409020805460018201546002830154600384015460048501546005860154600687015460088801546009909801549697959694959394929391929091600160a060020a03169089565b600a8054829081106116cf57fe5b600091825260209091200154600160a060020a0316905081565b600160a060020a03166000908152600c602052604090206007015490565b600080600160a060020a038085166000908152600d602090815260408083209387168352929052205460ff16600481111561173e57fe5b14159392505050565b600b6020526000908152604090205481565b600a81565b60015460009081908190600160a060020a03166332ca55878660405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b15156117b557600080fd5b5af115156117c257600080fd5b5050506040518051905015156117d757600080fd5b600160a060020a0385166000908152600c60205260409020600581015490925042111561180357600080fd5b50600160a060020a038085166000908152600d6020908152604080832033909416835292905220600285600160a060020a031663e329c4786040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561186957600080fd5b5af1151561187657600080fd5b50505060405180519050600481111561188b57fe5b1461189557600080fd5b60038201544290116118a657600080fd5b6002815460ff1660048111156118b857fe5b146118c257600080fd5b60028201546001820154146118d657600080fd5b836040519081526020016040519081900390206001820154146118f857600080fd5b33604051600160a060020a03919091166c010000000000000000000000000281526014016040518091039020841860405190815260200160405190819003902060028201541461194757600080fd5b805460ff191660031781556004820154611962906001612ca4565b6004830155600160a060020a033381169086167f4f5df7005a83b6f11e90ead1268eb534656169a5034e8d239c763471294be3d58660405190815260200160405180910390a3506001949350505050565b60085481565b60015460009081908190819033600160a060020a039081169116146119dd57600080fd5b600354600160a060020a0316634cfddcfb8660405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b1515611a2557600080fd5b5af11515611a3257600080fd5b5050506040518051600154909450611a939150429061161390600a90600160a060020a0316631f8717268860405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b15156115f057600080fd5b600160a060020a038088166000908152600c60205260409081902060035493955093509116906338c4090b9087905160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b1515611af557600080fd5b5af11515611b0257600080fd5b5050506040518051825550600354600160a060020a03166355d66c3e8660405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b1515611b5557600080fd5b5af11515611b6257600080fd5b5050506040518051600883018054600160a060020a031916600160a060020a0392909216919091179055506005548154611b9b91612ce9565b6001820155600581018290556006546009820155600160a060020a0386167f9c081174ce28e85a62530b1102b0df58428b8da5027e81fbb4984aa1dc03310760405160405180910390a250600195945050505050565b600d60209081526000928352604080842090915290825290208054600182015460028301546003840154600485015460059095015460ff9094169492939192600160a060020a039091169186565b60008054819033600160a060020a03908116911614611c5d57600080fd5b5060005b8351811015611c9d57611c8a85858381518110611c7a57fe5b9060200190602002015185612129565b1515611c9557600080fd5b600101611c61565b506001949350505050565b6000805433600160a060020a03908116911614611cc457600080fd5b600154600160a060020a031663835436b48360405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515611d1457600080fd5b5af11515611d2157600080fd5b505050604051805190501515611d3657600080fd5b611d3f82612cfe565b1515611d4a57600080fd5b81600160a060020a03167fb22288215ec8cbd28148d7ffa053c6e6e23c62b58d0eb71a6387b59fad33a01960405160405180910390a2506001919050565b60065481565b60015460009081908190819033600160a060020a03908116911614611db257600080fd5b600160a060020a0385166000908152600c6020526040902060058101549093504211611ddd57600080fd5b600091505b6007830154821015611eea5760078301805483908110611dfe57fe5b600091825260209091200154600160a060020a031690506001600160a060020a038087166000908152600d602090815260408083209386168352929052205460ff166004811115611e4b57fe5b14611edf576001805490840154600160a060020a0390911690636b4f6865908790849060405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b1515611ebd57600080fd5b5af11515611eca57600080fd5b505050604051805190501515611edf57600080fd5b816001019150611de2565b84600160a060020a03167f8d8d47a5d5034ce9c01a2308543fdaa83d60863e4b735b7d57361987cdc8ed9460405160405180910390a2506001949350505050565b60048054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611fc15780601f10611f9657610100808354040283529160200191611fc1565b820191906000526020600020905b815481529060010190602001808311611fa457829003601f168201915b505050505081565b6000600a82815481101515611fda57fe5b600091825260209091200154600160a060020a031692915050565b600e54600160a060020a031681565b600160a060020a0382166000908152600c6020526040812060070180548390811061202b57fe5b600091825260209091200154600160a060020a03169392505050565b60005433600160a060020a0390811691161461206257600080fd5b60005474010000000000000000000000000000000000000000900460ff16151561208b57600080fd5b600160a060020a03811615156120a057600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008054600160a060020a031916600160a060020a03929092169190911774ff000000000000000000000000000000000000000019169055565b60055481565b600a545b90565b60095481565b60008054819081908190819033600160a060020a0390811691161461214d57600080fd5b600154600160a060020a03166332ca55878960405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151561219d57600080fd5b5af115156121aa57600080fd5b5050506040518051905015156121bf57600080fd5b600188600160a060020a031663e329c4786040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156121fe57600080fd5b5af1151561220b57600080fd5b50505060405180519050600481111561222057fe5b1461222a57600080fd5b600160a060020a038089166000818152600d60209081526040808320948c168352938152838220928252600c9052919091206005810154919550935042111561227257600080fd5b600154600160a060020a031663f69f190c8860405160e060020a63ffffffff8416028152600160a060020a0390911660048201526024016040805180830381600087803b15156122c157600080fd5b5af115156122ce57600080fd5b50505060405180519060200180519193509091505030600160a060020a03908116908316146122fc57600080fd5b6000845460ff16600481111561230e57fe5b1461231857600080fd5b835460ff19166001178455600384018054600160a060020a03888116600160a060020a0319909216919091179091558781169089167f9cade22a92ceb705fefd1c03e9ac4dbbf787cd493ec63a9f2b078cbc859c06298360405190815260200160405180910390a3506001979650505050505050565b600054600160a060020a031681565b60005474010000000000000000000000000000000000000000900460ff1681565b60075481565b600154600090600160a060020a0316631708d7253360405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151561241757600080fd5b5af1151561242457600080fd5b50505060405180519050151561243957600080fd5b61244233612cfe565b151561244d57600080fd5b33600160a060020a03167fd08d61a9c25ada3385d23554bae10e5d15c9518d4bfd27571c190558f7030f6e60405160405180910390a250600190565b600160a060020a0381166000818152600b6020526040812054600a805492939192839081106124b457fe5b600091825260209091200154600160a060020a0316146124d357600080fd5b92915050565b60005433600160a060020a039081169116146124f457600080fd5b7f52bb55d3097463659f724f9b420d259719787a8563b48eb82368680999bfea0760055485600654866008548760095488604051808981526020018881526020018781526020018681526020018581526020018481526020018381526020018281526020019850505050505050505060405180910390a1606483111561257957600080fd5b600593909355600691909155600855600955565b600281565b600160a060020a039081166000908152600c6020526040902080546001820154600283015460038401546004850154600586015460068701546008909701549598949793969295919490939190911690565b6000805481908190819033600160a060020a0390811691161461260657600080fd5b600154600160a060020a03166332ca55878660405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151561265657600080fd5b5af1151561266357600080fd5b50505060405180519050151561267857600080fd5b600160a060020a0385166000908152600c6020526040902060058101549093504211156126a457600080fd5b428360030154111580156126ba57506004830154155b15156126c557600080fd5b84600160a060020a0316631a514d976040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561270257600080fd5b5af1151561270f57600080fd5b50505060405180519050151561272457600080fd5b600091505b60078301548210156127c2576007830180548390811061274557fe5b60009182526020808320909101546002860154600160a060020a038981168552600d8452604080862091909316808652935292206001015490925014156127b757600160a060020a038581166000908152600d60209081526040808320938516835292905220805460ff191660041790555b816001019150612729565b600060068401819055600284018190556003840155600160a060020a0385167f631055693b4cbe13143279bc507432c42de858b6d04b3ba4e1ff3d2c88a7e52b60405160405180910390a2506001949350505050565b60008060008060008060008061282c613058565b6000808b5193508b60e001519250600099505b82518a101561292857828a8151811061285457fe5b90602001906020020151600160a060020a03808f166000908152600d6020908152604080832093851683529290522090995091506003825460ff16600481111561289a57fe5b1415612905576003820154600160a060020a031615156128bb5760016128be565b60035b60ff1697506128e26128dd898460040154612cbe90919063ffffffff16565b612de2565b60010196506128f7868863ffffffff612ca416565b60058301889055955061291d565b61291a8c60200151859063ffffffff612ca416565b93505b89600101995061283f565b6000861161293557600080fd5b61295c61294f8d610120015160649063ffffffff612c9216565b859063ffffffff612ce916565b9050600099505b82518a1015612bee57828a8151811061297857fe5b9060200190602002015198506003600160a060020a03808f166000908152600d60209081526040808320938e168352929052205460ff1660048111156129ba57fe5b1415612b4057600160a060020a03808e166000908152600d60209081526040808320938d16835292905220600501546129fb9082908863ffffffff612ffb16565b9450612a0d848663ffffffff612c9216565b9350600160009054906101000a9004600160a060020a0316600160a060020a0316636b4f68658e8b8f6020015160405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b1515612a8957600080fd5b5af11515612a9657600080fd5b505050604051805190501515612aab57600080fd5b60018054600160a060020a031690630c91f2d0908f908c90899060405160e060020a63ffffffff8716028152600160a060020a03948516600482015292909316602483015260448201529015156064820152608401602060405180830381600087803b1515612b1957600080fd5b5af11515612b2657600080fd5b505050604051805190501515612b3b57600080fd5b612be3565b600160009054906101000a9004600160a060020a0316600160a060020a0316639fdf96258e8b8f60200151600160405160e060020a63ffffffff8716028152600160a060020a03948516600482015292909316602483015260448201529015156064820152608401602060405180830381600087803b1515612bc157600080fd5b5af11515612bce57600080fd5b505050604051805190501515612be357600080fd5b896001019950612963565b600154600160a060020a0316630c91f2d08e6101008f015187600060405160e060020a63ffffffff8716028152600160a060020a03948516600482015292909316602483015260448201529015156064820152608401602060405180830381600087803b1515612c5d57600080fd5b5af11515612c6a57600080fd5b505050604051805190501515612c7f57600080fd5b5060019c9b505050505050505050505050565b600082821115612c9e57fe5b50900390565b600082820183811015612cb357fe5b8091505b5092915050565b600080831515612cd15760009150612cb7565b50828202828482811515612ce157fe5b0414612cb357fe5b6000612cf783836064612ffb565b9392505050565b6000806000612d0c84612489565b600a805491935090612d2590600163ffffffff612c9216565b81548110612d2f57fe5b600091825260209091200154600a8054600160a060020a039092169250829184908110612d5857fe5b60009182526020808320919091018054600160a060020a031916600160a060020a039485161790559183168152600b90915260409020829055600a8054612da0906001612c92565b81548110612daa57fe5b60009182526020909120018054600160a060020a0319169055600a54612dd790600163ffffffff612c9216565b611c9d600a8261302f565b700100000000000000000000000000000000680100000000000000006401000000006201000061010060106004600260001989019081041790810417908104179081041790810417908104179081041790810417600101906000906040517ff8f9cbfae6cc78fbefe7cdc3a1793dfcf4f0e8bbd8cec470b6a28a7a5a3e1efd81527ff5ecf1b3e9debc68e1d9cfabc5997135bfb7a7a3938b7b606b5b4b3f2f1f0ffe60208201527ff6e4ed9ff2d6b458eadcdf97bd91692de2d4da8fd2d0ac50c6ae9a827252361660408201527fc8c0b887b0a8a4489c948c7f847c6125746c645c544c444038302820181008ff60608201527ff7cae577eec2a03cf3bad76fb589591debb2dd67e0aa9834bea6925f6a4a2e0e60808201527fe39ed557db96902cd38ed14fad815115c786af479b7e8324736353433727170760a08201527fc976c13bb96e881cb166a933a55e490d9d56952b8d4e801485467d236242260660c08201527f753a6d1b65325d0c552a4d1345224105391a310b29122104190a11030902010060e082015261010081016040527e818283848586878898a8b8c8d8e8f929395969799a9b9d9e9faaeb6bedeeff7f01000000000000000000000000000000000000000000000000000000000000008082870204818160ff038501510495507f8000000000000000000000000000000000000000000000000000000000000000851161010002860195505050505050919050565b600061301061300a8585612cbe565b83613018565b949350505050565b600080828481151561302657fe5b04949350505050565b8154818355818115116130535760008381526020902061305391810190830161306a565b505050565b60206040519081016040526000815290565b61212091905b8082111561127157600081556001016130705600a165627a7a7230582065611159d17657b023295e8fc204391c05e93b9c80a240e60da82d1ef90187460029", - "sourceMap": "253:17693:18:-;;;2782:1041;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;667:7:14;:25;;-1:-1:-1;;;;;;;;;;;682:10:14;667:25;;-1:-1:-1;;;;;;667:25:14;;;;;;;696:19;;;;;;2782:1041:18;;-1:-1:-1;2782:1041:18;;-1:-1:-1;3030:16:18;;300:30:7;;;;292:39;;;;;;335:17;:55;;-1:-1:-1;;;;;;335:55:7;-1:-1:-1;;;;;335:55:7;;;;;;377:33:11;;;;369:42;;;;;;415:18;:42;;-1:-1:-1;;;;;415:42:11;;;-1:-1:-1;;;;;;415:42:11;;;;;;;;461:20;:64;;;;;;;;;;3169:9:18;:23;;3182:10;3169:23;;;;;3161:32;;;;;;3197;3219:9;3197:21;;;;;;:32;:::i;:::-;3257:13;3292:12;;3257:47;;;;;;;;:::i;:::-;-1:-1:-1;;3343:2:18;3308:18;:37;3422:1;3387:28;:36;3489:29;:63;;;;3633:32;:66;3703:32;:66;-1:-1:-1;;3773:22:18;:45;;-1:-1:-1;;;;;;3773:45:18;3808:10;-1:-1:-1;;;;;3773:45:18;;;;253:17693;;876:234:14;502:7;;488:10;-1:-1:-1;;;;;488:21:14;;;502:7;;488:21;480:30;;;;;;956:12;;;;;;;948:21;;;;;;;;-1:-1:-1;;;;;981:23:14;;;;973:32;;;;;;1035:7;;-1:-1:-1;;;;;1014:40:14;;;;1035:7;1014:40;;;;;;;;;;1058:7;:24;;-1:-1:-1;;;;;;1058:24:14;-1:-1:-1;;;;;1058:24:14;;;;;;;;-1:-1:-1;;;;;;1086:20:14;;;876:234::o;253:17693:18:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;253:17693:18;;;-1:-1:-1;253:17693:18;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;", - "deployedSourceMap": "253:17693:18:-;;;;;;;;-1:-1:-1;;;253:17693:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10616:1346;;;;;;;;;;;;-1:-1:-1;;;;;10616:1346:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15164:744;;;;;;;;;;;;;-1:-1:-1;;;;;15164:744:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;15164:744:18;;-1:-1:-1;15164:744:18;;-1:-1:-1;;;;;;15164:744:18;;;;;;;;;;;;;;;;;;5126:274;;;;;;;;;;;;7349:567;;;;;;;;;;-1:-1:-1;;;;;7349:567:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7349:567:18;;;;;;;;-1:-1:-1;;;;;7349:567:18;;;;;;;;;;;;-1:-1:-1;7349:567:18;;;;;;;;-1:-1:-1;7349:567:18;;;;;;11965:1174;;;;;;;;;;;;-1:-1:-1;;;;;11965:1174:18;;;;;1127:57;;;;;;;;;;;;-1:-1:-1;;;;;1127:57:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1127:57:18;;;;;;;;;;;;;;;;;;;;;;;988:44;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;988:44:18;;;;;;;;;;;;;;;6840:147;;;;;;;;;;;;-1:-1:-1;;;;;6840:147:18;;;7143:203;;;;;;;;;;-1:-1:-1;;;;;7143:203:18;;;;;;;;;;1035:48;;;;;;;;;;;;-1:-1:-1;;;;;1035:48:18;;;1388:58;;;;;;;;;;;;13142:1035;;;;;;;;;;;;-1:-1:-1;;;;;13142:1035:18;;;;;782:67;;;;;;;;;;;;7999:834;;;;;;;;;;;;-1:-1:-1;;;;;7999:834:18;;;;;1240:84;;;;;;;;;;-1:-1:-1;;;;;1240:84:18;;;;;;;;;;9376:294;;;;;;;;;;;;;-1:-1:-1;;;;;9376:294:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9376:294:18;;-1:-1:-1;;;9376:294:18;;-1:-1:-1;;;;;9376:294:18;;-1:-1:-1;9376:294:18;;-1:-1:-1;;9376:294:18;5641:235;;;;;;;;;;;;-1:-1:-1;;;;;5641:235:18;;;528:63;;;;;;;;;;;;8836:537;;;;;;;;;;;;-1:-1:-1;;;;;8836:537:18;;;383:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;383:48:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4763:102;;;;;;;;;;;;;;1499:45;;;;;;;;;;;;6990:150;;;;;;;;;;;;-1:-1:-1;;;;;6990:150:18;;;;;876:234:14;;;;;;;;;;;;-1:-1:-1;;;;;876:234:14;;;;;434:53:18;;;;;;;;;;;;5037:86;;;;;;;;;;;;885:67;;;;;;;;;;;;9673:940;;;;;;;;;;-1:-1:-1;;;;;9673:940:18;;;;;;;;;;;;;;;238:22:14;;;;;;;;;;;;263:27;;;;;;;;;;;;632:64:18;;;;;;;;;;;;5403:235;;;;;;;;;;;;4867:168;;;;;;;;;;;;-1:-1:-1;;;;;4867:168:18;;;3826:855;;;;;;;;;;;;;;;;;;;;1328:57;;;;;;;;;;;;6268:569;;;;;;;;;;;;-1:-1:-1;;;;;6268:569:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6268:569:18;;;;;;;;;;;;;;;;;;14180:879;;;;;;;;;;;;-1:-1:-1;;;;;14180:879:18;;;10616:1346;10777:17;;10743:19;;;;;;-1:-1:-1;;;;;10777:17:18;:33;10811:5;10777:40;;;;;-1:-1:-1;;;10777:40:18;;;-1:-1:-1;;;;;10777:40:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10769:49;;;;;;;;-1:-1:-1;;;;;10867:18:18;;;;;;:11;:18;;;;;10904:26;;;;10867:18;;-1:-1:-1;10897:3:18;:33;;10889:42;;;;;;10974:35;-1:-1:-1;;;;;10943:25:18;;;:27;;-1:-1:-1;;;10943:27:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:66;;;;;;;;;10935:75;;;;;;-1:-1:-1;;;;;;11115:22:18;;;;;;;:15;:22;;;;;;;;11138:10;11115:34;;;;;;;;;11189:18;;;11181:27;;;;;;11220:18;;;11212:27;;;;;;11247:29;;;;-1:-1:-1;;;;;11247:29:18;:43;11243:197;;11340:94;11396:11;11409;11350:71;;;;;;;;;;;;;;;;;;;;;;;;;11423:2;11427;11431;11340:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11307:29;;;;-1:-1:-1;;;;;11307:127:18;;;:29;;:127;11299:136;;;;;;11475:42;11452:19;;;;:65;;;;;;;;;11444:74;;;;;;11522:69;;-1:-1:-1;;11522:69:18;11548:43;11522:69;;;;;-1:-1:-1;11595:23:18;;;:37;;;11636:23;;;:37;;;11703:17;-1:-1:-1;;;;;11703:17:18;:32;11736:10;11703:44;;;;;-1:-1:-1;;;11703:44:18;;;-1:-1:-1;;;;;11703:44:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11677:18;;;:70;-1:-1:-1;11751:22:18;;;:39;;;;;;:22;:39;;:::i;:::-;-1:-1:-1;11751:39:18;;;;;;;;;;;-1:-1:-1;;;;;;11751:39:18;-1:-1:-1;;;;;11779:10:18;11751:39;;;;;;;;;;-1:-1:-1;11803:17:18;;11852:21;;;;11803:17;;;:29;;11833:5;;11803:71;;;;;-1:-1:-1;;;11803:71:18;;;-1:-1:-1;;;;;11803:71:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11795:80;;;;;;;;-1:-1:-1;;;;;11902:10:18;11884:42;;;;;;11914:11;11884:42;;;;;;;;;;;;;;-1:-1:-1;11937:21:18;;;;10616:1346;-1:-1:-1;;;;;;;10616:1346:18:o;15164:744::-;15289:4;502:7:14;;15289:4:18;;488:10:14;-1:-1:-1;;;;;488:21:14;;;502:7;;488:21;480:30;;;;;;15308:17:18;;-1:-1:-1;;;;;15308:17:18;:33;15342:5;15308:40;;;;;-1:-1:-1;;;15308:40:18;;;-1:-1:-1;;;;;15308:40:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15300:49;;;;;;;;-1:-1:-1;;;;;;15392:18:18;;;;;;:11;:18;;;;;15429:26;;;;15422:3;:33;;15414:42;;;;;;15493:3;15469:9;:20;;;:27;;:58;;;;;15526:1;15500:9;:23;;;:27;15469:58;15468:114;;;;15560:9;:21;;;15533:9;:23;;;:48;15468:114;15460:123;;;;;;;;15724:35;15742:5;15749:9;15724:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15724:35:18;;;-1:-1:-1;15724:35:18;;;;;;;;;;;;-1:-1:-1;;;15724:35:18;;;-1:-1:-1;;15724:35:18;;;;-1:-1:-1;;;;;15724:35:18;;;;;;;;;;;;;;;:17;:35::i;:::-;15716:44;;;;;;;;15773:17;;-1:-1:-1;;;;;15773:17:18;:35;15809:5;15816:7;15825;15834:4;15773:66;;-1:-1:-1;;;15773:66:18;;;;;;-1:-1:-1;;;;;15773:66:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;15773:66:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;15773:66:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;15773:66:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15765:75;;;;;;;;-1:-1:-1;;;;;15849:40:18;;;15868:7;15876;15884:4;15849:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;15849:40:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;15849:40:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;15849:40:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;15900:4:18;;15164:744;-1:-1:-1;;;;;15164:744:18:o;5126:274::-;5213:17;;5169:4;;;;-1:-1:-1;;;;;5213:17:18;:32;5246:10;5213:44;;;;;-1:-1:-1;;;5213:44:18;;;-1:-1:-1;;;;;5213:44:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5205:53;;;;;;;;5275:9;:26;;;;;;:9;:26;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;;;;;5275:26:18;-1:-1:-1;;;;;5290:10:18;5275:26;;;;;-1:-1:-1;5333:12:18;5275:26;-1:-1:-1;5333:9:18;:12::i;:::-;5319:10;-1:-1:-1;;;;;5305:25:18;;;;;:13;:25;;;;;;;:40;;;;:25;5354:27;;;;;;;;;;5392:4;5385:11;;5126:274;;;:::o;7349:567::-;7431:38;7473:18;7495;7517:24;7545:13;7562:14;7660:42;7591:36;7612:5;7619:7;7591:20;:36::i;:::-;7583:45;;;;;;;;-1:-1:-1;;;;;;;;;7705:22:18;;;;;;;:15;:22;;;;;;;;:31;;;;;;;;;;;;7752:19;;-1:-1:-1;7776:23:18;;;-1:-1:-1;7804:23:18;;;7832:29;;;;7866:18;;;;7889:19;;;;;7752;;;;;7776:23;;7804;;-1:-1:-1;7832:29:18;;-1:-1:-1;7866:18:18;;-1:-1:-1;7889:19:18;7349:567::o;11965:1174::-;12068:4;502:7:14;;12068:4:18;;;;;;488:10:14;-1:-1:-1;;;;;488:21:14;;;502:7;;488:21;480:30;;;;;;12087:17:18;;-1:-1:-1;;;;;12087:17:18;:33;12121:5;12087:40;;;;;-1:-1:-1;;;12087:40:18;;;-1:-1:-1;;;;;12087:40:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12079:49;;;;;;;;-1:-1:-1;;;;;12171:18:18;;;;;;:11;:18;;;;;12208:26;;;;12171:18;;-1:-1:-1;12201:3:18;:33;;12193:42;;;;;;-1:-1:-1;;;;;12247:36:18;;;:38;;-1:-1:-1;;;12247:38:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12239:47;;;;;;;;12315:1;12291:21;;;:25;;;12315:1;-1:-1:-1;12320:377:18;12342:22;;;:29;12340:31;;12320:377;;;12397:22;;;:25;;12420:1;;12397:25;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;12436:22:18;;;;;:15;:22;;;;;;12397:25;;;;12436;;;;;;;;-1:-1:-1;12436:36:18;;12397:25;;-1:-1:-1;12436:50:18;;:141;;;;-1:-1:-1;;;;;;12498:22:18;;;;;;;:15;:22;;;;;;;;:25;;;;;;;;;:32;12534:43;;12498:32;;:79;;;;;;;;;12436:141;12427:266;;;12659:21;;;;:28;;12685:1;12659:28;:25;:28;:::i;:::-;12635:21;;;:52;12427:266;12373:3;;;;;12320:377;;;12708:21;;;;12732:1;12708:25;;12700:34;;;;;;12811:19;;;;:33;;;12871:17;;12917:20;;12871:170;;13037:3;;12871:161;;-1:-1:-1;;;;;12871:17:18;;;;:45;;12917:20;;;:43;;12961:33;;;:35;;-1:-1:-1;;;12961:35:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12917:80;;;;;-1:-1:-1;;;12917:80:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12871:127;;;;;-1:-1:-1;;;12871:127:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:161;-1:-1:-1;12871:161:18;:131;:161;:::i;:::-;:165;:170;:165;:170;:::i;:::-;12848:20;;;:193;-1:-1:-1;;;;;13086:34:18;;;13109:10;13086:34;;;;;;;;;;;;;;-1:-1:-1;13131:4:18;;11965:1174;-1:-1:-1;;;;;11965:1174:18:o;1127:57::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1127:57:18;;;:::o;988:44::-;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;988:44:18;;-1:-1:-1;988:44:18;:::o;6840:147::-;-1:-1:-1;;;;;6945:18:18;6906:25;6945:18;;;:11;:18;;;;;:31;;:38;;6840:147::o;7143:203::-;-1:-1:-1;;;;;7263:22:18;;;7227;7263;;;:15;:22;;;;;;;;:31;;;;;;;;;;;:38;7227:22;;7263:38;;:79;;;;;;;;;;;7143:203;-1:-1:-1;;;7143:203:18:o;1035:48::-;;;;;;;;;;;;;:::o;1388:58::-;1444:2;1388:58;:::o;13142:1035::-;13225:17;;13206:4;;;;;;-1:-1:-1;;;;;13225:17:18;:33;13259:5;13225:40;;;;;-1:-1:-1;;;13225:40:18;;;-1:-1:-1;;;;;13225:40:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13217:49;;;;;;;;-1:-1:-1;;;;;13315:18:18;;;;;;:11;:18;;;;;13352:26;;;;13315:18;;-1:-1:-1;13345:3:18;:33;;13337:42;;;;;;-1:-1:-1;;;;;;13428:22:18;;;;;;;:15;:22;;;;;;;;13451:10;13428:34;;;;;;;;;;;;-1:-1:-1;;13428:22:18;13475:25;;:27;-1:-1:-1;;;13475:27:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:69;;;;;;;;;13467:83;;;;;;13562:20;;;;13593:3;13562:34;;13554:83;;;;;;13680:43;13649:19;;;;:74;;;;;;;;;13641:83;;;;;;13767:19;;;;13736:23;;;;:50;13728:83;;;;;;13864:7;13854:42;;;;;;;;;;;;;;;13823:23;;;;:73;13815:83;;;;;;13971:10;13961:21;;-1:-1:-1;;;;;13961:21:18;;;;;;;;;;;;;;;;;13951:7;:31;13941:42;;;;;;;;;;;;;;;13910:23;;;;:73;13902:83;;;;;;13990:64;;-1:-1:-1;;13990:64:18;14016:38;13990:64;;;14084:23;;;;:30;;13990:64;14084:27;:30::i;:::-;14058:23;;;:56;-1:-1:-1;;;;;14138:10:18;14124:34;;;;;;14150:7;14124:34;;;;;;;;;;;;;;-1:-1:-1;14169:4:18;;13142:1035;-1:-1:-1;;;;13142:1035:18:o;782:67::-;;;;:::o;7999:834::-;197:17:7;;8091:4:18;;;;;;;;175:10:7;-1:-1:-1;;;;;175:40:7;;;197:17;;175:40;167:49;;;;;;8120:20:18;;-1:-1:-1;;;;;8120:20:18;:43;8164:15;8120:60;;;;;-1:-1:-1;;;8120:60:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8202:17;;8120:60;;-1:-1:-1;8202:91:18;;-1:-1:-1;8289:3:18;;8202:82;;1444:2;;-1:-1:-1;;;;;8202:17:18;:45;8120:60;8202:52;;;;;-1:-1:-1;;;8202:52:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:91;-1:-1:-1;;;;;8337:18:18;;;;;;;:11;:18;;;;;;;8398:20;;8184:109;;-1:-1:-1;8337:18:18;-1:-1:-1;8398:20:18;;;:40;;8439:15;;8398:57;;;;-1:-1:-1;;;8398:57:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8359:96;;-1:-1:-1;8498:20:18;;-1:-1:-1;;;;;8498:20:18;:50;8549:15;8498:67;;;;;-1:-1:-1;;;8498:67:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8459:25;;;:106;;-1:-1:-1;;;;;;8459:106:18;-1:-1:-1;;;;;8459:106:18;;;;;;;;;;-1:-1:-1;8640:18:18;;8608:20;;:51;;:31;:51::i;:::-;8569:21;;;:90;8663:26;;;:47;;;8753:28;;8714:36;;;:67;-1:-1:-1;;;;;8791:22:18;;;;;;;;;;;;-1:-1:-1;8825:4:18;;7999:834;-1:-1:-1;;;;;7999:834:18:o;1240:84::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1240:84:18;;;;;:::o;9376:294::-;9515:4;502:7:14;;9515:4:18;;488:10:14;-1:-1:-1;;;;;488:21:14;;;502:7;;488:21;480:30;;;;;;-1:-1:-1;9540:1:18;9526:126;9547:8;:15;9543:1;:19;9526:126;;;9584:62;9608:5;9615:8;9624:1;9615:11;;;;;;;;;;;;;;;;9628:17;9584:23;:62::i;:::-;9576:71;;;;;;;;9564:3;;9526:126;;;-1:-1:-1;9662:4:18;;9376:294;-1:-1:-1;;;;9376:294:18:o;5641:235::-;5705:4;502:7:14;;488:10;-1:-1:-1;;;;;488:21:14;;;502:7;;488:21;480:30;;;;;;5752:17:18;;-1:-1:-1;;;;;5752:17:18;:29;5782:7;5752:38;;;;;-1:-1:-1;;;5752:38:18;;;-1:-1:-1;;;;;5752:38:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5744:47;;;;;;;;5803:21;5816:7;5803:12;:21::i;:::-;5795:30;;;;;;;;-1:-1:-1;;;;;5834:23:18;;;;;;;;;;;;-1:-1:-1;5868:4:18;5641:235;;;:::o;528:63::-;;;;:::o;8836:537::-;197:17:7;;8910:4:18;;;;;;;;175:10:7;-1:-1:-1;;;;;175:40:7;;;197:17;;175:40;167:49;;;;;;-1:-1:-1;;;;;8961:18:18;;;;;;:11;:18;;;;;8997:26;;;;8961:18;;-1:-1:-1;8991:3:18;:32;8983:41;;;;;;9063:1;9059:5;;9054:269;9070:22;;;:29;9066:33;;9054:269;;;9117:22;;;:25;;9140:1;;9117:25;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9151:22:18;;;;;:15;:22;;;;;;9117:25;;;;9151;;;;;;;;:32;9117:25;;-1:-1:-1;;;9151:32:18;;:78;;;;;;;;;9147:172;;9248:17;;;9290:21;;;;-1:-1:-1;;;;;9248:17:18;;;;:31;;9280:5;;9287:1;;9248:64;;;;;-1:-1:-1;;;9248:64:18;;;-1:-1:-1;;;;;9248:64:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9240:73;;;;;;;;9101:3;;;;;9054:269;;;-1:-1:-1;;;;;9331:23:18;;;;;;;;;;;;-1:-1:-1;9365:4:18;;8836:537;-1:-1:-1;;;;8836:537:18:o;383:48::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;4763:102::-;4823:7;4844:9;4854:6;4844:17;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4844:17:18;;;-1:-1:-1;;4763:102:18:o;1499:45::-;;;-1:-1:-1;;;;;1499:45:18;;:::o;6990:150::-;-1:-1:-1;;;;;7098:18:18;;7065:19;7098:18;;;:11;:18;;;;;:31;;:38;;7130:5;;7098:38;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7098:38:18;;;-1:-1:-1;;;6990:150:18:o;876:234:14:-;502:7;;488:10;-1:-1:-1;;;;;488:21:14;;;502:7;;488:21;480:30;;;;;;956:12;;;;;;;948:21;;;;;;;;-1:-1:-1;;;;;981:23:14;;;;973:32;;;;;;1035:7;;-1:-1:-1;;;;;1014:40:14;;;;1035:7;1014:40;;;;;;;;;;1058:7;:24;;-1:-1:-1;;;;;;1058:24:14;-1:-1:-1;;;;;1058:24:14;;;;;;;;-1:-1:-1;;1086:20:14;;;876:234::o;434:53:18:-;;;;:::o;5037:86::-;5103:9;:16;5037:86;;:::o;885:67::-;;;;:::o;9673:940::-;9808:4;502:7:14;;9808:4:18;;;;;;;;488:10:14;-1:-1:-1;;;;;488:21:14;;;502:7;;488:21;480:30;;;;;;9827:17:18;;-1:-1:-1;;;;;9827:17:18;:33;9861:5;9827:40;;;;;-1:-1:-1;;;9827:40:18;;;-1:-1:-1;;;;;9827:40:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9819:49;;;;;;;;9911:35;-1:-1:-1;;;;;9880:25:18;;;:27;;-1:-1:-1;;;9880:27:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:66;;;;;;;;;9872:75;;;;;;-1:-1:-1;;;;;9996:22:18;;;;;;;:15;:22;;;;;;;;:31;;;;;;;;;;;10076:18;;;:11;:18;;;;;;10113:26;;;;9996:31;;-1:-1:-1;10076:18:18;-1:-1:-1;10106:3:18;:33;;10098:42;;;;;;10218:17;;-1:-1:-1;;;;;10218:17:18;:33;10252:7;10218:42;;;;;-1:-1:-1;;;10218:42:18;;;-1:-1:-1;;;;;10218:42:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10190:70;;-1:-1:-1;10190:70:18;;-1:-1:-1;;10321:4:18;-1:-1:-1;;;;;10299:27:18;;;;;;;10291:36;;;;;;10363:37;10340:19;;;;:60;;;;;;;;;10332:69;;;;;;10405:74;;10437:42;-1:-1:-1;;10405:74:18;;;;;;10483:29;;;:49;;-1:-1:-1;;;;;;10483:49:18;-1:-1:-1;;;;;10483:49:18;;;;;;;;;;10542:52;;;;;;;10582:11;10542:52;;;;;;;;;;;;;;-1:-1:-1;10605:4:18;;9673:940;-1:-1:-1;;;;;;;9673:940:18:o;238:22:14:-;;;-1:-1:-1;;;;;238:22:14;;:::o;263:27::-;;;;;;;;;:::o;632:64:18:-;;;;:::o;5403:235::-;5495:17;;5451:4;;-1:-1:-1;;;;;5495:17:18;:36;5532:10;5495:48;;;;;-1:-1:-1;;;5495:48:18;;;-1:-1:-1;;;;;5495:48:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5487:57;;;;;;;;5556:24;5569:10;5556:12;:24::i;:::-;5548:33;;;;;;;;-1:-1:-1;;;;;5608:10:18;5590:29;;;;;;;;;;;-1:-1:-1;5630:4:18;5403:235;:::o;4867:168::-;-1:-1:-1;;;;;4953:22:18;;4929:4;4953:22;;;:13;:22;;;;;;4987:9;:16;;4929:4;;4953:22;;;;4987:16;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4987:16:18;:27;4979:36;;;;;;5026:5;4867:168;-1:-1:-1;;4867:168:18:o;3826:855::-;502:7:14;;488:10;-1:-1:-1;;;;;488:21:14;;;502:7;;488:21;480:30;;;;;;4053:300:18;4080:18;;4114:20;4139:28;;4173:30;4208:32;;4242:34;4281:32;;4315:34;4053:300;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4399:3;4365:37;;;4357:46;;;;;;4407:18;:55;;;;4466:28;:65;;;;4535:32;:69;4608:32;:69;3826:855::o;1328:57::-;1384:1;1328:57;:::o;6268:569::-;-1:-1:-1;;;;;6585:18:18;;;6336:20;6585:18;;;:11;:18;;;;;6619:20;;-1:-1:-1;6644:21:18;;;-1:-1:-1;6670:19:18;;;6694:20;;;;6719:23;;;;6747:26;;;;6778:21;;;;6804:25;;;;;6619:20;;6644:21;;6670:19;;6694:20;;6719:23;;6747:26;;6804:25;;;;;6268:569::o;14180:879::-;14254:4;502:7:14;;14254:4:18;;;;;;488:10:14;-1:-1:-1;;;;;488:21:14;;;502:7;;488:21;480:30;;;;;;14273:17:18;;-1:-1:-1;;;;;14273:17:18;:33;14307:5;14273:40;;;;;-1:-1:-1;;;14273:40:18;;;-1:-1:-1;;;;;14273:40:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14265:49;;;;;;;;-1:-1:-1;;;;;14357:18:18;;;;;;:11;:18;;;;;14394:26;;;;14357:18;;-1:-1:-1;14387:3:18;:33;;14379:42;;;;;;14457:3;14433:9;:20;;;:27;;:59;;;;-1:-1:-1;14464:23:18;;;;:28;14433:59;14425:68;;;;;;;;-1:-1:-1;;;;;14505:27:18;;;:29;;-1:-1:-1;;;14505:29:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14497:38;;;;;;;;14557:1;14545:13;;14540:268;14564:22;;;:29;14560:33;;14540:268;;;14619:22;;;:25;;14642:1;;14619:25;;;;;;;;;;;;;;;;;;;14693:19;;;;-1:-1:-1;;;;;14653:22:18;;;;;:15;:22;;;;;;14619:25;;;;14653;;;;;;;-1:-1:-1;14653:36:18;;14619:25;;-1:-1:-1;14653:59:18;14649:155;;;-1:-1:-1;;;;;14723:22:18;;;;;;;:15;:22;;;;;;;;:25;;;;;;;;;:75;;-1:-1:-1;;14723:75:18;14758:40;14723:75;;;14649:155;14595:3;;;;;14540:268;;;14957:1;14933:21;;;:25;;;14962:19;;;:27;;;14993:20;;;:25;-1:-1:-1;;;;;15027:13:18;;;;;;;;;;;;-1:-1:-1;15051:4:18;;14180:879;-1:-1:-1;;;;14180:879:18:o;15911:2032::-;16002:4;16013:9;16026;16039:19;16062:20;16086:19;16109:30;16143:19;16190:29;;:::i;:::-;16320:31;;16165:10;:21;16143:43;;16222:10;:23;;;16190:55;;16258:1;16254:5;;16249:632;16263:12;:19;16261:1;:21;16249:632;;;16300:12;16313:1;16300:15;;;;;;;;;;;;;;;;-1:-1:-1;;;;;16354:22:18;;;;;;;:15;:22;;;;;;;;:25;;;;;;;;;16388:8;;16354:25;;-1:-1:-1;16354:25:18;-1:-1:-1;16400:38:18;;16388:8;;:50;;;;;;;;;16384:493;;;16465:18;;;;-1:-1:-1;;;;;16465:18:18;:32;;16464:42;;16505:1;16464:42;;;16501:1;16464:42;16449:57;;;;16556:30;:24;16568:11;16556:1;:7;;;:11;;:24;;;;:::i;:::-;:28;:30::i;:::-;16552:1;:34;;-1:-1:-1;16607:29:18;:11;16552:34;16607:29;:15;:29;:::i;:::-;16642:8;;;:27;;;16592:44;-1:-1:-1;16384:493:18;;;16832:39;16848:10;:22;;;16832:11;;:39;:15;:39;:::i;:::-;16818:53;;16384:493;16284:3;;;;;16249:632;;;16906:1;16892:15;;16884:24;;;;;;16988:79;17011:55;17028:10;:37;;;17019:3;;17011:55;:16;:55;:::i;:::-;16988:11;;:79;:22;:79;:::i;:::-;16959:108;;17081:1;17077:5;;17072:703;17086:12;:19;17084:1;:21;17072:703;;;17123:12;17136:1;17123:15;;;;;;;;;;;;;;;;-1:-1:-1;;;;;17147:22:18;;;;;;;:15;:22;;;;;;;;:25;;;;;;;;;:32;17119:19;;-1:-1:-1;17183:38:18;;17147:32;;:74;;;;;;;;;17143:628;;;-1:-1:-1;;;;;17290:22:18;;;;;;;:15;:22;;;;;;;;:25;;;;;;;;;:32;;;17257:79;;:18;;17324:11;17257:32;:79::i;:::-;17232:104;-1:-1:-1;17357:39:18;:11;17232:104;17357:39;:15;:39;:::i;:::-;17342:54;;17410:17;;;;;;;;;-1:-1:-1;;;;;17410:17:18;-1:-1:-1;;;;;17410:31:18;;17442:5;17449:1;17452:10;:22;;;17410:65;;;;;-1:-1:-1;;;17410:65:18;;;-1:-1:-1;;;;;17410:65:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17402:74;;;;;;;;17490:17;;;-1:-1:-1;;;;;17490:17:18;;:31;;17522:5;;17529:1;;17532:22;;17490:71;;;;;-1:-1:-1;;;17490:71:18;;;-1:-1:-1;;;;;17490:71:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17482:80;;;;;;;;17143:628;;;17677:17;;;;;;;;;-1:-1:-1;;;;;17677:17:18;-1:-1:-1;;;;;17677:30:18;;17708:5;17715:1;17718:10;:22;;;17742:4;17677:70;;;;;-1:-1:-1;;;17677:70:18;;;-1:-1:-1;;;;;17677:70:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17669:79;;;;;;;;17107:3;;;;;17072:703;;;17836:17;;-1:-1:-1;;;;;17836:17:18;:31;17868:5;17836:17;17875:26;;;17903:11;17916:5;17836:86;;;;;-1:-1:-1;;;17836:86:18;;;-1:-1:-1;;;;;17836:86:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17828:95;;;;;;;;-1:-1:-1;17935:4:18;;15911:2032;-1:-1:-1;;;;;;;;;;;;15911:2032:18:o;531:106:15:-;589:7;610:6;;;;603:14;;;;-1:-1:-1;628:5:15;;;531:106::o;405:123::-;463:7;489:5;;;505:6;;;;498:14;;;;523:1;516:8;;405:123;;;;;;:::o;640:162::-;698:7;;716:6;;712:32;;;738:1;731:8;;;;712:32;-1:-1:-1;759:5:15;;;763:1;759;:5;775;;;;;;;;:10;768:18;;;1388:114;1453:7;1474:24;1488:1;1491;1494:3;1474:13;:24::i;:::-;1467:31;1388:114;-1:-1:-1;;;1388:114:15:o;5879:386:18:-;5936:4;5947:10;6021:18;5960:23;5975:7;5960:14;:23::i;:::-;6042:9;6052:16;;5947:36;;-1:-1:-1;6042:9:18;6052:23;;6073:1;6052:23;:20;:23;:::i;:::-;6042:34;;;;;;;;;;;;;;;;;;6080:9;:25;;-1:-1:-1;;;;;6042:34:18;;;;-1:-1:-1;6042:34:18;;6094:5;;6080:25;;;;;;;;;;;;;;;;;;:38;;-1:-1:-1;;;;;;6080:38:18;-1:-1:-1;;;;;6080:38:18;;;;;;6122:25;;;;;:13;:25;;;;;;:33;;;6166:9;6176:16;;:23;;-1:-1:-1;6176:20:18;:23::i;:::-;6166:34;;;;;;;;;;;;;;;;;6159:41;;-1:-1:-1;;;;;;6159:41:18;;;6223:9;:16;:23;;-1:-1:-1;6223:20:18;:23::i;:::-;6204:42;:9;:42;;:::i;1604:1539:15:-;1704:1;1950:35;1907:19;1872:11;1841:7;1812:5;1784:4;1756;1728;-1:-1:-1;;1698:8:15;;1721:12;;;1715:19;1749:12;;;1743:19;1777:12;;;1771:19;1805:13;;;1799:20;1834:15;;;1828:22;1865:19;;;1859:26;1900:27;;;1894:34;1943:43;;;1937:50;1996:9;;-1:-1:-1;;2024:4:15;2018:11;2053:66;2040:1;2033:87;2144:66;2137:4;2135:1;2131:11;2124:87;2235:66;2228:4;2226:1;2222:11;2215:87;2326:66;2319:4;2317:1;2313:11;2306:87;2417:66;2410:4;2408:1;2404:11;2397:87;2508:66;2501:4;2499:1;2495:11;2488:87;2599:66;2592:4;2590:1;2586:11;2579:87;2690:66;2683:4;2681:1;2677:11;2670:87;2781:5;2778:1;2774:13;2768:4;2761:27;2805:64;2886:65;2983:5;2975;2972:1;2968:13;2964:25;3028:5;3022:1;3018:3;3014:10;3012:1;3008:17;3002:24;2998:36;2993:41;;3067:66;3062:3;3059:75;3054:3;3050:85;3047:1;3043:93;3038:98;;1672:1468;;;;;;;;:::o;1264:121::-;1343:7;1364:17;1368:9;1372:1;1375;1368:3;:9::i;:::-;1379:1;1364:3;:17::i;:::-;1357:24;1264:121;-1:-1:-1;;;;1264:121:15:o;805:257::-;863:7;949:9;965:1;961;:5;;;;;;;;;805:257;-1:-1:-1;;;;805:257:15:o;253:17693:18:-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::o;:::-;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;", - "source": "pragma solidity ^0.4.21;\n\nimport './OwnableOZ.sol';\nimport './IexecHubAccessor.sol';\nimport './MarketplaceAccessor.sol';\nimport './IexecHub.sol';\nimport \"./SafeMathOZ.sol\";\nimport \"./WorkOrder.sol\";\nimport \"./Marketplace.sol\";\nimport './IexecLib.sol';\n\ncontract WorkerPool is OwnableOZ, IexecHubAccessor, MarketplaceAccessor\n{\n\tusing SafeMathOZ for uint256;\n\n\n\t/**\n\t * Members\n\t */\n\tstring public m_description;\n\tuint256 public m_stakeRatioPolicy; // % of reward to stake\n\tuint256 public m_schedulerRewardRatioPolicy; // % of reward given to scheduler\n\tuint256 public m_subscriptionLockStakePolicy; // Stake locked when in workerpool - Constant set by constructor, do not update\n\tuint256 public m_subscriptionMinimumStakePolicy; // Minimum stake for subscribing\n\tuint256 public m_subscriptionMinimumScorePolicy; // Minimum score for subscribing\n\taddress[] public m_workers;\n\tmapping(address => uint256) public m_workerIndex;\n\n\t// mapping(woid => IexecLib.Consensus)\n\tmapping(address => IexecLib.Consensus) public m_consensus;\n\t// mapping(woid => worker address => Contribution);\n\tmapping(address => mapping(address => IexecLib.Contribution)) public m_contributions;\n\n\tuint256 public constant REVEAL_PERIOD_DURATION_RATIO = 2;\n\tuint256 public constant CONSENSUS_DURATION_RATIO = 10;\n\n\t/**\n\t * Address of slave/related contracts\n\t */\n\taddress public m_workerPoolHubAddress;\n\n\n\t/**\n\t * Events\n\t */\n\tevent WorkerPoolPolicyUpdate(\n\t\tuint256 oldStakeRatioPolicy, uint256 newStakeRatioPolicy,\n\t\tuint256 oldSchedulerRewardRatioPolicy, uint256 newSchedulerRewardRatioPolicy,\n\t\tuint256 oldSubscriptionMinimumStakePolicy, uint256 newSubscriptionMinimumStakePolicy,\n\t\tuint256 oldSubscriptionMinimumScorePolicy, uint256 newSubscriptionMinimumScorePolicy);\n\n\tevent WorkOrderActive (address indexed woid);\n\tevent WorkOrderClaimed (address indexed woid);\n\n\tevent AllowWorkerToContribute (address indexed woid, address indexed worker, uint256 workerScore);\n\tevent Contribute (address indexed woid, address indexed worker, bytes32 resultHash);\n\tevent RevealConsensus (address indexed woid, bytes32 consensus);\n\tevent Reveal (address indexed woid, address indexed worker, bytes32 result);\n\tevent Reopen (address indexed woid);\n event FinalizeWork (address indexed woid, string stdout, string stderr, string uri);\n\n\n\n\tevent WorkerSubscribe (address indexed worker);\n\tevent WorkerUnsubscribe (address indexed worker);\n\tevent WorkerEviction (address indexed worker);\n\n\t/**\n\t * Methods\n\t */\n\t// Constructor\n\tfunction WorkerPool(\n\t\taddress _iexecHubAddress,\n\t\tstring _description,\n\t\tuint256 _subscriptionLockStakePolicy,\n\t\tuint256 _subscriptionMinimumStakePolicy,\n\t\tuint256 _subscriptionMinimumScorePolicy,\n\t\taddress _marketplaceAddress)\n\tIexecHubAccessor(_iexecHubAddress)\n\tMarketplaceAccessor(_marketplaceAddress)\n\tpublic\n\t{\n\t\t// tx.origin == owner\n\t\t// msg.sender == WorkerPoolHub\n\t\trequire(tx.origin != msg.sender);\n\t\tsetImmutableOwnership(tx.origin); // owner → tx.origin\n\n\t\tm_description = _description;\n\t\tm_stakeRatioPolicy = 30; // % of the work order price to stake\n\t\tm_schedulerRewardRatioPolicy = 1; // % of the work reward going to scheduler vs workers reward\n\t\tm_subscriptionLockStakePolicy = _subscriptionLockStakePolicy; // only at creation. cannot be change to respect lock/unlock of worker stake\n\t\tm_subscriptionMinimumStakePolicy = _subscriptionMinimumStakePolicy;\n\t\tm_subscriptionMinimumScorePolicy = _subscriptionMinimumScorePolicy;\n\t\tm_workerPoolHubAddress = msg.sender;\n\n\t}\n\n\tfunction changeWorkerPoolPolicy(\n\t\tuint256 _newStakeRatioPolicy,\n\t\tuint256 _newSchedulerRewardRatioPolicy,\n\t\tuint256 _newSubscriptionMinimumStakePolicy,\n\t\tuint256 _newSubscriptionMinimumScorePolicy)\n\tpublic onlyOwner\n\t{\n\t\temit WorkerPoolPolicyUpdate(\n\t\t\tm_stakeRatioPolicy, _newStakeRatioPolicy,\n\t\t\tm_schedulerRewardRatioPolicy, _newSchedulerRewardRatioPolicy,\n\t\t\tm_subscriptionMinimumStakePolicy, _newSubscriptionMinimumStakePolicy,\n\t\t\tm_subscriptionMinimumScorePolicy, _newSubscriptionMinimumScorePolicy\n\t\t);\n\t\trequire(_newSchedulerRewardRatioPolicy <= 100);\n\t\tm_stakeRatioPolicy = _newStakeRatioPolicy;\n\t\tm_schedulerRewardRatioPolicy = _newSchedulerRewardRatioPolicy;\n\t\tm_subscriptionMinimumStakePolicy = _newSubscriptionMinimumStakePolicy;\n\t\tm_subscriptionMinimumScorePolicy = _newSubscriptionMinimumScorePolicy;\n\t}\n\n\t/************************* worker list management **************************/\n\tfunction getWorkerAddress(uint _index) public view returns (address)\n\t{\n\t\treturn m_workers[_index];\n\t}\n\tfunction getWorkerIndex(address _worker) public view returns (uint)\n\t{\n\t\tuint index = m_workerIndex[_worker];\n\t\trequire(m_workers[index] == _worker);\n\t\treturn index;\n\t}\n\tfunction getWorkersCount() public view returns (uint)\n\t{\n\t\treturn m_workers.length;\n\t}\n\n\tfunction subscribeToPool() public returns (bool)\n\t{\n\t\t// msg.sender = worker\n\t\trequire(iexecHubInterface.registerToPool(msg.sender));\n\t\tuint index = m_workers.push(msg.sender);\n\t\tm_workerIndex[msg.sender] = index.sub(1);\n\t\temit WorkerSubscribe(msg.sender);\n\t\treturn true;\n\t}\n\n\tfunction unsubscribeFromPool() public returns (bool)\n\t{\n\t\t// msg.sender = worker\n\t\trequire(iexecHubInterface.unregisterFromPool(msg.sender));\n\t\trequire(removeWorker(msg.sender));\n\t\temit WorkerUnsubscribe(msg.sender);\n\t\treturn true;\n\t}\n\n\tfunction evictWorker(address _worker) public onlyOwner returns (bool)\n\t{\n\t\t// msg.sender = scheduler\n\t\trequire(iexecHubInterface.evictWorker(_worker));\n\t\trequire(removeWorker(_worker));\n\t\temit WorkerEviction(_worker);\n\t\treturn true;\n\t}\n\n\tfunction removeWorker(address _worker) internal returns (bool)\n\t{\n\t\tuint index = getWorkerIndex(_worker); // fails if worker not registered\n\t\taddress lastWorker = m_workers[m_workers.length.sub(1)];\n\t\tm_workers [index ] = lastWorker;\n\t\tm_workerIndex[lastWorker] = index;\n\t\tdelete m_workers[m_workers.length.sub(1)];\n\t\tm_workers.length = m_workers.length.sub(1);\n\t\treturn true;\n\t}\n\n\tfunction getConsensusDetails(address _woid) public view returns (\n\t\tuint256 c_poolReward,\n\t\tuint256 c_stakeAmount,\n\t\tbytes32 c_consensus,\n\t\tuint256 c_revealDate,\n\t\tuint256 c_revealCounter,\n\t\tuint256 c_consensusTimeout,\n\t\tuint256 c_winnerCount,\n\t\taddress c_workerpoolOwner)\n\t{\n\t\tIexecLib.Consensus storage consensus = m_consensus[_woid];\n\t\treturn (\n\t\t\tconsensus.poolReward,\n\t\t\tconsensus.stakeAmount,\n\t\t\tconsensus.consensus,\n\t\t\tconsensus.revealDate,\n\t\t\tconsensus.revealCounter,\n\t\t\tconsensus.consensusTimeout,\n\t\t\tconsensus.winnerCount,\n\t\t\tconsensus.workerpoolOwner\n\t\t);\n\t}\n\n\tfunction getContributorsCount(address _woid) public view returns (uint256 contributorsCount)\n\t{\n\t\treturn m_consensus[_woid].contributors.length;\n\t}\n\n\tfunction getContributor(address _woid, uint256 index) public view returns (address contributor)\n\t{\n\t\treturn m_consensus[_woid].contributors[index];\n\t}\n\n\tfunction existingContribution(address _woid, address _worker) public view returns (bool contributionExist)\n\t{\n\t\treturn m_contributions[_woid][_worker].status != IexecLib.ContributionStatusEnum.UNSET;\n\t}\n\n\tfunction getContribution(address _woid, address _worker) public view returns\n\t(\n\t\tIexecLib.ContributionStatusEnum status,\n\t\tbytes32 resultHash,\n\t\tbytes32 resultSign,\n\t\taddress enclaveChallenge,\n\t\tuint256 score,\n\t\tuint256 weight)\n\t{\n\t\trequire(existingContribution(_woid, _worker)); // no silent value returned\n\t\tIexecLib.Contribution storage contribution = m_contributions[_woid][_worker];\n\t\treturn (\n\t\t\tcontribution.status,\n\t\t\tcontribution.resultHash,\n\t\t\tcontribution.resultSign,\n\t\t\tcontribution.enclaveChallenge,\n\t\t\tcontribution.score,\n\t\t\tcontribution.weight\n\t\t);\n\t}\n\n\n\t/**************************** Works management *****************************/\n\tfunction emitWorkOrder(address _woid, uint256 _marketorderIdx) public onlyIexecHub returns (bool)\n\t{\n\t\tuint256 catid = marketplaceInterface.getMarketOrderCategory(_marketorderIdx);\n\t\tuint256 timeout = iexecHubInterface.getCategoryWorkClockTimeRef(catid).mul(CONSENSUS_DURATION_RATIO).add(now);\n\n\t\tIexecLib.Consensus storage consensus = m_consensus[_woid];\n\t\tconsensus.poolReward = marketplaceInterface.getMarketOrderValue(_marketorderIdx);\n\t\tconsensus.workerpoolOwner = marketplaceInterface.getMarketOrderWorkerpoolOwner(_marketorderIdx);\n\t\tconsensus.stakeAmount = consensus.poolReward.percentage(m_stakeRatioPolicy);\n\t\tconsensus.consensusTimeout = timeout;\n\t\tconsensus.schedulerRewardRatioPolicy = m_schedulerRewardRatioPolicy;\n\n\t\temit WorkOrderActive(_woid);\n\n\t\treturn true;\n\t}\n\n\tfunction claimFailedConsensus(address _woid) public onlyIexecHub returns (bool)\n\t{\n\t IexecLib.Consensus storage consensus = m_consensus[_woid];\n\t\trequire(now > consensus.consensusTimeout);\n\t\tuint256 i;\n\t\taddress w;\n\t\tfor (i = 0; i < consensus.contributors.length; ++i)\n\t\t{\n\t\t\tw = consensus.contributors[i];\n\t\t\tif (m_contributions[_woid][w].status != IexecLib.ContributionStatusEnum.AUTHORIZED)\n\t\t\t{\n\t\t\t\trequire(iexecHubInterface.unlockForWork(_woid, w, consensus.stakeAmount));\n\t\t\t}\n\t\t}\n\t\temit WorkOrderClaimed(_woid);\n\t\treturn true;\n\t}\n\n\tfunction allowWorkersToContribute(address _woid, address[] _workers, address _enclaveChallenge) public onlyOwner /*onlySheduler*/ returns (bool)\n\t{\n\t\tfor (uint i = 0; i < _workers.length; ++i)\n\t\t{\n\t\t\trequire(allowWorkerToContribute(_woid, _workers[i], _enclaveChallenge));\n\t\t}\n\t\treturn true;\n\t}\n\n\tfunction allowWorkerToContribute(address _woid, address _worker, address _enclaveChallenge) public onlyOwner /*onlySheduler*/ returns (bool)\n\t{\n\t\trequire(iexecHubInterface.isWoidRegistred(_woid));\n\t\trequire(WorkOrder(_woid).m_status() == IexecLib.WorkOrderStatusEnum.ACTIVE);\n\t\tIexecLib.Contribution storage contribution = m_contributions[_woid][_worker];\n\t\tIexecLib.Consensus storage consensus = m_consensus[_woid];\n\t\trequire(now <= consensus.consensusTimeout);\n\n\t\taddress workerPool;\n\t\tuint256 workerScore;\n\t\t(workerPool, workerScore) = iexecHubInterface.getWorkerStatus(_worker); // workerPool, workerScore\n\t\trequire(workerPool == address(this));\n\n\t\trequire(contribution.status == IexecLib.ContributionStatusEnum.UNSET);\n\t\tcontribution.status = IexecLib.ContributionStatusEnum.AUTHORIZED;\n\t\tcontribution.enclaveChallenge = _enclaveChallenge;\n\n\t\temit AllowWorkerToContribute(_woid, _worker, workerScore);\n\t\treturn true;\n\t}\n\n\tfunction contribute(address _woid, bytes32 _resultHash, bytes32 _resultSign, uint8 _v, bytes32 _r, bytes32 _s) public returns (uint256 workerStake)\n\t{\n\t\trequire(iexecHubInterface.isWoidRegistred(_woid));\n\t\tIexecLib.Consensus storage consensus = m_consensus[_woid];\n\t\trequire(now <= consensus.consensusTimeout);\n\t\trequire(WorkOrder(_woid).m_status() == IexecLib.WorkOrderStatusEnum.ACTIVE); // can't contribute on a claimed or completed workorder\n\t\tIexecLib.Contribution storage contribution = m_contributions[_woid][msg.sender];\n\n\t\t// msg.sender = a worker\n\t\trequire(_resultHash != 0x0);\n\t\trequire(_resultSign != 0x0);\n\t\tif (contribution.enclaveChallenge != address(0))\n\t\t{\n\t\t\trequire(contribution.enclaveChallenge == ecrecover(keccak256(\"\\x19Ethereum Signed Message:\\n64\", _resultHash, _resultSign), _v, _r, _s));\n\t\t}\n\n\t\trequire(contribution.status == IexecLib.ContributionStatusEnum.AUTHORIZED);\n\t\tcontribution.status = IexecLib.ContributionStatusEnum.CONTRIBUTED;\n\t\tcontribution.resultHash = _resultHash;\n\t\tcontribution.resultSign = _resultSign;\n\t\tcontribution.score = iexecHubInterface.getWorkerScore(msg.sender);\n\t\tconsensus.contributors.push(msg.sender);\n\n\t\trequire(iexecHubInterface.lockForWork(_woid, msg.sender, consensus.stakeAmount));\n\t\temit Contribute(_woid, msg.sender, _resultHash);\n\t\treturn consensus.stakeAmount;\n\t}\n\n\tfunction revealConsensus(address _woid, bytes32 _consensus) public onlyOwner /*onlySheduler*/ returns (bool)\n\t{\n\t\trequire(iexecHubInterface.isWoidRegistred(_woid));\n\t\tIexecLib.Consensus storage consensus = m_consensus[_woid];\n\t\trequire(now <= consensus.consensusTimeout);\n\t\trequire(WorkOrder(_woid).startRevealingPhase());\n\n\t\tconsensus.winnerCount = 0;\n\t\tfor (uint256 i = 0; i 0); // you cannot revealConsensus if no worker has contributed to this hash\n\n\t\tconsensus.consensus = _consensus;\n\t\tconsensus.revealDate = iexecHubInterface.getCategoryWorkClockTimeRef(marketplaceInterface.getMarketOrderCategory(WorkOrder(_woid).m_marketorderIdx())).mul(REVEAL_PERIOD_DURATION_RATIO).add(now); // is it better to store th catid ?\n\t\temit RevealConsensus(_woid, _consensus);\n\t\treturn true;\n\t}\n\n\tfunction reveal(address _woid, bytes32 _result) public returns (bool)\n\t{\n\t\trequire(iexecHubInterface.isWoidRegistred(_woid));\n\t\tIexecLib.Consensus storage consensus = m_consensus[_woid];\n\t\trequire(now <= consensus.consensusTimeout);\n\t\tIexecLib.Contribution storage contribution = m_contributions[_woid][msg.sender];\n\n\t\trequire(WorkOrder(_woid).m_status() == IexecLib.WorkOrderStatusEnum.REVEALING );\n\t\trequire(consensus.revealDate > now );\n\t\trequire(contribution.status == IexecLib.ContributionStatusEnum.CONTRIBUTED);\n\t\trequire(contribution.resultHash == consensus.consensus );\n\t\trequire(contribution.resultHash == keccak256(_result ) );\n\t\trequire(contribution.resultSign == keccak256(_result ^ keccak256(msg.sender)) );\n\n\t\tcontribution.status = IexecLib.ContributionStatusEnum.PROVED;\n\t\tconsensus.revealCounter = consensus.revealCounter.add(1);\n\n\t\temit Reveal(_woid, msg.sender, _result);\n\t\treturn true;\n\t}\n\n\tfunction reopen(address _woid) public onlyOwner /*onlySheduler*/ returns (bool)\n\t{\n\t\trequire(iexecHubInterface.isWoidRegistred(_woid));\n\t\tIexecLib.Consensus storage consensus = m_consensus[_woid];\n\t\trequire(now <= consensus.consensusTimeout);\n\t\trequire(consensus.revealDate <= now && consensus.revealCounter == 0);\n\t\trequire(WorkOrder(_woid).reActivate());\n\n\t\tfor (uint256 i = 0; i < consensus.contributors.length; ++i)\n\t\t{\n\t\t\taddress w = consensus.contributors[i];\n\t\t\tif (m_contributions[_woid][w].resultHash == consensus.consensus)\n\t\t\t{\n\t\t\t\tm_contributions[_woid][w].status = IexecLib.ContributionStatusEnum.REJECTED;\n\t\t\t}\n\t\t}\n\t\t// Reset to status before revealConsensus. Must be after REJECTED traitement above because of consensus.consensus check\n\t\tconsensus.winnerCount = 0;\n\t\tconsensus.consensus = 0x0;\n\t\tconsensus.revealDate = 0;\n\t\temit Reopen(_woid);\n\t\treturn true;\n\t}\n\n\t// if sheduler never call finalized ? no incetive to do that. schedulermust be pay also at this time\n\tfunction finalizeWork(address _woid, string _stdout, string _stderr, string _uri) public onlyOwner /*onlySheduler*/ returns (bool)\n\t{\n\t\trequire(iexecHubInterface.isWoidRegistred(_woid));\n\t\tIexecLib.Consensus storage consensus = m_consensus[_woid];\n\t\trequire(now <= consensus.consensusTimeout);\n\t\trequire((consensus.revealDate <= now && consensus.revealCounter > 0) || (consensus.revealCounter == consensus.winnerCount)); // consensus.winnerCount never 0 at this step\n\n\t\t// add penalized to the call worker to contribution and they never contribute ?\n\t\trequire(distributeRewards(_woid, consensus));\n\n\t\trequire(iexecHubInterface.finalizeWorkOrder(_woid, _stdout, _stderr, _uri));\n\t\temit FinalizeWork(_woid,_stdout,_stderr,_uri);\n\t\treturn true;\n\t}\n\n\tfunction distributeRewards(address _woid, IexecLib.Consensus _consensus) internal returns (bool)\n\t{\n\t\tuint256 i;\n\t\taddress w;\n\t\tuint256 workerBonus;\n\t\tuint256 workerWeight;\n\t\tuint256 totalWeight;\n\t\tuint256 individualWorkerReward;\n\t\tuint256 totalReward = _consensus.poolReward;\n\t\taddress[] memory contributors = _consensus.contributors;\n\t\tfor (i = 0; i 0);\n\n\t\t// compute how much is going to the workers\n\t\tuint256 totalWorkersReward = totalReward.percentage(uint256(100).sub(_consensus.schedulerRewardRatioPolicy));\n\n\t\tfor (i = 0; i uint256)" - }, - "typeName": { - "id": 4336, - "keyType": { - "id": 4334, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1043:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1035:27:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 4335, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1054:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 4341, - "name": "m_consensus", - "nodeType": "VariableDeclaration", - "scope": 6097, - "src": "1127:57:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Consensus_$2854_storage_$", - "typeString": "mapping(address => struct IexecLib.Consensus storage ref)" - }, - "typeName": { - "id": 4340, - "keyType": { - "id": 4338, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1135:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1127:38:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Consensus_$2854_storage_$", - "typeString": "mapping(address => struct IexecLib.Consensus storage ref)" - }, - "valueType": { - "contractScope": null, - "id": 4339, - "name": "IexecLib.Consensus", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2854, - "src": "1146:18:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 4347, - "name": "m_contributions", - "nodeType": "VariableDeclaration", - "scope": 6097, - "src": "1240:84:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_Contribution_$2873_storage_$_$", - "typeString": "mapping(address => mapping(address => struct IexecLib.Contribution storage ref))" - }, - "typeName": { - "id": 4346, - "keyType": { - "id": 4342, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1248:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1240:61:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_Contribution_$2873_storage_$_$", - "typeString": "mapping(address => mapping(address => struct IexecLib.Contribution storage ref))" - }, - "valueType": { - "id": 4345, - "keyType": { - "id": 4343, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1267:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1259:41:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Contribution_$2873_storage_$", - "typeString": "mapping(address => struct IexecLib.Contribution storage ref)" - }, - "valueType": { - "contractScope": null, - "id": 4344, - "name": "IexecLib.Contribution", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2873, - "src": "1278:21:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", - "typeString": "struct IexecLib.Contribution storage pointer" - } - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": true, - "id": 4350, - "name": "REVEAL_PERIOD_DURATION_RATIO", - "nodeType": "VariableDeclaration", - "scope": 6097, - "src": "1328:57:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4348, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1328:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "32", - "id": 4349, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1384:1:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 4353, - "name": "CONSENSUS_DURATION_RATIO", - "nodeType": "VariableDeclaration", - "scope": 6097, - "src": "1388:58:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4351, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1388:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "3130", - "id": 4352, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1444:2:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "visibility": "public" - }, - { - "constant": false, - "id": 4355, - "name": "m_workerPoolHubAddress", - "nodeType": "VariableDeclaration", - "scope": 6097, - "src": "1499:45:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4354, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1499:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "anonymous": false, - "documentation": "Events", - "id": 4373, - "name": "WorkerPoolPolicyUpdate", - "nodeType": "EventDefinition", - "parameters": { - "id": 4372, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4357, - "indexed": false, - "name": "oldStakeRatioPolicy", - "nodeType": "VariableDeclaration", - "scope": 4373, - "src": "1602:27:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4356, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1602:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4359, - "indexed": false, - "name": "newStakeRatioPolicy", - "nodeType": "VariableDeclaration", - "scope": 4373, - "src": "1645:27:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4358, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1645:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4361, - "indexed": false, - "name": "oldSchedulerRewardRatioPolicy", - "nodeType": "VariableDeclaration", - "scope": 4373, - "src": "1676:37:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4360, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1676:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4363, - "indexed": false, - "name": "newSchedulerRewardRatioPolicy", - "nodeType": "VariableDeclaration", - "scope": 4373, - "src": "1719:37:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4362, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1719:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4365, - "indexed": false, - "name": "oldSubscriptionMinimumStakePolicy", - "nodeType": "VariableDeclaration", - "scope": 4373, - "src": "1760:41:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4364, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1760:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4367, - "indexed": false, - "name": "newSubscriptionMinimumStakePolicy", - "nodeType": "VariableDeclaration", - "scope": 4373, - "src": "1803:41:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4366, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1803:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4369, - "indexed": false, - "name": "oldSubscriptionMinimumScorePolicy", - "nodeType": "VariableDeclaration", - "scope": 4373, - "src": "1848:41:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4368, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1848:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4371, - "indexed": false, - "name": "newSubscriptionMinimumScorePolicy", - "nodeType": "VariableDeclaration", - "scope": 4373, - "src": "1891:41:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4370, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1891:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1598:335:18" - }, - "src": "1570:364:18" - }, - { - "anonymous": false, - "documentation": null, - "id": 4377, - "name": "WorkOrderActive", - "nodeType": "EventDefinition", - "parameters": { - "id": 4376, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4375, - "indexed": true, - "name": "woid", - "nodeType": "VariableDeclaration", - "scope": 4377, - "src": "1968:20:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4374, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1968:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1967:22:18" - }, - "src": "1937:53:18" - }, - { - "anonymous": false, - "documentation": null, - "id": 4381, - "name": "WorkOrderClaimed", - "nodeType": "EventDefinition", - "parameters": { - "id": 4380, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4379, - "indexed": true, - "name": "woid", - "nodeType": "VariableDeclaration", - "scope": 4381, - "src": "2023:20:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4378, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2023:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2022:22:18" - }, - "src": "1992:53:18" - }, - { - "anonymous": false, - "documentation": null, - "id": 4389, - "name": "AllowWorkerToContribute", - "nodeType": "EventDefinition", - "parameters": { - "id": 4388, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4383, - "indexed": true, - "name": "woid", - "nodeType": "VariableDeclaration", - "scope": 4389, - "src": "2079:20:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4382, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2079:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4385, - "indexed": true, - "name": "worker", - "nodeType": "VariableDeclaration", - "scope": 4389, - "src": "2101:22:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4384, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2101:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4387, - "indexed": false, - "name": "workerScore", - "nodeType": "VariableDeclaration", - "scope": 4389, - "src": "2125:19:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4386, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2125:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2078:67:18" - }, - "src": "2048:98:18" - }, - { - "anonymous": false, - "documentation": null, - "id": 4397, - "name": "Contribute", - "nodeType": "EventDefinition", - "parameters": { - "id": 4396, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4391, - "indexed": true, - "name": "woid", - "nodeType": "VariableDeclaration", - "scope": 4397, - "src": "2179:20:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4390, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2179:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4393, - "indexed": true, - "name": "worker", - "nodeType": "VariableDeclaration", - "scope": 4397, - "src": "2201:22:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4392, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2201:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4395, - "indexed": false, - "name": "resultHash", - "nodeType": "VariableDeclaration", - "scope": 4397, - "src": "2225:18:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4394, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2225:7:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2178:66:18" - }, - "src": "2148:97:18" - }, - { - "anonymous": false, - "documentation": null, - "id": 4403, - "name": "RevealConsensus", - "nodeType": "EventDefinition", - "parameters": { - "id": 4402, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4399, - "indexed": true, - "name": "woid", - "nodeType": "VariableDeclaration", - "scope": 4403, - "src": "2278:20:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4398, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2278:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4401, - "indexed": false, - "name": "consensus", - "nodeType": "VariableDeclaration", - "scope": 4403, - "src": "2300:17:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4400, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2300:7:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2277:41:18" - }, - "src": "2247:72:18" - }, - { - "anonymous": false, - "documentation": null, - "id": 4411, - "name": "Reveal", - "nodeType": "EventDefinition", - "parameters": { - "id": 4410, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4405, - "indexed": true, - "name": "woid", - "nodeType": "VariableDeclaration", - "scope": 4411, - "src": "2352:20:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4404, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2352:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4407, - "indexed": true, - "name": "worker", - "nodeType": "VariableDeclaration", - "scope": 4411, - "src": "2374:22:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4406, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2374:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4409, - "indexed": false, - "name": "result", - "nodeType": "VariableDeclaration", - "scope": 4411, - "src": "2398:14:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4408, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2398:7:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2351:62:18" - }, - "src": "2321:93:18" - }, - { - "anonymous": false, - "documentation": null, - "id": 4415, - "name": "Reopen", - "nodeType": "EventDefinition", - "parameters": { - "id": 4414, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4413, - "indexed": true, - "name": "woid", - "nodeType": "VariableDeclaration", - "scope": 4415, - "src": "2447:20:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4412, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2447:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2446:22:18" - }, - "src": "2416:53:18" - }, - { - "anonymous": false, - "documentation": null, - "id": 4425, - "name": "FinalizeWork", - "nodeType": "EventDefinition", - "parameters": { - "id": 4424, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4417, - "indexed": true, - "name": "woid", - "nodeType": "VariableDeclaration", - "scope": 4425, - "src": "2503:20:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4416, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2503:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4419, - "indexed": false, - "name": "stdout", - "nodeType": "VariableDeclaration", - "scope": 4425, - "src": "2525:13:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - "typeName": { - "id": 4418, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2525:6:18", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4421, - "indexed": false, - "name": "stderr", - "nodeType": "VariableDeclaration", - "scope": 4425, - "src": "2540:13:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - "typeName": { - "id": 4420, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2540:6:18", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4423, - "indexed": false, - "name": "uri", - "nodeType": "VariableDeclaration", - "scope": 4425, - "src": "2555:10:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - "typeName": { - "id": 4422, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2555:6:18", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2502:64:18" - }, - "src": "2472:95:18" - }, - { - "anonymous": false, - "documentation": null, - "id": 4429, - "name": "WorkerSubscribe", - "nodeType": "EventDefinition", - "parameters": { - "id": 4428, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4427, - "indexed": true, - "name": "worker", - "nodeType": "VariableDeclaration", - "scope": 4429, - "src": "2603:22:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4426, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2603:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2602:24:18" - }, - "src": "2572:55:18" - }, - { - "anonymous": false, - "documentation": null, - "id": 4433, - "name": "WorkerUnsubscribe", - "nodeType": "EventDefinition", - "parameters": { - "id": 4432, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4431, - "indexed": true, - "name": "worker", - "nodeType": "VariableDeclaration", - "scope": 4433, - "src": "2660:22:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4430, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2660:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2659:24:18" - }, - "src": "2629:55:18" - }, - { - "anonymous": false, - "documentation": null, - "id": 4437, - "name": "WorkerEviction", - "nodeType": "EventDefinition", - "parameters": { - "id": 4436, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4435, - "indexed": true, - "name": "worker", - "nodeType": "VariableDeclaration", - "scope": 4437, - "src": "2717:22:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4434, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2717:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2716:24:18" - }, - "src": "2686:55:18" - }, - { - "body": { - "id": 4500, - "nodeType": "Block", - "src": "3099:724:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 4463, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4459, - "name": "tx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7018, - "src": "3169:2:18", - "typeDescriptions": { - "typeIdentifier": "t_magic_transaction", - "typeString": "tx" - } - }, - "id": 4460, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "origin", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3169:9:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4461, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "3182:3:18", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4462, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3182:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "3169:23:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 4458, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "3161:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 4464, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3161:32:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4465, - "nodeType": "ExpressionStatement", - "src": "3161:32:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4467, - "name": "tx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7018, - "src": "3219:2:18", - "typeDescriptions": { - "typeIdentifier": "t_magic_transaction", - "typeString": "tx" - } - }, - "id": 4468, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "origin", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3219:9:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 4466, - "name": "setImmutableOwnership", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3746, - "src": "3197:21:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 4469, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3197:32:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4470, - "nodeType": "ExpressionStatement", - "src": "3197:32:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 4473, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4471, - "name": "m_description", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4320, - "src": "3257:13:18", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 4472, - "name": "_description", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4441, - "src": "3292:12:18", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "3257:47:18", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 4474, - "nodeType": "ExpressionStatement", - "src": "3257:47:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 4477, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4475, - "name": "m_stakeRatioPolicy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4322, - "src": "3308:18:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "3330", - "id": 4476, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3343:2:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_30_by_1", - "typeString": "int_const 30" - }, - "value": "30" - }, - "src": "3308:37:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4478, - "nodeType": "ExpressionStatement", - "src": "3308:37:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 4481, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4479, - "name": "m_schedulerRewardRatioPolicy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4324, - "src": "3387:28:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "31", - "id": 4480, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3422:1:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "3387:36:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4482, - "nodeType": "ExpressionStatement", - "src": "3387:36:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 4485, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4483, - "name": "m_subscriptionLockStakePolicy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4326, - "src": "3489:29:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 4484, - "name": "_subscriptionLockStakePolicy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4443, - "src": "3524:28:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3489:63:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4486, - "nodeType": "ExpressionStatement", - "src": "3489:63:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 4489, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4487, - "name": "m_subscriptionMinimumStakePolicy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4328, - "src": "3633:32:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 4488, - "name": "_subscriptionMinimumStakePolicy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4445, - "src": "3668:31:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3633:66:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4490, - "nodeType": "ExpressionStatement", - "src": "3633:66:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 4493, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4491, - "name": "m_subscriptionMinimumScorePolicy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4330, - "src": "3703:32:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 4492, - "name": "_subscriptionMinimumScorePolicy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4447, - "src": "3738:31:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3703:66:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4494, - "nodeType": "ExpressionStatement", - "src": "3703:66:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 4498, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4495, - "name": "m_workerPoolHubAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4355, - "src": "3773:22:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4496, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "3808:3:18", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4497, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3808:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "3773:45:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 4499, - "nodeType": "ExpressionStatement", - "src": "3773:45:18" - } - ] - }, - "documentation": "Methods", - "id": 4501, - "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 4452, - "name": "_iexecHubAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4439, - "src": "3030:16:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "id": 4453, - "modifierName": { - "argumentTypes": null, - "id": 4451, - "name": "IexecHubAccessor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2475, - "src": "3013:16:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IexecHubAccessor_$2475_$", - "typeString": "type(contract IexecHubAccessor)" - } - }, - "nodeType": "ModifierInvocation", - "src": "3013:34:18" - }, - { - "arguments": [ - { - "argumentTypes": null, - "id": 4455, - "name": "_marketplaceAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4449, - "src": "3069:19:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "id": 4456, - "modifierName": { - "argumentTypes": null, - "id": 4454, - "name": "MarketplaceAccessor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3545, - "src": "3049:19:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_MarketplaceAccessor_$3545_$", - "typeString": "type(contract MarketplaceAccessor)" - } - }, - "nodeType": "ModifierInvocation", - "src": "3049:40:18" - } - ], - "name": "WorkerPool", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4450, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4439, - "name": "_iexecHubAddress", - "nodeType": "VariableDeclaration", - "scope": 4501, - "src": "2805:24:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4438, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2805:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4441, - "name": "_description", - "nodeType": "VariableDeclaration", - "scope": 4501, - "src": "2833:20:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - "typeName": { - "id": 4440, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2833:6:18", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4443, - "name": "_subscriptionLockStakePolicy", - "nodeType": "VariableDeclaration", - "scope": 4501, - "src": "2857:36:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4442, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2857:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4445, - "name": "_subscriptionMinimumStakePolicy", - "nodeType": "VariableDeclaration", - "scope": 4501, - "src": "2897:39:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4444, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2897:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4447, - "name": "_subscriptionMinimumScorePolicy", - "nodeType": "VariableDeclaration", - "scope": 4501, - "src": "2940:39:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4446, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2940:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4449, - "name": "_marketplaceAddress", - "nodeType": "VariableDeclaration", - "scope": 4501, - "src": "2983:27:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4448, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2983:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2801:210:18" - }, - "payable": false, - "returnParameters": { - "id": 4457, - "nodeType": "ParameterList", - "parameters": [], - "src": "3099:0:18" - }, - "scope": 6097, - "src": "2782:1041:18", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 4547, - "nodeType": "Block", - "src": "4044:637:18", - "statements": [ - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4515, - "name": "m_stakeRatioPolicy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4322, - "src": "4080:18:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4516, - "name": "_newStakeRatioPolicy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4503, - "src": "4114:20:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4517, - "name": "m_schedulerRewardRatioPolicy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4324, - "src": "4139:28:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4518, - "name": "_newSchedulerRewardRatioPolicy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4505, - "src": "4173:30:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4519, - "name": "m_subscriptionMinimumStakePolicy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4328, - "src": "4208:32:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4520, - "name": "_newSubscriptionMinimumStakePolicy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4507, - "src": "4242:34:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4521, - "name": "m_subscriptionMinimumScorePolicy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4330, - "src": "4281:32:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4522, - "name": "_newSubscriptionMinimumScorePolicy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4509, - "src": "4315:34:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 4514, - "name": "WorkerPoolPolicyUpdate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4373, - "src": "4053:22:18", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256)" - } - }, - "id": 4523, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4053:300:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4524, - "nodeType": "EmitStatement", - "src": "4048:305:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4528, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4526, - "name": "_newSchedulerRewardRatioPolicy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4505, - "src": "4365:30:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 4527, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4399:3:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "src": "4365:37:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 4525, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "4357:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 4529, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4357:46:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4530, - "nodeType": "ExpressionStatement", - "src": "4357:46:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 4533, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4531, - "name": "m_stakeRatioPolicy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4322, - "src": "4407:18:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 4532, - "name": "_newStakeRatioPolicy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4503, - "src": "4442:20:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4407:55:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4534, - "nodeType": "ExpressionStatement", - "src": "4407:55:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 4537, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4535, - "name": "m_schedulerRewardRatioPolicy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4324, - "src": "4466:28:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 4536, - "name": "_newSchedulerRewardRatioPolicy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4505, - "src": "4501:30:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4466:65:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4538, - "nodeType": "ExpressionStatement", - "src": "4466:65:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 4541, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4539, - "name": "m_subscriptionMinimumStakePolicy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4328, - "src": "4535:32:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 4540, - "name": "_newSubscriptionMinimumStakePolicy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4507, - "src": "4570:34:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4535:69:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4542, - "nodeType": "ExpressionStatement", - "src": "4535:69:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 4545, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4543, - "name": "m_subscriptionMinimumScorePolicy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4330, - "src": "4608:32:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 4544, - "name": "_newSubscriptionMinimumScorePolicy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4509, - "src": "4643:34:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4608:69:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4546, - "nodeType": "ExpressionStatement", - "src": "4608:69:18" - } - ] - }, - "documentation": null, - "id": 4548, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [], - "id": 4512, - "modifierName": { - "argumentTypes": null, - "id": 4511, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3700, - "src": "4033:9:18", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "4033:9:18" - } - ], - "name": "changeWorkerPoolPolicy", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4510, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4503, - "name": "_newStakeRatioPolicy", - "nodeType": "VariableDeclaration", - "scope": 4548, - "src": "3861:28:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4502, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3861:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4505, - "name": "_newSchedulerRewardRatioPolicy", - "nodeType": "VariableDeclaration", - "scope": 4548, - "src": "3893:38:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4504, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3893:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4507, - "name": "_newSubscriptionMinimumStakePolicy", - "nodeType": "VariableDeclaration", - "scope": 4548, - "src": "3935:42:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4506, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3935:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4509, - "name": "_newSubscriptionMinimumScorePolicy", - "nodeType": "VariableDeclaration", - "scope": 4548, - "src": "3981:42:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4508, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3981:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3857:167:18" - }, - "payable": false, - "returnParameters": { - "id": 4513, - "nodeType": "ParameterList", - "parameters": [], - "src": "4044:0:18" - }, - "scope": 6097, - "src": "3826:855:18", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 4559, - "nodeType": "Block", - "src": "4833:32:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4555, - "name": "m_workers", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4333, - "src": "4844:9:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 4557, - "indexExpression": { - "argumentTypes": null, - "id": 4556, - "name": "_index", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4550, - "src": "4854:6:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4844:17:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 4554, - "id": 4558, - "nodeType": "Return", - "src": "4837:24:18" - } - ] - }, - "documentation": "*********************** worker list management *************************", - "id": 4560, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getWorkerAddress", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4551, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4550, - "name": "_index", - "nodeType": "VariableDeclaration", - "scope": 4560, - "src": "4789:11:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4549, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "4789:4:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4788:13:18" - }, - "payable": false, - "returnParameters": { - "id": 4554, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4553, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 4560, - "src": "4823:7:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4552, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4823:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4822:9:18" - }, - "scope": 6097, - "src": "4763:102:18", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 4583, - "nodeType": "Block", - "src": "4936:99:18", - "statements": [ - { - "assignments": [ - 4568 - ], - "declarations": [ - { - "constant": false, - "id": 4568, - "name": "index", - "nodeType": "VariableDeclaration", - "scope": 4584, - "src": "4940:10:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4567, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "4940:4:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4572, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4569, - "name": "m_workerIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4337, - "src": "4953:13:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 4571, - "indexExpression": { - "argumentTypes": null, - "id": 4570, - "name": "_worker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4562, - "src": "4967:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4953:22:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4940:35:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 4578, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4574, - "name": "m_workers", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4333, - "src": "4987:9:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 4576, - "indexExpression": { - "argumentTypes": null, - "id": 4575, - "name": "index", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4568, - "src": "4997:5:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4987:16:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 4577, - "name": "_worker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4562, - "src": "5007:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "4987:27:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 4573, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "4979:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 4579, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4979:36:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4580, - "nodeType": "ExpressionStatement", - "src": "4979:36:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 4581, - "name": "index", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4568, - "src": "5026:5:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 4566, - "id": 4582, - "nodeType": "Return", - "src": "5019:12:18" - } - ] - }, - "documentation": null, - "id": 4584, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getWorkerIndex", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4563, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4562, - "name": "_worker", - "nodeType": "VariableDeclaration", - "scope": 4584, - "src": "4891:15:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4561, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4891:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4890:17:18" - }, - "payable": false, - "returnParameters": { - "id": 4566, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4565, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 4584, - "src": "4929:4:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4564, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "4929:4:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4928:6:18" - }, - "scope": 6097, - "src": "4867:168:18", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 4592, - "nodeType": "Block", - "src": "5092:31:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4589, - "name": "m_workers", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4333, - "src": "5103:9:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 4590, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5103:16:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 4588, - "id": 4591, - "nodeType": "Return", - "src": "5096:23:18" - } - ] - }, - "documentation": null, - "id": 4593, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getWorkersCount", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4585, - "nodeType": "ParameterList", - "parameters": [], - "src": "5061:2:18" - }, - "payable": false, - "returnParameters": { - "id": 4588, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4587, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 4593, - "src": "5085:4:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4586, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "5085:4:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5084:6:18" - }, - "scope": 6097, - "src": "5037:86:18", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 4631, - "nodeType": "Block", - "src": "5176:224:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4601, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "5246:3:18", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4602, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5246:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 4599, - "name": "iexecHubInterface", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2441, - "src": "5213:17:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IexecHubInterface_$2802", - "typeString": "contract IexecHubInterface" - } - }, - "id": 4600, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "registerToPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 2653, - "src": "5213:32:18", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$_t_bool_$", - "typeString": "function (address) external returns (bool)" - } - }, - "id": 4603, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5213:44:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 4598, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "5205:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 4604, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5205:53:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4605, - "nodeType": "ExpressionStatement", - "src": "5205:53:18" - }, - { - "assignments": [ - 4607 - ], - "declarations": [ - { - "constant": false, - "id": 4607, - "name": "index", - "nodeType": "VariableDeclaration", - "scope": 4632, - "src": "5262:10:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4606, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "5262:4:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4613, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4610, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "5290:3:18", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4611, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5290:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 4608, - "name": "m_workers", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4333, - "src": "5275:9:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 4609, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5275:14:18", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) returns (uint256)" - } - }, - "id": 4612, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5275:26:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5262:39:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 4622, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4614, - "name": "m_workerIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4337, - "src": "5305:13:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 4617, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4615, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "5319:3:18", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4616, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5319:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5305:25:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "31", - "id": 4620, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5343:1:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - } - ], - "expression": { - "argumentTypes": null, - "id": 4618, - "name": "index", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4607, - "src": "5333:5:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4619, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 3793, - "src": "5333:9:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 4621, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5333:12:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5305:40:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4623, - "nodeType": "ExpressionStatement", - "src": "5305:40:18" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4625, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "5370:3:18", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4626, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5370:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 4624, - "name": "WorkerSubscribe", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4429, - "src": "5354:15:18", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 4627, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5354:27:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4628, - "nodeType": "EmitStatement", - "src": "5349:32:18" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 4629, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5392:4:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 4597, - "id": 4630, - "nodeType": "Return", - "src": "5385:11:18" - } - ] - }, - "documentation": null, - "id": 4632, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "subscribeToPool", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4594, - "nodeType": "ParameterList", - "parameters": [], - "src": "5150:2:18" - }, - "payable": false, - "returnParameters": { - "id": 4597, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4596, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 4632, - "src": "5169:4:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4595, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5169:4:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5168:6:18" - }, - "scope": 6097, - "src": "5126:274:18", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 4659, - "nodeType": "Block", - "src": "5458:180:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4640, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "5532:3:18", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4641, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5532:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 4638, - "name": "iexecHubInterface", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2441, - "src": "5495:17:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IexecHubInterface_$2802", - "typeString": "contract IexecHubInterface" - } - }, - "id": 4639, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "unregisterFromPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 2660, - "src": "5495:36:18", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$_t_bool_$", - "typeString": "function (address) external returns (bool)" - } - }, - "id": 4642, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5495:48:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 4637, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "5487:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 4643, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5487:57:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4644, - "nodeType": "ExpressionStatement", - "src": "5487:57:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4647, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "5569:3:18", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4648, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5569:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 4646, - "name": "removeWorker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4746, - "src": "5556:12:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$_t_bool_$", - "typeString": "function (address) returns (bool)" - } - }, - "id": 4649, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5556:24:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 4645, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "5548:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 4650, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5548:33:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4651, - "nodeType": "ExpressionStatement", - "src": "5548:33:18" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4653, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "5608:3:18", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4654, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5608:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 4652, - "name": "WorkerUnsubscribe", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4433, - "src": "5590:17:18", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 4655, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5590:29:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4656, - "nodeType": "EmitStatement", - "src": "5585:34:18" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 4657, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5630:4:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 4636, - "id": 4658, - "nodeType": "Return", - "src": "5623:11:18" - } - ] - }, - "documentation": null, - "id": 4660, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "unsubscribeFromPool", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4633, - "nodeType": "ParameterList", - "parameters": [], - "src": "5431:2:18" - }, - "payable": false, - "returnParameters": { - "id": 4636, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4635, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 4660, - "src": "5451:4:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4634, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5451:4:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5450:6:18" - }, - "scope": 6097, - "src": "5403:235:18", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 4688, - "nodeType": "Block", - "src": "5712:164:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4672, - "name": "_worker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4662, - "src": "5782:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 4670, - "name": "iexecHubInterface", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2441, - "src": "5752:17:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IexecHubInterface_$2802", - "typeString": "contract IexecHubInterface" - } - }, - "id": 4671, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "evictWorker", - "nodeType": "MemberAccess", - "referencedDeclaration": 2667, - "src": "5752:29:18", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$_t_bool_$", - "typeString": "function (address) external returns (bool)" - } - }, - "id": 4673, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5752:38:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 4669, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "5744:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 4674, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5744:47:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4675, - "nodeType": "ExpressionStatement", - "src": "5744:47:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4678, - "name": "_worker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4662, - "src": "5816:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 4677, - "name": "removeWorker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4746, - "src": "5803:12:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$_t_bool_$", - "typeString": "function (address) returns (bool)" - } - }, - "id": 4679, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5803:21:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 4676, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "5795:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 4680, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5795:30:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4681, - "nodeType": "ExpressionStatement", - "src": "5795:30:18" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4683, - "name": "_worker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4662, - "src": "5849:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 4682, - "name": "WorkerEviction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4437, - "src": "5834:14:18", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 4684, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5834:23:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4685, - "nodeType": "EmitStatement", - "src": "5829:28:18" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 4686, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5868:4:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 4668, - "id": 4687, - "nodeType": "Return", - "src": "5861:11:18" - } - ] - }, - "documentation": null, - "id": 4689, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [], - "id": 4665, - "modifierName": { - "argumentTypes": null, - "id": 4664, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3700, - "src": "5686:9:18", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "5686:9:18" - } - ], - "name": "evictWorker", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4663, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4662, - "name": "_worker", - "nodeType": "VariableDeclaration", - "scope": 4689, - "src": "5662:15:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4661, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5662:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5661:17:18" - }, - "payable": false, - "returnParameters": { - "id": 4668, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4667, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 4689, - "src": "5705:4:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4666, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5705:4:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5704:6:18" - }, - "scope": 6097, - "src": "5641:235:18", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 4745, - "nodeType": "Block", - "src": "5943:322:18", - "statements": [ - { - "assignments": [ - 4697 - ], - "declarations": [ - { - "constant": false, - "id": 4697, - "name": "index", - "nodeType": "VariableDeclaration", - "scope": 4746, - "src": "5947:10:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4696, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "5947:4:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4701, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4699, - "name": "_worker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4691, - "src": "5975:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 4698, - "name": "getWorkerIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4584, - "src": "5960:14:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view returns (uint256)" - } - }, - "id": 4700, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5960:23:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5947:36:18" - }, - { - "assignments": [ - 4703 - ], - "declarations": [ - { - "constant": false, - "id": 4703, - "name": "lastWorker", - "nodeType": "VariableDeclaration", - "scope": 4746, - "src": "6021:18:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4702, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6021:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4711, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4704, - "name": "m_workers", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4333, - "src": "6042:9:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 4710, - "indexExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "31", - "id": 4708, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6073:1:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4705, - "name": "m_workers", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4333, - "src": "6052:9:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 4706, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6052:16:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4707, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 3793, - "src": "6052:20:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 4709, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6052:23:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6042:34:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6021:55:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 4716, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4712, - "name": "m_workers", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4333, - "src": "6080:9:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 4714, - "indexExpression": { - "argumentTypes": null, - "id": 4713, - "name": "index", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4697, - "src": "6094:5:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6080:25:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 4715, - "name": "lastWorker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4703, - "src": "6108:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "6080:38:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 4717, - "nodeType": "ExpressionStatement", - "src": "6080:38:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 4722, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4718, - "name": "m_workerIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4337, - "src": "6122:13:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 4720, - "indexExpression": { - "argumentTypes": null, - "id": 4719, - "name": "lastWorker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4703, - "src": "6136:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6122:25:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 4721, - "name": "index", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4697, - "src": "6150:5:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6122:33:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4723, - "nodeType": "ExpressionStatement", - "src": "6122:33:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 4731, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "6159:41:18", - "subExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4724, - "name": "m_workers", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4333, - "src": "6166:9:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 4730, - "indexExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "31", - "id": 4728, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6197:1:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4725, - "name": "m_workers", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4333, - "src": "6176:9:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 4726, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6176:16:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4727, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 3793, - "src": "6176:20:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 4729, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6176:23:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6166:34:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4732, - "nodeType": "ExpressionStatement", - "src": "6159:41:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 4741, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4733, - "name": "m_workers", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4333, - "src": "6204:9:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 4735, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6204:16:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "31", - "id": 4739, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6244:1:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4736, - "name": "m_workers", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4333, - "src": "6223:9:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 4737, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6223:16:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4738, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 3793, - "src": "6223:20:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 4740, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6223:23:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6204:42:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4742, - "nodeType": "ExpressionStatement", - "src": "6204:42:18" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 4743, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6257:4:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 4695, - "id": 4744, - "nodeType": "Return", - "src": "6250:11:18" - } - ] - }, - "documentation": null, - "id": 4746, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "removeWorker", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4692, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4691, - "name": "_worker", - "nodeType": "VariableDeclaration", - "scope": 4746, - "src": "5901:15:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4690, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5901:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5900:17:18" - }, - "payable": false, - "returnParameters": { - "id": 4695, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4694, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 4746, - "src": "5936:4:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4693, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5936:4:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5935:6:18" - }, - "scope": 6097, - "src": "5879:386:18", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 4793, - "nodeType": "Block", - "src": "6542:295:18", - "statements": [ - { - "assignments": [ - 4770 - ], - "declarations": [ - { - "constant": false, - "id": 4770, - "name": "consensus", - "nodeType": "VariableDeclaration", - "scope": 4794, - "src": "6546:36:18", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - }, - "typeName": { - "contractScope": null, - "id": 4769, - "name": "IexecLib.Consensus", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2854, - "src": "6546:18:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4774, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4771, - "name": "m_consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4341, - "src": "6585:11:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Consensus_$2854_storage_$", - "typeString": "mapping(address => struct IexecLib.Consensus storage ref)" - } - }, - "id": 4773, - "indexExpression": { - "argumentTypes": null, - "id": 4772, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4748, - "src": "6597:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6585:18:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage", - "typeString": "struct IexecLib.Consensus storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6546:57:18" - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4775, - "name": "consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4770, - "src": "6619:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - } - }, - "id": 4776, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "poolReward", - "nodeType": "MemberAccess", - "referencedDeclaration": 2834, - "src": "6619:20:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4777, - "name": "consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4770, - "src": "6644:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - } - }, - "id": 4778, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "stakeAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 2836, - "src": "6644:21:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4779, - "name": "consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4770, - "src": "6670:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - } - }, - "id": 4780, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "consensus", - "nodeType": "MemberAccess", - "referencedDeclaration": 2838, - "src": "6670:19:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4781, - "name": "consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4770, - "src": "6694:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - } - }, - "id": 4782, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "revealDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 2840, - "src": "6694:20:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4783, - "name": "consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4770, - "src": "6719:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - } - }, - "id": 4784, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "revealCounter", - "nodeType": "MemberAccess", - "referencedDeclaration": 2842, - "src": "6719:23:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4785, - "name": "consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4770, - "src": "6747:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - } - }, - "id": 4786, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "consensusTimeout", - "nodeType": "MemberAccess", - "referencedDeclaration": 2844, - "src": "6747:26:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4787, - "name": "consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4770, - "src": "6778:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - } - }, - "id": 4788, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "winnerCount", - "nodeType": "MemberAccess", - "referencedDeclaration": 2846, - "src": "6778:21:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4789, - "name": "consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4770, - "src": "6804:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - } - }, - "id": 4790, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "workerpoolOwner", - "nodeType": "MemberAccess", - "referencedDeclaration": 2851, - "src": "6804:25:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "id": 4791, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "6614:219:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_bytes32_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$", - "typeString": "tuple(uint256,uint256,bytes32,uint256,uint256,uint256,uint256,address)" - } - }, - "functionReturnParameters": 4766, - "id": 4792, - "nodeType": "Return", - "src": "6607:226:18" - } - ] - }, - "documentation": null, - "id": 4794, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getConsensusDetails", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4749, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4748, - "name": "_woid", - "nodeType": "VariableDeclaration", - "scope": 4794, - "src": "6297:13:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4747, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6297:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6296:15:18" - }, - "payable": false, - "returnParameters": { - "id": 4766, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4751, - "name": "c_poolReward", - "nodeType": "VariableDeclaration", - "scope": 4794, - "src": "6336:20:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4750, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6336:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4753, - "name": "c_stakeAmount", - "nodeType": "VariableDeclaration", - "scope": 4794, - "src": "6360:21:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4752, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6360:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4755, - "name": "c_consensus", - "nodeType": "VariableDeclaration", - "scope": 4794, - "src": "6385:19:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4754, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "6385:7:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4757, - "name": "c_revealDate", - "nodeType": "VariableDeclaration", - "scope": 4794, - "src": "6408:20:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4756, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6408:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4759, - "name": "c_revealCounter", - "nodeType": "VariableDeclaration", - "scope": 4794, - "src": "6432:23:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4758, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6432:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4761, - "name": "c_consensusTimeout", - "nodeType": "VariableDeclaration", - "scope": 4794, - "src": "6459:26:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4760, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6459:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4763, - "name": "c_winnerCount", - "nodeType": "VariableDeclaration", - "scope": 4794, - "src": "6489:21:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4762, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6489:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4765, - "name": "c_workerpoolOwner", - "nodeType": "VariableDeclaration", - "scope": 4794, - "src": "6514:25:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4764, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6514:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6332:208:18" - }, - "scope": 6097, - "src": "6268:569:18", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 4807, - "nodeType": "Block", - "src": "6934:53:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4801, - "name": "m_consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4341, - "src": "6945:11:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Consensus_$2854_storage_$", - "typeString": "mapping(address => struct IexecLib.Consensus storage ref)" - } - }, - "id": 4803, - "indexExpression": { - "argumentTypes": null, - "id": 4802, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4796, - "src": "6957:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6945:18:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage", - "typeString": "struct IexecLib.Consensus storage ref" - } - }, - "id": 4804, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "contributors", - "nodeType": "MemberAccess", - "referencedDeclaration": 2849, - "src": "6945:31:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 4805, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6945:38:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 4800, - "id": 4806, - "nodeType": "Return", - "src": "6938:45:18" - } - ] - }, - "documentation": null, - "id": 4808, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getContributorsCount", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4797, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4796, - "name": "_woid", - "nodeType": "VariableDeclaration", - "scope": 4808, - "src": "6870:13:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4795, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6870:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6869:15:18" - }, - "payable": false, - "returnParameters": { - "id": 4800, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4799, - "name": "contributorsCount", - "nodeType": "VariableDeclaration", - "scope": 4808, - "src": "6906:25:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4798, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6906:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6905:27:18" - }, - "scope": 6097, - "src": "6840:147:18", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 4824, - "nodeType": "Block", - "src": "7087:53:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4817, - "name": "m_consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4341, - "src": "7098:11:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Consensus_$2854_storage_$", - "typeString": "mapping(address => struct IexecLib.Consensus storage ref)" - } - }, - "id": 4819, - "indexExpression": { - "argumentTypes": null, - "id": 4818, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4810, - "src": "7110:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7098:18:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage", - "typeString": "struct IexecLib.Consensus storage ref" - } - }, - "id": 4820, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "contributors", - "nodeType": "MemberAccess", - "referencedDeclaration": 2849, - "src": "7098:31:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 4822, - "indexExpression": { - "argumentTypes": null, - "id": 4821, - "name": "index", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4812, - "src": "7130:5:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7098:38:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 4816, - "id": 4823, - "nodeType": "Return", - "src": "7091:45:18" - } - ] - }, - "documentation": null, - "id": 4825, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getContributor", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4813, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4810, - "name": "_woid", - "nodeType": "VariableDeclaration", - "scope": 4825, - "src": "7014:13:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4809, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7014:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4812, - "name": "index", - "nodeType": "VariableDeclaration", - "scope": 4825, - "src": "7029:13:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4811, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7029:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7013:30:18" - }, - "payable": false, - "returnParameters": { - "id": 4816, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4815, - "name": "contributor", - "nodeType": "VariableDeclaration", - "scope": 4825, - "src": "7065:19:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4814, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7065:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7064:21:18" - }, - "scope": 6097, - "src": "6990:150:18", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 4845, - "nodeType": "Block", - "src": "7252:94:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", - "typeString": "enum IexecLib.ContributionStatusEnum" - }, - "id": 4843, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4834, - "name": "m_contributions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4347, - "src": "7263:15:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_Contribution_$2873_storage_$_$", - "typeString": "mapping(address => mapping(address => struct IexecLib.Contribution storage ref))" - } - }, - "id": 4836, - "indexExpression": { - "argumentTypes": null, - "id": 4835, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4827, - "src": "7279:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7263:22:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Contribution_$2873_storage_$", - "typeString": "mapping(address => struct IexecLib.Contribution storage ref)" - } - }, - "id": 4838, - "indexExpression": { - "argumentTypes": null, - "id": 4837, - "name": "_worker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4829, - "src": "7286:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7263:31:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Contribution_$2873_storage", - "typeString": "struct IexecLib.Contribution storage ref" - } - }, - "id": 4839, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "status", - "nodeType": "MemberAccess", - "referencedDeclaration": 2862, - "src": "7263:38:18", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", - "typeString": "enum IexecLib.ContributionStatusEnum" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4840, - "name": "IexecLib", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2893, - "src": "7305:8:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IexecLib_$2893_$", - "typeString": "type(library IexecLib)" - } - }, - "id": 4841, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "ContributionStatusEnum", - "nodeType": "MemberAccess", - "referencedDeclaration": 2860, - "src": "7305:31:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_ContributionStatusEnum_$2860_$", - "typeString": "type(enum IexecLib.ContributionStatusEnum)" - } - }, - "id": 4842, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "UNSET", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7305:37:18", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", - "typeString": "enum IexecLib.ContributionStatusEnum" - } - }, - "src": "7263:79:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 4833, - "id": 4844, - "nodeType": "Return", - "src": "7256:86:18" - } - ] - }, - "documentation": null, - "id": 4846, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "existingContribution", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4830, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4827, - "name": "_woid", - "nodeType": "VariableDeclaration", - "scope": 4846, - "src": "7173:13:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4826, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7173:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4829, - "name": "_worker", - "nodeType": "VariableDeclaration", - "scope": 4846, - "src": "7188:15:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4828, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7188:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7172:32:18" - }, - "payable": false, - "returnParameters": { - "id": 4833, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4832, - "name": "contributionExist", - "nodeType": "VariableDeclaration", - "scope": 4846, - "src": "7227:22:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4831, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "7227:4:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7226:24:18" - }, - "scope": 6097, - "src": "7143:203:18", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 4896, - "nodeType": "Block", - "src": "7579:337:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4867, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4848, - "src": "7612:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 4868, - "name": "_worker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4850, - "src": "7619:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 4866, - "name": "existingContribution", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4846, - "src": "7591:20:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_bool_$", - "typeString": "function (address,address) view returns (bool)" - } - }, - "id": 4869, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7591:36:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 4865, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "7583:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 4870, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7583:45:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4871, - "nodeType": "ExpressionStatement", - "src": "7583:45:18" - }, - { - "assignments": [ - 4875 - ], - "declarations": [ - { - "constant": false, - "id": 4875, - "name": "contribution", - "nodeType": "VariableDeclaration", - "scope": 4897, - "src": "7660:42:18", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", - "typeString": "struct IexecLib.Contribution storage pointer" - }, - "typeName": { - "contractScope": null, - "id": 4874, - "name": "IexecLib.Contribution", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2873, - "src": "7660:21:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", - "typeString": "struct IexecLib.Contribution storage pointer" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4881, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4876, - "name": "m_contributions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4347, - "src": "7705:15:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_Contribution_$2873_storage_$_$", - "typeString": "mapping(address => mapping(address => struct IexecLib.Contribution storage ref))" - } - }, - "id": 4878, - "indexExpression": { - "argumentTypes": null, - "id": 4877, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4848, - "src": "7721:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7705:22:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Contribution_$2873_storage_$", - "typeString": "mapping(address => struct IexecLib.Contribution storage ref)" - } - }, - "id": 4880, - "indexExpression": { - "argumentTypes": null, - "id": 4879, - "name": "_worker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4850, - "src": "7728:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7705:31:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Contribution_$2873_storage", - "typeString": "struct IexecLib.Contribution storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7660:76:18" - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4882, - "name": "contribution", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4875, - "src": "7752:12:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", - "typeString": "struct IexecLib.Contribution storage pointer" - } - }, - "id": 4883, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "status", - "nodeType": "MemberAccess", - "referencedDeclaration": 2862, - "src": "7752:19:18", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", - "typeString": "enum IexecLib.ContributionStatusEnum" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4884, - "name": "contribution", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4875, - "src": "7776:12:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", - "typeString": "struct IexecLib.Contribution storage pointer" - } - }, - "id": 4885, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "resultHash", - "nodeType": "MemberAccess", - "referencedDeclaration": 2864, - "src": "7776:23:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4886, - "name": "contribution", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4875, - "src": "7804:12:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", - "typeString": "struct IexecLib.Contribution storage pointer" - } - }, - "id": 4887, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "resultSign", - "nodeType": "MemberAccess", - "referencedDeclaration": 2866, - "src": "7804:23:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4888, - "name": "contribution", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4875, - "src": "7832:12:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", - "typeString": "struct IexecLib.Contribution storage pointer" - } - }, - "id": 4889, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "enclaveChallenge", - "nodeType": "MemberAccess", - "referencedDeclaration": 2868, - "src": "7832:29:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4890, - "name": "contribution", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4875, - "src": "7866:12:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", - "typeString": "struct IexecLib.Contribution storage pointer" - } - }, - "id": 4891, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "score", - "nodeType": "MemberAccess", - "referencedDeclaration": 2870, - "src": "7866:18:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4892, - "name": "contribution", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4875, - "src": "7889:12:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", - "typeString": "struct IexecLib.Contribution storage pointer" - } - }, - "id": 4893, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "weight", - "nodeType": "MemberAccess", - "referencedDeclaration": 2872, - "src": "7889:19:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4894, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "7747:165:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_ContributionStatusEnum_$2860_$_t_bytes32_$_t_bytes32_$_t_address_$_t_uint256_$_t_uint256_$", - "typeString": "tuple(enum IexecLib.ContributionStatusEnum,bytes32,bytes32,address,uint256,uint256)" - } - }, - "functionReturnParameters": 4864, - "id": 4895, - "nodeType": "Return", - "src": "7740:172:18" - } - ] - }, - "documentation": null, - "id": 4897, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getContribution", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4851, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4848, - "name": "_woid", - "nodeType": "VariableDeclaration", - "scope": 4897, - "src": "7374:13:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4847, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7374:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4850, - "name": "_worker", - "nodeType": "VariableDeclaration", - "scope": 4897, - "src": "7389:15:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4849, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7389:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7373:32:18" - }, - "payable": false, - "returnParameters": { - "id": 4864, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4853, - "name": "status", - "nodeType": "VariableDeclaration", - "scope": 4897, - "src": "7431:38:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", - "typeString": "enum IexecLib.ContributionStatusEnum" - }, - "typeName": { - "contractScope": null, - "id": 4852, - "name": "IexecLib.ContributionStatusEnum", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2860, - "src": "7431:31:18", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", - "typeString": "enum IexecLib.ContributionStatusEnum" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4855, - "name": "resultHash", - "nodeType": "VariableDeclaration", - "scope": 4897, - "src": "7473:18:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4854, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "7473:7:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4857, - "name": "resultSign", - "nodeType": "VariableDeclaration", - "scope": 4897, - "src": "7495:18:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4856, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "7495:7:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4859, - "name": "enclaveChallenge", - "nodeType": "VariableDeclaration", - "scope": 4897, - "src": "7517:24:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4858, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7517:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4861, - "name": "score", - "nodeType": "VariableDeclaration", - "scope": 4897, - "src": "7545:13:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4860, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7545:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4863, - "name": "weight", - "nodeType": "VariableDeclaration", - "scope": 4897, - "src": "7562:14:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4862, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7562:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7427:150:18" - }, - "scope": 6097, - "src": "7349:567:18", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 4982, - "nodeType": "Block", - "src": "8098:735:18", - "statements": [ - { - "assignments": [ - 4909 - ], - "declarations": [ - { - "constant": false, - "id": 4909, - "name": "catid", - "nodeType": "VariableDeclaration", - "scope": 4983, - "src": "8102:13:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4908, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8102:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4914, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4912, - "name": "_marketorderIdx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4901, - "src": "8164:15:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 4910, - "name": "marketplaceInterface", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3520, - "src": "8120:20:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MarketplaceInterface_$3620", - "typeString": "contract MarketplaceInterface" - } - }, - "id": 4911, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getMarketOrderCategory", - "nodeType": "MemberAccess", - "referencedDeclaration": 3593, - "src": "8120:43:18", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) view external returns (uint256)" - } - }, - "id": 4913, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8120:60:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8102:78:18" - }, - { - "assignments": [ - 4916 - ], - "declarations": [ - { - "constant": false, - "id": 4916, - "name": "timeout", - "nodeType": "VariableDeclaration", - "scope": 4983, - "src": "8184:15:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4915, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8184:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4927, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4925, - "name": "now", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7010, - "src": "8289:3:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4922, - "name": "CONSENSUS_DURATION_RATIO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4353, - "src": "8259:24:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4919, - "name": "catid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4909, - "src": "8248:5:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 4917, - "name": "iexecHubInterface", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2441, - "src": "8202:17:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IexecHubInterface_$2802", - "typeString": "contract IexecHubInterface" - } - }, - "id": 4918, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getCategoryWorkClockTimeRef", - "nodeType": "MemberAccess", - "referencedDeclaration": 2610, - "src": "8202:45:18", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) view external returns (uint256)" - } - }, - "id": 4920, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8202:52:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4921, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 3826, - "src": "8202:56:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 4923, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8202:82:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4924, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 3773, - "src": "8202:86:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 4926, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8202:91:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8184:109:18" - }, - { - "assignments": [ - 4931 - ], - "declarations": [ - { - "constant": false, - "id": 4931, - "name": "consensus", - "nodeType": "VariableDeclaration", - "scope": 4983, - "src": "8298:36:18", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - }, - "typeName": { - "contractScope": null, - "id": 4930, - "name": "IexecLib.Consensus", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2854, - "src": "8298:18:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4935, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4932, - "name": "m_consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4341, - "src": "8337:11:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Consensus_$2854_storage_$", - "typeString": "mapping(address => struct IexecLib.Consensus storage ref)" - } - }, - "id": 4934, - "indexExpression": { - "argumentTypes": null, - "id": 4933, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4899, - "src": "8349:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8337:18:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage", - "typeString": "struct IexecLib.Consensus storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8298:57:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 4943, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4936, - "name": "consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4931, - "src": "8359:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - } - }, - "id": 4938, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "poolReward", - "nodeType": "MemberAccess", - "referencedDeclaration": 2834, - "src": "8359:20:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4941, - "name": "_marketorderIdx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4901, - "src": "8439:15:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 4939, - "name": "marketplaceInterface", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3520, - "src": "8398:20:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MarketplaceInterface_$3620", - "typeString": "contract MarketplaceInterface" - } - }, - "id": 4940, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getMarketOrderValue", - "nodeType": "MemberAccess", - "referencedDeclaration": 3579, - "src": "8398:40:18", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) view external returns (uint256)" - } - }, - "id": 4942, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8398:57:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8359:96:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4944, - "nodeType": "ExpressionStatement", - "src": "8359:96:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 4952, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4945, - "name": "consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4931, - "src": "8459:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - } - }, - "id": 4947, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "workerpoolOwner", - "nodeType": "MemberAccess", - "referencedDeclaration": 2851, - "src": "8459:25:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4950, - "name": "_marketorderIdx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4901, - "src": "8549:15:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 4948, - "name": "marketplaceInterface", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3520, - "src": "8498:20:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MarketplaceInterface_$3620", - "typeString": "contract MarketplaceInterface" - } - }, - "id": 4949, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getMarketOrderWorkerpoolOwner", - "nodeType": "MemberAccess", - "referencedDeclaration": 3586, - "src": "8498:50:18", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_address_$", - "typeString": "function (uint256) view external returns (address)" - } - }, - "id": 4951, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8498:67:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "8459:106:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 4953, - "nodeType": "ExpressionStatement", - "src": "8459:106:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 4962, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4954, - "name": "consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4931, - "src": "8569:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - } - }, - "id": 4956, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "stakeAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 2836, - "src": "8569:21:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4960, - "name": "m_stakeRatioPolicy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4322, - "src": "8640:18:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4957, - "name": "consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4931, - "src": "8608:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - } - }, - "id": 4958, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "poolReward", - "nodeType": "MemberAccess", - "referencedDeclaration": 2834, - "src": "8608:20:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4959, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "percentage", - "nodeType": "MemberAccess", - "referencedDeclaration": 3914, - "src": "8608:31:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 4961, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8608:51:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8569:90:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4963, - "nodeType": "ExpressionStatement", - "src": "8569:90:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 4968, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4964, - "name": "consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4931, - "src": "8663:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - } - }, - "id": 4966, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "consensusTimeout", - "nodeType": "MemberAccess", - "referencedDeclaration": 2844, - "src": "8663:26:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 4967, - "name": "timeout", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4916, - "src": "8703:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8663:47:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4969, - "nodeType": "ExpressionStatement", - "src": "8663:47:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 4974, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4970, - "name": "consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4931, - "src": "8714:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - } - }, - "id": 4972, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "schedulerRewardRatioPolicy", - "nodeType": "MemberAccess", - "referencedDeclaration": 2853, - "src": "8714:36:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 4973, - "name": "m_schedulerRewardRatioPolicy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4324, - "src": "8753:28:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8714:67:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4975, - "nodeType": "ExpressionStatement", - "src": "8714:67:18" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4977, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4899, - "src": "8807:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 4976, - "name": "WorkOrderActive", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4377, - "src": "8791:15:18", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 4978, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8791:22:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4979, - "nodeType": "EmitStatement", - "src": "8786:27:18" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 4980, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8825:4:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 4907, - "id": 4981, - "nodeType": "Return", - "src": "8818:11:18" - } - ] - }, - "documentation": "************************** Works management ****************************", - "id": 4983, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [], - "id": 4904, - "modifierName": { - "argumentTypes": null, - "id": 4903, - "name": "onlyIexecHub", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2454, - "src": "8069:12:18", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "8069:12:18" - } - ], - "name": "emitWorkOrder", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4902, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4899, - "name": "_woid", - "nodeType": "VariableDeclaration", - "scope": 4983, - "src": "8022:13:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4898, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8022:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4901, - "name": "_marketorderIdx", - "nodeType": "VariableDeclaration", - "scope": 4983, - "src": "8037:23:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4900, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8037:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8021:40:18" - }, - "payable": false, - "returnParameters": { - "id": 4907, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4906, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 4983, - "src": "8091:4:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4905, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "8091:4:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8090:6:18" - }, - "scope": 6097, - "src": "7999:834:18", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 5062, - "nodeType": "Block", - "src": "8917:456:18", - "statements": [ - { - "assignments": [ - 4995 - ], - "declarations": [ - { - "constant": false, - "id": 4995, - "name": "consensus", - "nodeType": "VariableDeclaration", - "scope": 5063, - "src": "8922:36:18", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - }, - "typeName": { - "contractScope": null, - "id": 4994, - "name": "IexecLib.Consensus", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2854, - "src": "8922:18:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4999, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4996, - "name": "m_consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4341, - "src": "8961:11:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Consensus_$2854_storage_$", - "typeString": "mapping(address => struct IexecLib.Consensus storage ref)" - } - }, - "id": 4998, - "indexExpression": { - "argumentTypes": null, - "id": 4997, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4985, - "src": "8973:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8961:18:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage", - "typeString": "struct IexecLib.Consensus storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8922:57:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5004, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5001, - "name": "now", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7010, - "src": "8991:3:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5002, - "name": "consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4995, - "src": "8997:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - } - }, - "id": 5003, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "consensusTimeout", - "nodeType": "MemberAccess", - "referencedDeclaration": 2844, - "src": "8997:26:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8991:32:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 5000, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "8983:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 5005, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8983:41:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5006, - "nodeType": "ExpressionStatement", - "src": "8983:41:18" - }, - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 5008, - "name": "i", - "nodeType": "VariableDeclaration", - "scope": 5063, - "src": "9028:9:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5007, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9028:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5009, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "9028:9:18" - }, - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 5011, - "name": "w", - "nodeType": "VariableDeclaration", - "scope": 5063, - "src": "9041:9:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5010, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9041:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5012, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "9041:9:18" - }, - { - "body": { - "id": 5054, - "nodeType": "Block", - "src": "9108:215:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5030, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5025, - "name": "w", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5011, - "src": "9113:1:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5026, - "name": "consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4995, - "src": "9117:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - } - }, - "id": 5027, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "contributors", - "nodeType": "MemberAccess", - "referencedDeclaration": 2849, - "src": "9117:22:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 5029, - "indexExpression": { - "argumentTypes": null, - "id": 5028, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5008, - "src": "9140:1:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9117:25:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "9113:29:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 5031, - "nodeType": "ExpressionStatement", - "src": "9113:29:18" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", - "typeString": "enum IexecLib.ContributionStatusEnum" - }, - "id": 5041, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5032, - "name": "m_contributions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4347, - "src": "9151:15:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_Contribution_$2873_storage_$_$", - "typeString": "mapping(address => mapping(address => struct IexecLib.Contribution storage ref))" - } - }, - "id": 5034, - "indexExpression": { - "argumentTypes": null, - "id": 5033, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4985, - "src": "9167:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9151:22:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Contribution_$2873_storage_$", - "typeString": "mapping(address => struct IexecLib.Contribution storage ref)" - } - }, - "id": 5036, - "indexExpression": { - "argumentTypes": null, - "id": 5035, - "name": "w", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5011, - "src": "9174:1:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9151:25:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Contribution_$2873_storage", - "typeString": "struct IexecLib.Contribution storage ref" - } - }, - "id": 5037, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "status", - "nodeType": "MemberAccess", - "referencedDeclaration": 2862, - "src": "9151:32:18", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", - "typeString": "enum IexecLib.ContributionStatusEnum" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5038, - "name": "IexecLib", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2893, - "src": "9187:8:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IexecLib_$2893_$", - "typeString": "type(library IexecLib)" - } - }, - "id": 5039, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "ContributionStatusEnum", - "nodeType": "MemberAccess", - "referencedDeclaration": 2860, - "src": "9187:31:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_ContributionStatusEnum_$2860_$", - "typeString": "type(enum IexecLib.ContributionStatusEnum)" - } - }, - "id": 5040, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "AUTHORIZED", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "9187:42:18", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", - "typeString": "enum IexecLib.ContributionStatusEnum" - } - }, - "src": "9151:78:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 5053, - "nodeType": "IfStatement", - "src": "9147:172:18", - "trueBody": { - "id": 5052, - "nodeType": "Block", - "src": "9234:85:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5045, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4985, - "src": "9280:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5046, - "name": "w", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5011, - "src": "9287:1:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5047, - "name": "consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4995, - "src": "9290:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - } - }, - "id": 5048, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "stakeAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 2836, - "src": "9290:21:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5043, - "name": "iexecHubInterface", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2441, - "src": "9248:17:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IexecHubInterface_$2802", - "typeString": "contract IexecHubInterface" - } - }, - "id": 5044, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "unlockForWork", - "nodeType": "MemberAccess", - "referencedDeclaration": 2716, - "src": "9248:31:18", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256) external returns (bool)" - } - }, - "id": 5049, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9248:64:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 5042, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "9240:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 5050, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9240:73:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5051, - "nodeType": "ExpressionStatement", - "src": "9240:73:18" - } - ] - } - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5021, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5017, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5008, - "src": "9066:1:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5018, - "name": "consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4995, - "src": "9070:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - } - }, - "id": 5019, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "contributors", - "nodeType": "MemberAccess", - "referencedDeclaration": 2849, - "src": "9070:22:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 5020, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "9070:29:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9066:33:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 5055, - "initializationExpression": { - "expression": { - "argumentTypes": null, - "id": 5015, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5013, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5008, - "src": "9059:1:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30", - "id": 5014, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9063:1:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "9059:5:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5016, - "nodeType": "ExpressionStatement", - "src": "9059:5:18" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 5023, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": true, - "src": "9101:3:18", - "subExpression": { - "argumentTypes": null, - "id": 5022, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5008, - "src": "9103:1:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5024, - "nodeType": "ExpressionStatement", - "src": "9101:3:18" - }, - "nodeType": "ForStatement", - "src": "9054:269:18" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5057, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4985, - "src": "9348:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 5056, - "name": "WorkOrderClaimed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4381, - "src": "9331:16:18", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 5058, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9331:23:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5059, - "nodeType": "EmitStatement", - "src": "9326:28:18" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 5060, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9365:4:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 4991, - "id": 5061, - "nodeType": "Return", - "src": "9358:11:18" - } - ] - }, - "documentation": null, - "id": 5063, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [], - "id": 4988, - "modifierName": { - "argumentTypes": null, - "id": 4987, - "name": "onlyIexecHub", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2454, - "src": "8888:12:18", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "8888:12:18" - } - ], - "name": "claimFailedConsensus", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4986, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4985, - "name": "_woid", - "nodeType": "VariableDeclaration", - "scope": 5063, - "src": "8866:13:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4984, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8866:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8865:15:18" - }, - "payable": false, - "returnParameters": { - "id": 4991, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4990, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 5063, - "src": "8910:4:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4989, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "8910:4:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8909:6:18" - }, - "scope": 6097, - "src": "8836:537:18", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 5102, - "nodeType": "Block", - "src": "9522:148:18", - "statements": [ - { - "body": { - "id": 5098, - "nodeType": "Block", - "src": "9571:81:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5090, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5065, - "src": "9608:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5091, - "name": "_workers", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5068, - "src": "9615:8:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 5093, - "indexExpression": { - "argumentTypes": null, - "id": 5092, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5078, - "src": "9624:1:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9615:11:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5094, - "name": "_enclaveChallenge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5070, - "src": "9628:17:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 5089, - "name": "allowWorkerToContribute", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5215, - "src": "9584:23:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$returns$_t_bool_$", - "typeString": "function (address,address,address) returns (bool)" - } - }, - "id": 5095, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9584:62:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 5088, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "9576:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 5096, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9576:71:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5097, - "nodeType": "ExpressionStatement", - "src": "9576:71:18" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5084, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5081, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5078, - "src": "9543:1:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5082, - "name": "_workers", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5068, - "src": "9547:8:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 5083, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "9547:15:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9543:19:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 5099, - "initializationExpression": { - "assignments": [ - 5078 - ], - "declarations": [ - { - "constant": false, - "id": 5078, - "name": "i", - "nodeType": "VariableDeclaration", - "scope": 5103, - "src": "9531:6:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5077, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "9531:4:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5080, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 5079, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9540:1:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "9531:10:18" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 5086, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": true, - "src": "9564:3:18", - "subExpression": { - "argumentTypes": null, - "id": 5085, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5078, - "src": "9566:1:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5087, - "nodeType": "ExpressionStatement", - "src": "9564:3:18" - }, - "nodeType": "ForStatement", - "src": "9526:126:18" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 5100, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9662:4:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 5076, - "id": 5101, - "nodeType": "Return", - "src": "9655:11:18" - } - ] - }, - "documentation": null, - "id": 5103, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [], - "id": 5073, - "modifierName": { - "argumentTypes": null, - "id": 5072, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3700, - "src": "9479:9:18", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "9479:9:18" - } - ], - "name": "allowWorkersToContribute", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5071, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5065, - "name": "_woid", - "nodeType": "VariableDeclaration", - "scope": 5103, - "src": "9410:13:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5064, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9410:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5068, - "name": "_workers", - "nodeType": "VariableDeclaration", - "scope": 5103, - "src": "9425:18:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - }, - "typeName": { - "baseType": { - "id": 5066, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9425:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 5067, - "length": null, - "nodeType": "ArrayTypeName", - "src": "9425:9:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[] storage pointer" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5070, - "name": "_enclaveChallenge", - "nodeType": "VariableDeclaration", - "scope": 5103, - "src": "9445:25:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5069, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9445:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9409:62:18" - }, - "payable": false, - "returnParameters": { - "id": 5076, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5075, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 5103, - "src": "9515:4:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5074, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "9515:4:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9514:6:18" - }, - "scope": 6097, - "src": "9376:294:18", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 5214, - "nodeType": "Block", - "src": "9815:798:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5119, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5105, - "src": "9861:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 5117, - "name": "iexecHubInterface", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2441, - "src": "9827:17:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IexecHubInterface_$2802", - "typeString": "contract IexecHubInterface" - } - }, - "id": 5118, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "isWoidRegistred", - "nodeType": "MemberAccess", - "referencedDeclaration": 2570, - "src": "9827:33:18", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view external returns (bool)" - } - }, - "id": 5120, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9827:40:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 5116, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "9819:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 5121, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9819:49:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5122, - "nodeType": "ExpressionStatement", - "src": "9819:49:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", - "typeString": "enum IexecLib.WorkOrderStatusEnum" - }, - "id": 5132, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5125, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5105, - "src": "9890:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 5124, - "name": "WorkOrder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4299, - "src": "9880:9:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_WorkOrder_$4299_$", - "typeString": "type(contract WorkOrder)" - } - }, - "id": 5126, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9880:16:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkOrder_$4299", - "typeString": "contract WorkOrder" - } - }, - "id": 5127, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "m_status", - "nodeType": "MemberAccess", - "referencedDeclaration": 4040, - "src": "9880:25:18", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_enum$_WorkOrderStatusEnum_$2832_$", - "typeString": "function () view external returns (enum IexecLib.WorkOrderStatusEnum)" - } - }, - "id": 5128, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9880:27:18", - "typeDescriptions": { - "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", - "typeString": "enum IexecLib.WorkOrderStatusEnum" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5129, - "name": "IexecLib", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2893, - "src": "9911:8:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IexecLib_$2893_$", - "typeString": "type(library IexecLib)" - } - }, - "id": 5130, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "WorkOrderStatusEnum", - "nodeType": "MemberAccess", - "referencedDeclaration": 2832, - "src": "9911:28:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_WorkOrderStatusEnum_$2832_$", - "typeString": "type(enum IexecLib.WorkOrderStatusEnum)" - } - }, - "id": 5131, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "ACTIVE", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "9911:35:18", - "typeDescriptions": { - "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", - "typeString": "enum IexecLib.WorkOrderStatusEnum" - } - }, - "src": "9880:66:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 5123, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "9872:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 5133, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9872:75:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5134, - "nodeType": "ExpressionStatement", - "src": "9872:75:18" - }, - { - "assignments": [ - 5138 - ], - "declarations": [ - { - "constant": false, - "id": 5138, - "name": "contribution", - "nodeType": "VariableDeclaration", - "scope": 5215, - "src": "9951:42:18", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", - "typeString": "struct IexecLib.Contribution storage pointer" - }, - "typeName": { - "contractScope": null, - "id": 5137, - "name": "IexecLib.Contribution", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2873, - "src": "9951:21:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", - "typeString": "struct IexecLib.Contribution storage pointer" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5144, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5139, - "name": "m_contributions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4347, - "src": "9996:15:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_Contribution_$2873_storage_$_$", - "typeString": "mapping(address => mapping(address => struct IexecLib.Contribution storage ref))" - } - }, - "id": 5141, - "indexExpression": { - "argumentTypes": null, - "id": 5140, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5105, - "src": "10012:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9996:22:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Contribution_$2873_storage_$", - "typeString": "mapping(address => struct IexecLib.Contribution storage ref)" - } - }, - "id": 5143, - "indexExpression": { - "argumentTypes": null, - "id": 5142, - "name": "_worker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5107, - "src": "10019:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9996:31:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Contribution_$2873_storage", - "typeString": "struct IexecLib.Contribution storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9951:76:18" - }, - { - "assignments": [ - 5148 - ], - "declarations": [ - { - "constant": false, - "id": 5148, - "name": "consensus", - "nodeType": "VariableDeclaration", - "scope": 5215, - "src": "10031:39:18", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - }, - "typeName": { - "contractScope": null, - "id": 5147, - "name": "IexecLib.Consensus", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2854, - "src": "10031:18:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5152, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5149, - "name": "m_consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4341, - "src": "10076:11:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Consensus_$2854_storage_$", - "typeString": "mapping(address => struct IexecLib.Consensus storage ref)" - } - }, - "id": 5151, - "indexExpression": { - "argumentTypes": null, - "id": 5150, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5105, - "src": "10088:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10076:18:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage", - "typeString": "struct IexecLib.Consensus storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10031:63:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5157, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5154, - "name": "now", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7010, - "src": "10106:3:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5155, - "name": "consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5148, - "src": "10113:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - } - }, - "id": 5156, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "consensusTimeout", - "nodeType": "MemberAccess", - "referencedDeclaration": 2844, - "src": "10113:26:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10106:33:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 5153, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "10098:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 5158, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10098:42:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5159, - "nodeType": "ExpressionStatement", - "src": "10098:42:18" - }, - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 5161, - "name": "workerPool", - "nodeType": "VariableDeclaration", - "scope": 5215, - "src": "10145:18:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5160, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10145:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5162, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "10145:18:18" - }, - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 5164, - "name": "workerScore", - "nodeType": "VariableDeclaration", - "scope": 5215, - "src": "10167:19:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5163, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10167:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5165, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "10167:19:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 5173, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 5166, - "name": "workerPool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5161, - "src": "10191:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5167, - "name": "workerScore", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5164, - "src": "10203:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5168, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "10190:25:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_address_$_t_uint256_$", - "typeString": "tuple(address,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5171, - "name": "_worker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5107, - "src": "10252:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 5169, - "name": "iexecHubInterface", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2441, - "src": "10218:17:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IexecHubInterface_$2802", - "typeString": "contract IexecHubInterface" - } - }, - "id": 5170, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getWorkerStatus", - "nodeType": "MemberAccess", - "referencedDeclaration": 2639, - "src": "10218:33:18", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_address_$_t_uint256_$", - "typeString": "function (address) view external returns (address,uint256)" - } - }, - "id": 5172, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10218:42:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_address_$_t_uint256_$", - "typeString": "tuple(address,uint256)" - } - }, - "src": "10190:70:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5174, - "nodeType": "ExpressionStatement", - "src": "10190:70:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 5180, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5176, - "name": "workerPool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5161, - "src": "10299:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5178, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7057, - "src": "10321:4:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkerPool_$6097", - "typeString": "contract WorkerPool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_WorkerPool_$6097", - "typeString": "contract WorkerPool" - } - ], - "id": 5177, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "10313:7:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 5179, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10313:13:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "10299:27:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 5175, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "10291:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 5181, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10291:36:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5182, - "nodeType": "ExpressionStatement", - "src": "10291:36:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", - "typeString": "enum IexecLib.ContributionStatusEnum" - }, - "id": 5189, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5184, - "name": "contribution", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5138, - "src": "10340:12:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", - "typeString": "struct IexecLib.Contribution storage pointer" - } - }, - "id": 5185, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "status", - "nodeType": "MemberAccess", - "referencedDeclaration": 2862, - "src": "10340:19:18", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", - "typeString": "enum IexecLib.ContributionStatusEnum" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5186, - "name": "IexecLib", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2893, - "src": "10363:8:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IexecLib_$2893_$", - "typeString": "type(library IexecLib)" - } - }, - "id": 5187, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "ContributionStatusEnum", - "nodeType": "MemberAccess", - "referencedDeclaration": 2860, - "src": "10363:31:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_ContributionStatusEnum_$2860_$", - "typeString": "type(enum IexecLib.ContributionStatusEnum)" - } - }, - "id": 5188, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "UNSET", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10363:37:18", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", - "typeString": "enum IexecLib.ContributionStatusEnum" - } - }, - "src": "10340:60:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 5183, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "10332:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 5190, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10332:69:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5191, - "nodeType": "ExpressionStatement", - "src": "10332:69:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 5198, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5192, - "name": "contribution", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5138, - "src": "10405:12:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", - "typeString": "struct IexecLib.Contribution storage pointer" - } - }, - "id": 5194, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "status", - "nodeType": "MemberAccess", - "referencedDeclaration": 2862, - "src": "10405:19:18", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", - "typeString": "enum IexecLib.ContributionStatusEnum" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5195, - "name": "IexecLib", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2893, - "src": "10437:8:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IexecLib_$2893_$", - "typeString": "type(library IexecLib)" - } - }, - "id": 5196, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "ContributionStatusEnum", - "nodeType": "MemberAccess", - "referencedDeclaration": 2860, - "src": "10437:31:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_ContributionStatusEnum_$2860_$", - "typeString": "type(enum IexecLib.ContributionStatusEnum)" - } - }, - "id": 5197, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "AUTHORIZED", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10437:42:18", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", - "typeString": "enum IexecLib.ContributionStatusEnum" - } - }, - "src": "10405:74:18", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", - "typeString": "enum IexecLib.ContributionStatusEnum" - } - }, - "id": 5199, - "nodeType": "ExpressionStatement", - "src": "10405:74:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 5204, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5200, - "name": "contribution", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5138, - "src": "10483:12:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", - "typeString": "struct IexecLib.Contribution storage pointer" - } - }, - "id": 5202, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "enclaveChallenge", - "nodeType": "MemberAccess", - "referencedDeclaration": 2868, - "src": "10483:29:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5203, - "name": "_enclaveChallenge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5109, - "src": "10515:17:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "10483:49:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 5205, - "nodeType": "ExpressionStatement", - "src": "10483:49:18" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5207, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5105, - "src": "10566:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5208, - "name": "_worker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5107, - "src": "10573:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5209, - "name": "workerScore", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5164, - "src": "10582:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5206, - "name": "AllowWorkerToContribute", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4389, - "src": "10542:23:18", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 5210, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10542:52:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5211, - "nodeType": "EmitStatement", - "src": "10537:57:18" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 5212, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10605:4:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 5115, - "id": 5213, - "nodeType": "Return", - "src": "10598:11:18" - } - ] - }, - "documentation": null, - "id": 5215, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [], - "id": 5112, - "modifierName": { - "argumentTypes": null, - "id": 5111, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3700, - "src": "9772:9:18", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "9772:9:18" - } - ], - "name": "allowWorkerToContribute", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5110, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5105, - "name": "_woid", - "nodeType": "VariableDeclaration", - "scope": 5215, - "src": "9706:13:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5104, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9706:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5107, - "name": "_worker", - "nodeType": "VariableDeclaration", - "scope": 5215, - "src": "9721:15:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5106, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9721:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5109, - "name": "_enclaveChallenge", - "nodeType": "VariableDeclaration", - "scope": 5215, - "src": "9738:25:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5108, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9738:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9705:59:18" - }, - "payable": false, - "returnParameters": { - "id": 5115, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5114, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 5215, - "src": "9808:4:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5113, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "9808:4:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9807:6:18" - }, - "scope": 6097, - "src": "9673:940:18", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 5382, - "nodeType": "Block", - "src": "10765:1197:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5235, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5217, - "src": "10811:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 5233, - "name": "iexecHubInterface", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2441, - "src": "10777:17:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IexecHubInterface_$2802", - "typeString": "contract IexecHubInterface" - } - }, - "id": 5234, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "isWoidRegistred", - "nodeType": "MemberAccess", - "referencedDeclaration": 2570, - "src": "10777:33:18", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view external returns (bool)" - } - }, - "id": 5236, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10777:40:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 5232, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "10769:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 5237, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10769:49:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5238, - "nodeType": "ExpressionStatement", - "src": "10769:49:18" - }, - { - "assignments": [ - 5242 - ], - "declarations": [ - { - "constant": false, - "id": 5242, - "name": "consensus", - "nodeType": "VariableDeclaration", - "scope": 5383, - "src": "10822:39:18", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - }, - "typeName": { - "contractScope": null, - "id": 5241, - "name": "IexecLib.Consensus", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2854, - "src": "10822:18:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5246, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5243, - "name": "m_consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4341, - "src": "10867:11:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Consensus_$2854_storage_$", - "typeString": "mapping(address => struct IexecLib.Consensus storage ref)" - } - }, - "id": 5245, - "indexExpression": { - "argumentTypes": null, - "id": 5244, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5217, - "src": "10879:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10867:18:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage", - "typeString": "struct IexecLib.Consensus storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10822:63:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5251, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5248, - "name": "now", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7010, - "src": "10897:3:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5249, - "name": "consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5242, - "src": "10904:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - } - }, - "id": 5250, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "consensusTimeout", - "nodeType": "MemberAccess", - "referencedDeclaration": 2844, - "src": "10904:26:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10897:33:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 5247, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "10889:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 5252, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10889:42:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5253, - "nodeType": "ExpressionStatement", - "src": "10889:42:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", - "typeString": "enum IexecLib.WorkOrderStatusEnum" - }, - "id": 5263, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5256, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5217, - "src": "10953:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 5255, - "name": "WorkOrder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4299, - "src": "10943:9:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_WorkOrder_$4299_$", - "typeString": "type(contract WorkOrder)" - } - }, - "id": 5257, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10943:16:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkOrder_$4299", - "typeString": "contract WorkOrder" - } - }, - "id": 5258, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "m_status", - "nodeType": "MemberAccess", - "referencedDeclaration": 4040, - "src": "10943:25:18", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_enum$_WorkOrderStatusEnum_$2832_$", - "typeString": "function () view external returns (enum IexecLib.WorkOrderStatusEnum)" - } - }, - "id": 5259, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10943:27:18", - "typeDescriptions": { - "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", - "typeString": "enum IexecLib.WorkOrderStatusEnum" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5260, - "name": "IexecLib", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2893, - "src": "10974:8:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IexecLib_$2893_$", - "typeString": "type(library IexecLib)" - } - }, - "id": 5261, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "WorkOrderStatusEnum", - "nodeType": "MemberAccess", - "referencedDeclaration": 2832, - "src": "10974:28:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_WorkOrderStatusEnum_$2832_$", - "typeString": "type(enum IexecLib.WorkOrderStatusEnum)" - } - }, - "id": 5262, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "ACTIVE", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10974:35:18", - "typeDescriptions": { - "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", - "typeString": "enum IexecLib.WorkOrderStatusEnum" - } - }, - "src": "10943:66:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 5254, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "10935:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 5264, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10935:75:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5265, - "nodeType": "ExpressionStatement", - "src": "10935:75:18" - }, - { - "assignments": [ - 5269 - ], - "declarations": [ - { - "constant": false, - "id": 5269, - "name": "contribution", - "nodeType": "VariableDeclaration", - "scope": 5383, - "src": "11070:42:18", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", - "typeString": "struct IexecLib.Contribution storage pointer" - }, - "typeName": { - "contractScope": null, - "id": 5268, - "name": "IexecLib.Contribution", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2873, - "src": "11070:21:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", - "typeString": "struct IexecLib.Contribution storage pointer" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5276, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5270, - "name": "m_contributions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4347, - "src": "11115:15:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_Contribution_$2873_storage_$_$", - "typeString": "mapping(address => mapping(address => struct IexecLib.Contribution storage ref))" - } - }, - "id": 5272, - "indexExpression": { - "argumentTypes": null, - "id": 5271, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5217, - "src": "11131:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11115:22:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Contribution_$2873_storage_$", - "typeString": "mapping(address => struct IexecLib.Contribution storage ref)" - } - }, - "id": 5275, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5273, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "11138:3:18", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5274, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "11138:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11115:34:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Contribution_$2873_storage", - "typeString": "struct IexecLib.Contribution storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "11070:79:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "id": 5280, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5278, - "name": "_resultHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5219, - "src": "11189:11:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830", - "id": 5279, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11204:3:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0x0" - }, - "src": "11189:18:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 5277, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "11181:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 5281, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11181:27:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5282, - "nodeType": "ExpressionStatement", - "src": "11181:27:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "id": 5286, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5284, - "name": "_resultSign", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5221, - "src": "11220:11:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830", - "id": 5285, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11235:3:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0x0" - }, - "src": "11220:18:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 5283, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "11212:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 5287, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11212:27:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5288, - "nodeType": "ExpressionStatement", - "src": "11212:27:18" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 5294, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5289, - "name": "contribution", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5269, - "src": "11247:12:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", - "typeString": "struct IexecLib.Contribution storage pointer" - } - }, - "id": 5290, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "enclaveChallenge", - "nodeType": "MemberAccess", - "referencedDeclaration": 2868, - "src": "11247:29:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 5292, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11288:1:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 5291, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "11280:7:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 5293, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11280:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "11247:43:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 5312, - "nodeType": "IfStatement", - "src": "11243:197:18", - "trueBody": { - "id": 5311, - "nodeType": "Block", - "src": "11294:146:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 5308, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5296, - "name": "contribution", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5269, - "src": "11307:12:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", - "typeString": "struct IexecLib.Contribution storage pointer" - } - }, - "id": 5297, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "enclaveChallenge", - "nodeType": "MemberAccess", - "referencedDeclaration": 2868, - "src": "11307:29:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "19457468657265756d205369676e6564204d6573736167653a0a3634", - "id": 5300, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11360:34:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_9835cb014a61578493d8e56753fb400073be9e8b300198bc2d66711870e6f164", - "typeString": "literal_string \"\u0019Ethereum Signed Message:\n64\"" - }, - "value": "\u0019Ethereum Signed Message:\n64" - }, - { - "argumentTypes": null, - "id": 5301, - "name": "_resultHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5219, - "src": "11396:11:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 5302, - "name": "_resultSign", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5221, - "src": "11409:11:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_9835cb014a61578493d8e56753fb400073be9e8b300198bc2d66711870e6f164", - "typeString": "literal_string \"\u0019Ethereum Signed Message:\n64\"" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 5299, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7002, - "src": "11350:9:18", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 5303, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11350:71:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 5304, - "name": "_v", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5223, - "src": "11423:2:18", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "argumentTypes": null, - "id": 5305, - "name": "_r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5225, - "src": "11427:2:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 5306, - "name": "_s", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5227, - "src": "11431:2:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 5298, - "name": "ecrecover", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7000, - "src": "11340:9:18", - "typeDescriptions": { - "typeIdentifier": "t_function_ecrecover_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$", - "typeString": "function (bytes32,uint8,bytes32,bytes32) pure returns (address)" - } - }, - "id": 5307, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11340:94:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "11307:127:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 5295, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "11299:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 5309, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11299:136:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5310, - "nodeType": "ExpressionStatement", - "src": "11299:136:18" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", - "typeString": "enum IexecLib.ContributionStatusEnum" - }, - "id": 5319, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5314, - "name": "contribution", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5269, - "src": "11452:12:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", - "typeString": "struct IexecLib.Contribution storage pointer" - } - }, - "id": 5315, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "status", - "nodeType": "MemberAccess", - "referencedDeclaration": 2862, - "src": "11452:19:18", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", - "typeString": "enum IexecLib.ContributionStatusEnum" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5316, - "name": "IexecLib", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2893, - "src": "11475:8:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IexecLib_$2893_$", - "typeString": "type(library IexecLib)" - } - }, - "id": 5317, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "ContributionStatusEnum", - "nodeType": "MemberAccess", - "referencedDeclaration": 2860, - "src": "11475:31:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_ContributionStatusEnum_$2860_$", - "typeString": "type(enum IexecLib.ContributionStatusEnum)" - } - }, - "id": 5318, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "AUTHORIZED", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "11475:42:18", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", - "typeString": "enum IexecLib.ContributionStatusEnum" - } - }, - "src": "11452:65:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 5313, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "11444:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 5320, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11444:74:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5321, - "nodeType": "ExpressionStatement", - "src": "11444:74:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 5328, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5322, - "name": "contribution", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5269, - "src": "11522:12:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", - "typeString": "struct IexecLib.Contribution storage pointer" - } - }, - "id": 5324, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "status", - "nodeType": "MemberAccess", - "referencedDeclaration": 2862, - "src": "11522:19:18", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", - "typeString": "enum IexecLib.ContributionStatusEnum" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5325, - "name": "IexecLib", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2893, - "src": "11548:8:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IexecLib_$2893_$", - "typeString": "type(library IexecLib)" - } - }, - "id": 5326, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "ContributionStatusEnum", - "nodeType": "MemberAccess", - "referencedDeclaration": 2860, - "src": "11548:31:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_ContributionStatusEnum_$2860_$", - "typeString": "type(enum IexecLib.ContributionStatusEnum)" - } - }, - "id": 5327, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "CONTRIBUTED", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "11548:43:18", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", - "typeString": "enum IexecLib.ContributionStatusEnum" - } - }, - "src": "11522:69:18", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", - "typeString": "enum IexecLib.ContributionStatusEnum" - } - }, - "id": 5329, - "nodeType": "ExpressionStatement", - "src": "11522:69:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 5334, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5330, - "name": "contribution", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5269, - "src": "11595:12:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", - "typeString": "struct IexecLib.Contribution storage pointer" - } - }, - "id": 5332, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "resultHash", - "nodeType": "MemberAccess", - "referencedDeclaration": 2864, - "src": "11595:23:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5333, - "name": "_resultHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5219, - "src": "11621:11:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "11595:37:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "id": 5335, - "nodeType": "ExpressionStatement", - "src": "11595:37:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 5340, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5336, - "name": "contribution", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5269, - "src": "11636:12:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", - "typeString": "struct IexecLib.Contribution storage pointer" - } - }, - "id": 5338, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "resultSign", - "nodeType": "MemberAccess", - "referencedDeclaration": 2866, - "src": "11636:23:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5339, - "name": "_resultSign", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5221, - "src": "11662:11:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "11636:37:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "id": 5341, - "nodeType": "ExpressionStatement", - "src": "11636:37:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 5350, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5342, - "name": "contribution", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5269, - "src": "11677:12:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", - "typeString": "struct IexecLib.Contribution storage pointer" - } - }, - "id": 5344, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "score", - "nodeType": "MemberAccess", - "referencedDeclaration": 2870, - "src": "11677:18:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5347, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "11736:3:18", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5348, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "11736:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 5345, - "name": "iexecHubInterface", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2441, - "src": "11703:17:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IexecHubInterface_$2802", - "typeString": "contract IexecHubInterface" - } - }, - "id": 5346, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getWorkerScore", - "nodeType": "MemberAccess", - "referencedDeclaration": 2646, - "src": "11703:32:18", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 5349, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11703:44:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11677:70:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5351, - "nodeType": "ExpressionStatement", - "src": "11677:70:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5357, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "11779:3:18", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5358, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "11779:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5352, - "name": "consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5242, - "src": "11751:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - } - }, - "id": 5355, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "contributors", - "nodeType": "MemberAccess", - "referencedDeclaration": 2849, - "src": "11751:22:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 5356, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "11751:27:18", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) returns (uint256)" - } - }, - "id": 5359, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11751:39:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5360, - "nodeType": "ExpressionStatement", - "src": "11751:39:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5364, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5217, - "src": "11833:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5365, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "11840:3:18", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5366, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "11840:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5367, - "name": "consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5242, - "src": "11852:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - } - }, - "id": 5368, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "stakeAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 2836, - "src": "11852:21:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5362, - "name": "iexecHubInterface", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2441, - "src": "11803:17:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IexecHubInterface_$2802", - "typeString": "contract IexecHubInterface" - } - }, - "id": 5363, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "lockForWork", - "nodeType": "MemberAccess", - "referencedDeclaration": 2705, - "src": "11803:29:18", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256) external returns (bool)" - } - }, - "id": 5369, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11803:71:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 5361, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "11795:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 5370, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11795:80:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5371, - "nodeType": "ExpressionStatement", - "src": "11795:80:18" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5373, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5217, - "src": "11895:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5374, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "11902:3:18", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5375, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "11902:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5376, - "name": "_resultHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5219, - "src": "11914:11:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 5372, - "name": "Contribute", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4397, - "src": "11884:10:18", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$", - "typeString": "function (address,address,bytes32)" - } - }, - "id": 5377, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11884:42:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5378, - "nodeType": "EmitStatement", - "src": "11879:47:18" - }, - { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5379, - "name": "consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5242, - "src": "11937:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - } - }, - "id": 5380, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "stakeAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 2836, - "src": "11937:21:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 5231, - "id": 5381, - "nodeType": "Return", - "src": "11930:28:18" - } - ] - }, - "documentation": null, - "id": 5383, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "contribute", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5228, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5217, - "name": "_woid", - "nodeType": "VariableDeclaration", - "scope": 5383, - "src": "10636:13:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5216, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10636:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5219, - "name": "_resultHash", - "nodeType": "VariableDeclaration", - "scope": 5383, - "src": "10651:19:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5218, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "10651:7:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5221, - "name": "_resultSign", - "nodeType": "VariableDeclaration", - "scope": 5383, - "src": "10672:19:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5220, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "10672:7:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5223, - "name": "_v", - "nodeType": "VariableDeclaration", - "scope": 5383, - "src": "10693:8:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 5222, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "10693:5:18", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5225, - "name": "_r", - "nodeType": "VariableDeclaration", - "scope": 5383, - "src": "10703:10:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5224, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "10703:7:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5227, - "name": "_s", - "nodeType": "VariableDeclaration", - "scope": 5383, - "src": "10715:10:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5226, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "10715:7:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10635:91:18" - }, - "payable": false, - "returnParameters": { - "id": 5231, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5230, - "name": "workerStake", - "nodeType": "VariableDeclaration", - "scope": 5383, - "src": "10743:19:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5229, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10743:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10742:21:18" - }, - "scope": 6097, - "src": "10616:1346:18", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 5524, - "nodeType": "Block", - "src": "12075:1064:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5397, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5385, - "src": "12121:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 5395, - "name": "iexecHubInterface", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2441, - "src": "12087:17:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IexecHubInterface_$2802", - "typeString": "contract IexecHubInterface" - } - }, - "id": 5396, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "isWoidRegistred", - "nodeType": "MemberAccess", - "referencedDeclaration": 2570, - "src": "12087:33:18", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view external returns (bool)" - } - }, - "id": 5398, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12087:40:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 5394, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "12079:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 5399, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12079:49:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5400, - "nodeType": "ExpressionStatement", - "src": "12079:49:18" - }, - { - "assignments": [ - 5404 - ], - "declarations": [ - { - "constant": false, - "id": 5404, - "name": "consensus", - "nodeType": "VariableDeclaration", - "scope": 5525, - "src": "12132:36:18", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - }, - "typeName": { - "contractScope": null, - "id": 5403, - "name": "IexecLib.Consensus", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2854, - "src": "12132:18:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5408, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5405, - "name": "m_consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4341, - "src": "12171:11:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Consensus_$2854_storage_$", - "typeString": "mapping(address => struct IexecLib.Consensus storage ref)" - } - }, - "id": 5407, - "indexExpression": { - "argumentTypes": null, - "id": 5406, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5385, - "src": "12183:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12171:18:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage", - "typeString": "struct IexecLib.Consensus storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "12132:57:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5413, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5410, - "name": "now", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7010, - "src": "12201:3:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5411, - "name": "consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5404, - "src": "12208:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - } - }, - "id": 5412, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "consensusTimeout", - "nodeType": "MemberAccess", - "referencedDeclaration": 2844, - "src": "12208:26:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12201:33:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 5409, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "12193:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 5414, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12193:42:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5415, - "nodeType": "ExpressionStatement", - "src": "12193:42:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5418, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5385, - "src": "12257:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 5417, - "name": "WorkOrder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4299, - "src": "12247:9:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_WorkOrder_$4299_$", - "typeString": "type(contract WorkOrder)" - } - }, - "id": 5419, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12247:16:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkOrder_$4299", - "typeString": "contract WorkOrder" - } - }, - "id": 5420, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "startRevealingPhase", - "nodeType": "MemberAccess", - "referencedDeclaration": 4188, - "src": "12247:36:18", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$__$returns$_t_bool_$", - "typeString": "function () external returns (bool)" - } - }, - "id": 5421, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12247:38:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 5416, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "12239:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 5422, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12239:47:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5423, - "nodeType": "ExpressionStatement", - "src": "12239:47:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 5428, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5424, - "name": "consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5404, - "src": "12291:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - } - }, - "id": 5426, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "winnerCount", - "nodeType": "MemberAccess", - "referencedDeclaration": 2846, - "src": "12291:21:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30", - "id": 5427, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12315:1:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "12291:25:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5429, - "nodeType": "ExpressionStatement", - "src": "12291:25:18" - }, - { - "body": { - "id": 5480, - "nodeType": "Block", - "src": "12380:317:18", - "statements": [ - { - "assignments": [ - 5443 - ], - "declarations": [ - { - "constant": false, - "id": 5443, - "name": "w", - "nodeType": "VariableDeclaration", - "scope": 5525, - "src": "12385:9:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5442, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12385:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5448, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5444, - "name": "consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5404, - "src": "12397:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - } - }, - "id": 5445, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "contributors", - "nodeType": "MemberAccess", - "referencedDeclaration": 2849, - "src": "12397:22:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 5447, - "indexExpression": { - "argumentTypes": null, - "id": 5446, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5431, - "src": "12420:1:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12397:25:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "12385:37:18" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 5467, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "id": 5456, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5449, - "name": "m_contributions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4347, - "src": "12436:15:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_Contribution_$2873_storage_$_$", - "typeString": "mapping(address => mapping(address => struct IexecLib.Contribution storage ref))" - } - }, - "id": 5451, - "indexExpression": { - "argumentTypes": null, - "id": 5450, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5385, - "src": "12452:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12436:22:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Contribution_$2873_storage_$", - "typeString": "mapping(address => struct IexecLib.Contribution storage ref)" - } - }, - "id": 5453, - "indexExpression": { - "argumentTypes": null, - "id": 5452, - "name": "w", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5443, - "src": "12459:1:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12436:25:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Contribution_$2873_storage", - "typeString": "struct IexecLib.Contribution storage ref" - } - }, - "id": 5454, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "resultHash", - "nodeType": "MemberAccess", - "referencedDeclaration": 2864, - "src": "12436:36:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 5455, - "name": "_consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5387, - "src": "12476:10:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "12436:50:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", - "typeString": "enum IexecLib.ContributionStatusEnum" - }, - "id": 5466, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5457, - "name": "m_contributions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4347, - "src": "12498:15:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_Contribution_$2873_storage_$_$", - "typeString": "mapping(address => mapping(address => struct IexecLib.Contribution storage ref))" - } - }, - "id": 5459, - "indexExpression": { - "argumentTypes": null, - "id": 5458, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5385, - "src": "12514:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12498:22:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Contribution_$2873_storage_$", - "typeString": "mapping(address => struct IexecLib.Contribution storage ref)" - } - }, - "id": 5461, - "indexExpression": { - "argumentTypes": null, - "id": 5460, - "name": "w", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5443, - "src": "12521:1:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12498:25:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Contribution_$2873_storage", - "typeString": "struct IexecLib.Contribution storage ref" - } - }, - "id": 5462, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "status", - "nodeType": "MemberAccess", - "referencedDeclaration": 2862, - "src": "12498:32:18", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", - "typeString": "enum IexecLib.ContributionStatusEnum" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5463, - "name": "IexecLib", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2893, - "src": "12534:8:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IexecLib_$2893_$", - "typeString": "type(library IexecLib)" - } - }, - "id": 5464, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "ContributionStatusEnum", - "nodeType": "MemberAccess", - "referencedDeclaration": 2860, - "src": "12534:31:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_ContributionStatusEnum_$2860_$", - "typeString": "type(enum IexecLib.ContributionStatusEnum)" - } - }, - "id": 5465, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "CONTRIBUTED", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12534:43:18", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", - "typeString": "enum IexecLib.ContributionStatusEnum" - } - }, - "src": "12498:79:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "12436:141:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 5479, - "nodeType": "IfStatement", - "src": "12427:266:18", - "trueBody": { - "id": 5478, - "nodeType": "Block", - "src": "12629:64:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5476, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5468, - "name": "consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5404, - "src": "12635:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - } - }, - "id": 5470, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "winnerCount", - "nodeType": "MemberAccess", - "referencedDeclaration": 2846, - "src": "12635:21:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "31", - "id": 5474, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12685:1:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5471, - "name": "consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5404, - "src": "12659:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - } - }, - "id": 5472, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "winnerCount", - "nodeType": "MemberAccess", - "referencedDeclaration": 2846, - "src": "12659:21:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5473, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 3773, - "src": "12659:25:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5475, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12659:28:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12635:52:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5477, - "nodeType": "ExpressionStatement", - "src": "12635:52:18" - } - ] - } - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5438, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5434, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5431, - "src": "12340:1:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5435, - "name": "consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5404, - "src": "12342:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - } - }, - "id": 5436, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "contributors", - "nodeType": "MemberAccess", - "referencedDeclaration": 2849, - "src": "12342:22:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 5437, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12342:29:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12340:31:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 5481, - "initializationExpression": { - "assignments": [ - 5431 - ], - "declarations": [ - { - "constant": false, - "id": 5431, - "name": "i", - "nodeType": "VariableDeclaration", - "scope": 5525, - "src": "12325:9:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5430, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12325:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5433, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 5432, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12337:1:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "12325:13:18" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 5440, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": true, - "src": "12373:3:18", - "subExpression": { - "argumentTypes": null, - "id": 5439, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5431, - "src": "12375:1:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5441, - "nodeType": "ExpressionStatement", - "src": "12373:3:18" - }, - "nodeType": "ForStatement", - "src": "12320:377:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5486, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5483, - "name": "consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5404, - "src": "12708:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - } - }, - "id": 5484, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "winnerCount", - "nodeType": "MemberAccess", - "referencedDeclaration": 2846, - "src": "12708:21:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5485, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12732:1:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "12708:25:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 5482, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "12700:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 5487, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12700:34:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5488, - "nodeType": "ExpressionStatement", - "src": "12700:34:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 5493, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5489, - "name": "consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5404, - "src": "12811:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - } - }, - "id": 5491, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "consensus", - "nodeType": "MemberAccess", - "referencedDeclaration": 2838, - "src": "12811:19:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5492, - "name": "_consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5387, - "src": "12834:10:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "12811:33:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "id": 5494, - "nodeType": "ExpressionStatement", - "src": "12811:33:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 5515, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5495, - "name": "consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5404, - "src": "12848:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - } - }, - "id": 5497, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "revealDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 2840, - "src": "12848:20:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5513, - "name": "now", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7010, - "src": "13037:3:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5510, - "name": "REVEAL_PERIOD_DURATION_RATIO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4350, - "src": "13003:28:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5503, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5385, - "src": "12971:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 5502, - "name": "WorkOrder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4299, - "src": "12961:9:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_WorkOrder_$4299_$", - "typeString": "type(contract WorkOrder)" - } - }, - "id": 5504, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12961:16:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkOrder_$4299", - "typeString": "contract WorkOrder" - } - }, - "id": 5505, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "m_marketorderIdx", - "nodeType": "MemberAccess", - "referencedDeclaration": 4042, - "src": "12961:33:18", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", - "typeString": "function () view external returns (uint256)" - } - }, - "id": 5506, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12961:35:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5500, - "name": "marketplaceInterface", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3520, - "src": "12917:20:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MarketplaceInterface_$3620", - "typeString": "contract MarketplaceInterface" - } - }, - "id": 5501, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getMarketOrderCategory", - "nodeType": "MemberAccess", - "referencedDeclaration": 3593, - "src": "12917:43:18", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) view external returns (uint256)" - } - }, - "id": 5507, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12917:80:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5498, - "name": "iexecHubInterface", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2441, - "src": "12871:17:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IexecHubInterface_$2802", - "typeString": "contract IexecHubInterface" - } - }, - "id": 5499, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getCategoryWorkClockTimeRef", - "nodeType": "MemberAccess", - "referencedDeclaration": 2610, - "src": "12871:45:18", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) view external returns (uint256)" - } - }, - "id": 5508, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12871:127:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5509, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 3826, - "src": "12871:131:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5511, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12871:161:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5512, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 3773, - "src": "12871:165:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5514, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12871:170:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12848:193:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5516, - "nodeType": "ExpressionStatement", - "src": "12848:193:18" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5518, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5385, - "src": "13102:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5519, - "name": "_consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5387, - "src": "13109:10:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 5517, - "name": "RevealConsensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4403, - "src": "13086:15:18", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_bytes32_$returns$__$", - "typeString": "function (address,bytes32)" - } - }, - "id": 5520, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13086:34:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5521, - "nodeType": "EmitStatement", - "src": "13081:39:18" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 5522, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13131:4:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 5393, - "id": 5523, - "nodeType": "Return", - "src": "13124:11:18" - } - ] - }, - "documentation": null, - "id": 5525, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [], - "id": 5390, - "modifierName": { - "argumentTypes": null, - "id": 5389, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3700, - "src": "12032:9:18", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "12032:9:18" - } - ], - "name": "revealConsensus", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5388, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5385, - "name": "_woid", - "nodeType": "VariableDeclaration", - "scope": 5525, - "src": "11990:13:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5384, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11990:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5387, - "name": "_consensus", - "nodeType": "VariableDeclaration", - "scope": 5525, - "src": "12005:18:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5386, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "12005:7:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11989:35:18" - }, - "payable": false, - "returnParameters": { - "id": 5393, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5392, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 5525, - "src": "12068:4:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5391, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "12068:4:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12067:6:18" - }, - "scope": 6097, - "src": "11965:1174:18", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 5653, - "nodeType": "Block", - "src": "13213:964:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5537, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5527, - "src": "13259:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 5535, - "name": "iexecHubInterface", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2441, - "src": "13225:17:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IexecHubInterface_$2802", - "typeString": "contract IexecHubInterface" - } - }, - "id": 5536, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "isWoidRegistred", - "nodeType": "MemberAccess", - "referencedDeclaration": 2570, - "src": "13225:33:18", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view external returns (bool)" - } - }, - "id": 5538, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13225:40:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 5534, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "13217:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 5539, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13217:49:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5540, - "nodeType": "ExpressionStatement", - "src": "13217:49:18" - }, - { - "assignments": [ - 5544 - ], - "declarations": [ - { - "constant": false, - "id": 5544, - "name": "consensus", - "nodeType": "VariableDeclaration", - "scope": 5654, - "src": "13270:39:18", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - }, - "typeName": { - "contractScope": null, - "id": 5543, - "name": "IexecLib.Consensus", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2854, - "src": "13270:18:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5548, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5545, - "name": "m_consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4341, - "src": "13315:11:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Consensus_$2854_storage_$", - "typeString": "mapping(address => struct IexecLib.Consensus storage ref)" - } - }, - "id": 5547, - "indexExpression": { - "argumentTypes": null, - "id": 5546, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5527, - "src": "13327:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13315:18:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage", - "typeString": "struct IexecLib.Consensus storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "13270:63:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5553, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5550, - "name": "now", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7010, - "src": "13345:3:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5551, - "name": "consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5544, - "src": "13352:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - } - }, - "id": 5552, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "consensusTimeout", - "nodeType": "MemberAccess", - "referencedDeclaration": 2844, - "src": "13352:26:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13345:33:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 5549, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "13337:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 5554, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13337:42:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5555, - "nodeType": "ExpressionStatement", - "src": "13337:42:18" - }, - { - "assignments": [ - 5559 - ], - "declarations": [ - { - "constant": false, - "id": 5559, - "name": "contribution", - "nodeType": "VariableDeclaration", - "scope": 5654, - "src": "13383:42:18", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", - "typeString": "struct IexecLib.Contribution storage pointer" - }, - "typeName": { - "contractScope": null, - "id": 5558, - "name": "IexecLib.Contribution", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2873, - "src": "13383:21:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", - "typeString": "struct IexecLib.Contribution storage pointer" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5566, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5560, - "name": "m_contributions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4347, - "src": "13428:15:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_Contribution_$2873_storage_$_$", - "typeString": "mapping(address => mapping(address => struct IexecLib.Contribution storage ref))" - } - }, - "id": 5562, - "indexExpression": { - "argumentTypes": null, - "id": 5561, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5527, - "src": "13444:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13428:22:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Contribution_$2873_storage_$", - "typeString": "mapping(address => struct IexecLib.Contribution storage ref)" - } - }, - "id": 5565, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5563, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "13451:3:18", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5564, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "13451:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13428:34:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Contribution_$2873_storage", - "typeString": "struct IexecLib.Contribution storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "13383:79:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", - "typeString": "enum IexecLib.WorkOrderStatusEnum" - }, - "id": 5576, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5569, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5527, - "src": "13485:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 5568, - "name": "WorkOrder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4299, - "src": "13475:9:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_WorkOrder_$4299_$", - "typeString": "type(contract WorkOrder)" - } - }, - "id": 5570, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13475:16:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkOrder_$4299", - "typeString": "contract WorkOrder" - } - }, - "id": 5571, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "m_status", - "nodeType": "MemberAccess", - "referencedDeclaration": 4040, - "src": "13475:25:18", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_enum$_WorkOrderStatusEnum_$2832_$", - "typeString": "function () view external returns (enum IexecLib.WorkOrderStatusEnum)" - } - }, - "id": 5572, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13475:27:18", - "typeDescriptions": { - "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", - "typeString": "enum IexecLib.WorkOrderStatusEnum" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5573, - "name": "IexecLib", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2893, - "src": "13506:8:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IexecLib_$2893_$", - "typeString": "type(library IexecLib)" - } - }, - "id": 5574, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "WorkOrderStatusEnum", - "nodeType": "MemberAccess", - "referencedDeclaration": 2832, - "src": "13506:28:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_WorkOrderStatusEnum_$2832_$", - "typeString": "type(enum IexecLib.WorkOrderStatusEnum)" - } - }, - "id": 5575, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "REVEALING", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "13506:38:18", - "typeDescriptions": { - "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", - "typeString": "enum IexecLib.WorkOrderStatusEnum" - } - }, - "src": "13475:69:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 5567, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "13467:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 5577, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13467:83:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5578, - "nodeType": "ExpressionStatement", - "src": "13467:83:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5583, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5580, - "name": "consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5544, - "src": "13562:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - } - }, - "id": 5581, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "revealDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 2840, - "src": "13562:20:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 5582, - "name": "now", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7010, - "src": "13593:3:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13562:34:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 5579, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "13554:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 5584, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13554:83:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5585, - "nodeType": "ExpressionStatement", - "src": "13554:83:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", - "typeString": "enum IexecLib.ContributionStatusEnum" - }, - "id": 5592, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5587, - "name": "contribution", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5559, - "src": "13649:12:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", - "typeString": "struct IexecLib.Contribution storage pointer" - } - }, - "id": 5588, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "status", - "nodeType": "MemberAccess", - "referencedDeclaration": 2862, - "src": "13649:19:18", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", - "typeString": "enum IexecLib.ContributionStatusEnum" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5589, - "name": "IexecLib", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2893, - "src": "13680:8:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IexecLib_$2893_$", - "typeString": "type(library IexecLib)" - } - }, - "id": 5590, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "ContributionStatusEnum", - "nodeType": "MemberAccess", - "referencedDeclaration": 2860, - "src": "13680:31:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_ContributionStatusEnum_$2860_$", - "typeString": "type(enum IexecLib.ContributionStatusEnum)" - } - }, - "id": 5591, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "CONTRIBUTED", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "13680:43:18", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", - "typeString": "enum IexecLib.ContributionStatusEnum" - } - }, - "src": "13649:74:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 5586, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "13641:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 5593, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13641:83:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5594, - "nodeType": "ExpressionStatement", - "src": "13641:83:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "id": 5600, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5596, - "name": "contribution", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5559, - "src": "13736:12:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", - "typeString": "struct IexecLib.Contribution storage pointer" - } - }, - "id": 5597, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "resultHash", - "nodeType": "MemberAccess", - "referencedDeclaration": 2864, - "src": "13736:23:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5598, - "name": "consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5544, - "src": "13767:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - } - }, - "id": 5599, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "consensus", - "nodeType": "MemberAccess", - "referencedDeclaration": 2838, - "src": "13767:19:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "13736:50:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 5595, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "13728:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 5601, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13728:83:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5602, - "nodeType": "ExpressionStatement", - "src": "13728:83:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "id": 5609, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5604, - "name": "contribution", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5559, - "src": "13823:12:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", - "typeString": "struct IexecLib.Contribution storage pointer" - } - }, - "id": 5605, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "resultHash", - "nodeType": "MemberAccess", - "referencedDeclaration": 2864, - "src": "13823:23:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5607, - "name": "_result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5529, - "src": "13864:7:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 5606, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7002, - "src": "13854:9:18", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 5608, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13854:42:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "13823:73:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 5603, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "13815:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 5610, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13815:83:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5611, - "nodeType": "ExpressionStatement", - "src": "13815:83:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "id": 5623, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5613, - "name": "contribution", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5559, - "src": "13910:12:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", - "typeString": "struct IexecLib.Contribution storage pointer" - } - }, - "id": 5614, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "resultSign", - "nodeType": "MemberAccess", - "referencedDeclaration": 2866, - "src": "13910:23:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "id": 5621, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5616, - "name": "_result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5529, - "src": "13951:7:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "BinaryOperation", - "operator": "^", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5618, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "13971:3:18", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5619, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "13971:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 5617, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7002, - "src": "13961:9:18", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 5620, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13961:21:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "13951:31:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 5615, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7002, - "src": "13941:9:18", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 5622, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13941:42:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "13910:73:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 5612, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "13902:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 5624, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13902:83:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5625, - "nodeType": "ExpressionStatement", - "src": "13902:83:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 5632, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5626, - "name": "contribution", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5559, - "src": "13990:12:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", - "typeString": "struct IexecLib.Contribution storage pointer" - } - }, - "id": 5628, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "status", - "nodeType": "MemberAccess", - "referencedDeclaration": 2862, - "src": "13990:19:18", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", - "typeString": "enum IexecLib.ContributionStatusEnum" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5629, - "name": "IexecLib", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2893, - "src": "14016:8:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IexecLib_$2893_$", - "typeString": "type(library IexecLib)" - } - }, - "id": 5630, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "ContributionStatusEnum", - "nodeType": "MemberAccess", - "referencedDeclaration": 2860, - "src": "14016:31:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_ContributionStatusEnum_$2860_$", - "typeString": "type(enum IexecLib.ContributionStatusEnum)" - } - }, - "id": 5631, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "PROVED", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "14016:38:18", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", - "typeString": "enum IexecLib.ContributionStatusEnum" - } - }, - "src": "13990:64:18", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", - "typeString": "enum IexecLib.ContributionStatusEnum" - } - }, - "id": 5633, - "nodeType": "ExpressionStatement", - "src": "13990:64:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 5642, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5634, - "name": "consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5544, - "src": "14058:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - } - }, - "id": 5636, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "revealCounter", - "nodeType": "MemberAccess", - "referencedDeclaration": 2842, - "src": "14058:23:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "31", - "id": 5640, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14112:1:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5637, - "name": "consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5544, - "src": "14084:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - } - }, - "id": 5638, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "revealCounter", - "nodeType": "MemberAccess", - "referencedDeclaration": 2842, - "src": "14084:23:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5639, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 3773, - "src": "14084:27:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5641, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14084:30:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14058:56:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5643, - "nodeType": "ExpressionStatement", - "src": "14058:56:18" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5645, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5527, - "src": "14131:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5646, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "14138:3:18", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5647, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "14138:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5648, - "name": "_result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5529, - "src": "14150:7:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 5644, - "name": "Reveal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4411, - "src": "14124:6:18", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$", - "typeString": "function (address,address,bytes32)" - } - }, - "id": 5649, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14124:34:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5650, - "nodeType": "EmitStatement", - "src": "14119:39:18" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 5651, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14169:4:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 5533, - "id": 5652, - "nodeType": "Return", - "src": "14162:11:18" - } - ] - }, - "documentation": null, - "id": 5654, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "reveal", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5530, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5527, - "name": "_woid", - "nodeType": "VariableDeclaration", - "scope": 5654, - "src": "13158:13:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5526, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13158:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5529, - "name": "_result", - "nodeType": "VariableDeclaration", - "scope": 5654, - "src": "13173:15:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5528, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "13173:7:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13157:32:18" - }, - "payable": false, - "returnParameters": { - "id": 5533, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5532, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 5654, - "src": "13206:4:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5531, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "13206:4:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13205:6:18" - }, - "scope": 6097, - "src": "13142:1035:18", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 5772, - "nodeType": "Block", - "src": "14261:798:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5666, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5656, - "src": "14307:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 5664, - "name": "iexecHubInterface", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2441, - "src": "14273:17:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IexecHubInterface_$2802", - "typeString": "contract IexecHubInterface" - } - }, - "id": 5665, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "isWoidRegistred", - "nodeType": "MemberAccess", - "referencedDeclaration": 2570, - "src": "14273:33:18", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view external returns (bool)" - } - }, - "id": 5667, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14273:40:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 5663, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "14265:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 5668, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14265:49:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5669, - "nodeType": "ExpressionStatement", - "src": "14265:49:18" - }, - { - "assignments": [ - 5673 - ], - "declarations": [ - { - "constant": false, - "id": 5673, - "name": "consensus", - "nodeType": "VariableDeclaration", - "scope": 5773, - "src": "14318:36:18", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - }, - "typeName": { - "contractScope": null, - "id": 5672, - "name": "IexecLib.Consensus", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2854, - "src": "14318:18:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5677, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5674, - "name": "m_consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4341, - "src": "14357:11:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Consensus_$2854_storage_$", - "typeString": "mapping(address => struct IexecLib.Consensus storage ref)" - } - }, - "id": 5676, - "indexExpression": { - "argumentTypes": null, - "id": 5675, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5656, - "src": "14369:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14357:18:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage", - "typeString": "struct IexecLib.Consensus storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14318:57:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5682, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5679, - "name": "now", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7010, - "src": "14387:3:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5680, - "name": "consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5673, - "src": "14394:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - } - }, - "id": 5681, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "consensusTimeout", - "nodeType": "MemberAccess", - "referencedDeclaration": 2844, - "src": "14394:26:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14387:33:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 5678, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "14379:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 5683, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14379:42:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5684, - "nodeType": "ExpressionStatement", - "src": "14379:42:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 5694, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5689, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5686, - "name": "consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5673, - "src": "14433:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - } - }, - "id": 5687, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "revealDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 2840, - "src": "14433:20:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 5688, - "name": "now", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7010, - "src": "14457:3:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14433:27:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5693, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5690, - "name": "consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5673, - "src": "14464:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - } - }, - "id": 5691, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "revealCounter", - "nodeType": "MemberAccess", - "referencedDeclaration": 2842, - "src": "14464:23:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5692, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14491:1:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "14464:28:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "14433:59:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 5685, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "14425:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 5695, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14425:68:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5696, - "nodeType": "ExpressionStatement", - "src": "14425:68:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5699, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5656, - "src": "14515:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 5698, - "name": "WorkOrder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4299, - "src": "14505:9:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_WorkOrder_$4299_$", - "typeString": "type(contract WorkOrder)" - } - }, - "id": 5700, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14505:16:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkOrder_$4299", - "typeString": "contract WorkOrder" - } - }, - "id": 5701, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "reActivate", - "nodeType": "MemberAccess", - "referencedDeclaration": 4220, - "src": "14505:27:18", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$__$returns$_t_bool_$", - "typeString": "function () external returns (bool)" - } - }, - "id": 5702, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14505:29:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 5697, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "14497:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 5703, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14497:38:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5704, - "nodeType": "ExpressionStatement", - "src": "14497:38:18" - }, - { - "body": { - "id": 5746, - "nodeType": "Block", - "src": "14602:206:18", - "statements": [ - { - "assignments": [ - 5718 - ], - "declarations": [ - { - "constant": false, - "id": 5718, - "name": "w", - "nodeType": "VariableDeclaration", - "scope": 5773, - "src": "14607:9:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5717, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "14607:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5723, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5719, - "name": "consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5673, - "src": "14619:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - } - }, - "id": 5720, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "contributors", - "nodeType": "MemberAccess", - "referencedDeclaration": 2849, - "src": "14619:22:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 5722, - "indexExpression": { - "argumentTypes": null, - "id": 5721, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5706, - "src": "14642:1:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14619:25:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14607:37:18" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "id": 5732, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5724, - "name": "m_contributions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4347, - "src": "14653:15:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_Contribution_$2873_storage_$_$", - "typeString": "mapping(address => mapping(address => struct IexecLib.Contribution storage ref))" - } - }, - "id": 5726, - "indexExpression": { - "argumentTypes": null, - "id": 5725, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5656, - "src": "14669:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14653:22:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Contribution_$2873_storage_$", - "typeString": "mapping(address => struct IexecLib.Contribution storage ref)" - } - }, - "id": 5728, - "indexExpression": { - "argumentTypes": null, - "id": 5727, - "name": "w", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5718, - "src": "14676:1:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14653:25:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Contribution_$2873_storage", - "typeString": "struct IexecLib.Contribution storage ref" - } - }, - "id": 5729, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "resultHash", - "nodeType": "MemberAccess", - "referencedDeclaration": 2864, - "src": "14653:36:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5730, - "name": "consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5673, - "src": "14693:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - } - }, - "id": 5731, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "consensus", - "nodeType": "MemberAccess", - "referencedDeclaration": 2838, - "src": "14693:19:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "14653:59:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 5745, - "nodeType": "IfStatement", - "src": "14649:155:18", - "trueBody": { - "id": 5744, - "nodeType": "Block", - "src": "14717:87:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5742, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5733, - "name": "m_contributions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4347, - "src": "14723:15:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_Contribution_$2873_storage_$_$", - "typeString": "mapping(address => mapping(address => struct IexecLib.Contribution storage ref))" - } - }, - "id": 5736, - "indexExpression": { - "argumentTypes": null, - "id": 5734, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5656, - "src": "14739:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14723:22:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Contribution_$2873_storage_$", - "typeString": "mapping(address => struct IexecLib.Contribution storage ref)" - } - }, - "id": 5737, - "indexExpression": { - "argumentTypes": null, - "id": 5735, - "name": "w", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5718, - "src": "14746:1:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14723:25:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Contribution_$2873_storage", - "typeString": "struct IexecLib.Contribution storage ref" - } - }, - "id": 5738, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "status", - "nodeType": "MemberAccess", - "referencedDeclaration": 2862, - "src": "14723:32:18", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", - "typeString": "enum IexecLib.ContributionStatusEnum" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5739, - "name": "IexecLib", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2893, - "src": "14758:8:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IexecLib_$2893_$", - "typeString": "type(library IexecLib)" - } - }, - "id": 5740, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "ContributionStatusEnum", - "nodeType": "MemberAccess", - "referencedDeclaration": 2860, - "src": "14758:31:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_ContributionStatusEnum_$2860_$", - "typeString": "type(enum IexecLib.ContributionStatusEnum)" - } - }, - "id": 5741, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "REJECTED", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "14758:40:18", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", - "typeString": "enum IexecLib.ContributionStatusEnum" - } - }, - "src": "14723:75:18", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", - "typeString": "enum IexecLib.ContributionStatusEnum" - } - }, - "id": 5743, - "nodeType": "ExpressionStatement", - "src": "14723:75:18" - } - ] - } - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5713, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5709, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5706, - "src": "14560:1:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5710, - "name": "consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5673, - "src": "14564:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - } - }, - "id": 5711, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "contributors", - "nodeType": "MemberAccess", - "referencedDeclaration": 2849, - "src": "14564:22:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 5712, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "14564:29:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14560:33:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 5747, - "initializationExpression": { - "assignments": [ - 5706 - ], - "declarations": [ - { - "constant": false, - "id": 5706, - "name": "i", - "nodeType": "VariableDeclaration", - "scope": 5773, - "src": "14545:9:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5705, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14545:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5708, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 5707, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14557:1:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "14545:13:18" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 5715, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": true, - "src": "14595:3:18", - "subExpression": { - "argumentTypes": null, - "id": 5714, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5706, - "src": "14597:1:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5716, - "nodeType": "ExpressionStatement", - "src": "14595:3:18" - }, - "nodeType": "ForStatement", - "src": "14540:268:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 5752, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5748, - "name": "consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5673, - "src": "14933:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - } - }, - "id": 5750, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "winnerCount", - "nodeType": "MemberAccess", - "referencedDeclaration": 2846, - "src": "14933:21:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30", - "id": 5751, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14957:1:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "14933:25:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5753, - "nodeType": "ExpressionStatement", - "src": "14933:25:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 5758, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5754, - "name": "consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5673, - "src": "14962:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - } - }, - "id": 5756, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "consensus", - "nodeType": "MemberAccess", - "referencedDeclaration": 2838, - "src": "14962:19:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830", - "id": 5757, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14986:3:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0x0" - }, - "src": "14962:27:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "id": 5759, - "nodeType": "ExpressionStatement", - "src": "14962:27:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 5764, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5760, - "name": "consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5673, - "src": "14993:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - } - }, - "id": 5762, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "revealDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 2840, - "src": "14993:20:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30", - "id": 5763, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15017:1:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "14993:25:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5765, - "nodeType": "ExpressionStatement", - "src": "14993:25:18" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5767, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5656, - "src": "15034:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 5766, - "name": "Reopen", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4415, - "src": "15027:6:18", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 5768, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15027:13:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5769, - "nodeType": "EmitStatement", - "src": "15022:18:18" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 5770, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15051:4:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 5662, - "id": 5771, - "nodeType": "Return", - "src": "15044:11:18" - } - ] - }, - "documentation": null, - "id": 5773, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [], - "id": 5659, - "modifierName": { - "argumentTypes": null, - "id": 5658, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3700, - "src": "14218:9:18", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "14218:9:18" - } - ], - "name": "reopen", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5657, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5656, - "name": "_woid", - "nodeType": "VariableDeclaration", - "scope": 5773, - "src": "14196:13:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5655, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "14196:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14195:15:18" - }, - "payable": false, - "returnParameters": { - "id": 5662, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5661, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 5773, - "src": "14254:4:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5660, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "14254:4:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14253:6:18" - }, - "scope": 6097, - "src": "14180:879:18", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 5856, - "nodeType": "Block", - "src": "15296:612:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5791, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5775, - "src": "15342:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 5789, - "name": "iexecHubInterface", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2441, - "src": "15308:17:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IexecHubInterface_$2802", - "typeString": "contract IexecHubInterface" - } - }, - "id": 5790, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "isWoidRegistred", - "nodeType": "MemberAccess", - "referencedDeclaration": 2570, - "src": "15308:33:18", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view external returns (bool)" - } - }, - "id": 5792, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15308:40:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 5788, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "15300:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 5793, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15300:49:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5794, - "nodeType": "ExpressionStatement", - "src": "15300:49:18" - }, - { - "assignments": [ - 5798 - ], - "declarations": [ - { - "constant": false, - "id": 5798, - "name": "consensus", - "nodeType": "VariableDeclaration", - "scope": 5857, - "src": "15353:36:18", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - }, - "typeName": { - "contractScope": null, - "id": 5797, - "name": "IexecLib.Consensus", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2854, - "src": "15353:18:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5802, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5799, - "name": "m_consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4341, - "src": "15392:11:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Consensus_$2854_storage_$", - "typeString": "mapping(address => struct IexecLib.Consensus storage ref)" - } - }, - "id": 5801, - "indexExpression": { - "argumentTypes": null, - "id": 5800, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5775, - "src": "15404:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "15392:18:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage", - "typeString": "struct IexecLib.Consensus storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15353:57:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5807, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5804, - "name": "now", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7010, - "src": "15422:3:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5805, - "name": "consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5798, - "src": "15429:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - } - }, - "id": 5806, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "consensusTimeout", - "nodeType": "MemberAccess", - "referencedDeclaration": 2844, - "src": "15429:26:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15422:33:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 5803, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "15414:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 5808, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15414:42:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5809, - "nodeType": "ExpressionStatement", - "src": "15414:42:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 5827, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 5819, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5814, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5811, - "name": "consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5798, - "src": "15469:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - } - }, - "id": 5812, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "revealDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 2840, - "src": "15469:20:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 5813, - "name": "now", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7010, - "src": "15493:3:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15469:27:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5818, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5815, - "name": "consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5798, - "src": "15500:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - } - }, - "id": 5816, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "revealCounter", - "nodeType": "MemberAccess", - "referencedDeclaration": 2842, - "src": "15500:23:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5817, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15526:1:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "15500:27:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "15469:58:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 5820, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "15468:60:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5825, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5821, - "name": "consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5798, - "src": "15533:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - } - }, - "id": 5822, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "revealCounter", - "nodeType": "MemberAccess", - "referencedDeclaration": 2842, - "src": "15533:23:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5823, - "name": "consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5798, - "src": "15560:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - } - }, - "id": 5824, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "winnerCount", - "nodeType": "MemberAccess", - "referencedDeclaration": 2846, - "src": "15560:21:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15533:48:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 5826, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "15532:50:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "15468:114:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 5810, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "15460:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 5828, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15460:123:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5829, - "nodeType": "ExpressionStatement", - "src": "15460:123:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5832, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5775, - "src": "15742:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5833, - "name": "consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5798, - "src": "15749:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - } - ], - "id": 5831, - "name": "distributeRewards", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6096, - "src": "15724:17:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_struct$_Consensus_$2854_memory_ptr_$returns$_t_bool_$", - "typeString": "function (address,struct IexecLib.Consensus memory) returns (bool)" - } - }, - "id": 5834, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15724:35:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 5830, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "15716:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 5835, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15716:44:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5836, - "nodeType": "ExpressionStatement", - "src": "15716:44:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5840, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5775, - "src": "15809:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5841, - "name": "_stdout", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5777, - "src": "15816:7:18", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 5842, - "name": "_stderr", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5779, - "src": "15825:7:18", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 5843, - "name": "_uri", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5781, - "src": "15834:4:18", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 5838, - "name": "iexecHubInterface", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2441, - "src": "15773:17:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IexecHubInterface_$2802", - "typeString": "contract IexecHubInterface" - } - }, - "id": 5839, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "finalizeWorkOrder", - "nodeType": "MemberAccess", - "referencedDeclaration": 2603, - "src": "15773:35:18", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$", - "typeString": "function (address,string memory,string memory,string memory) external returns (bool)" - } - }, - "id": 5844, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15773:66:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 5837, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "15765:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 5845, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15765:75:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5846, - "nodeType": "ExpressionStatement", - "src": "15765:75:18" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5848, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5775, - "src": "15862:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5849, - "name": "_stdout", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5777, - "src": "15868:7:18", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 5850, - "name": "_stderr", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5779, - "src": "15876:7:18", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 5851, - "name": "_uri", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5781, - "src": "15884:4:18", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 5847, - "name": "FinalizeWork", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4425, - "src": "15849:12:18", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (address,string memory,string memory,string memory)" - } - }, - "id": 5852, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15849:40:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5853, - "nodeType": "EmitStatement", - "src": "15844:45:18" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 5854, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15900:4:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 5787, - "id": 5855, - "nodeType": "Return", - "src": "15893:11:18" - } - ] - }, - "documentation": null, - "id": 5857, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [], - "id": 5784, - "modifierName": { - "argumentTypes": null, - "id": 5783, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3700, - "src": "15253:9:18", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "15253:9:18" - } - ], - "name": "finalizeWork", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5782, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5775, - "name": "_woid", - "nodeType": "VariableDeclaration", - "scope": 5857, - "src": "15186:13:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5774, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "15186:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5777, - "name": "_stdout", - "nodeType": "VariableDeclaration", - "scope": 5857, - "src": "15201:14:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - "typeName": { - "id": 5776, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "15201:6:18", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5779, - "name": "_stderr", - "nodeType": "VariableDeclaration", - "scope": 5857, - "src": "15217:14:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - "typeName": { - "id": 5778, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "15217:6:18", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5781, - "name": "_uri", - "nodeType": "VariableDeclaration", - "scope": 5857, - "src": "15233:11:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - "typeName": { - "id": 5780, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "15233:6:18", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15185:60:18" - }, - "payable": false, - "returnParameters": { - "id": 5787, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5786, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 5857, - "src": "15289:4:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5785, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "15289:4:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15288:6:18" - }, - "scope": 6097, - "src": "15164:744:18", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 6095, - "nodeType": "Block", - "src": "16009:1934:18", - "statements": [ - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 5867, - "name": "i", - "nodeType": "VariableDeclaration", - "scope": 6096, - "src": "16013:9:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5866, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16013:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5868, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "16013:9:18" - }, - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 5870, - "name": "w", - "nodeType": "VariableDeclaration", - "scope": 6096, - "src": "16026:9:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5869, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "16026:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5871, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "16026:9:18" - }, - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 5873, - "name": "workerBonus", - "nodeType": "VariableDeclaration", - "scope": 6096, - "src": "16039:19:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5872, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16039:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5874, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "16039:19:18" - }, - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 5876, - "name": "workerWeight", - "nodeType": "VariableDeclaration", - "scope": 6096, - "src": "16062:20:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5875, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16062:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5877, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "16062:20:18" - }, - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 5879, - "name": "totalWeight", - "nodeType": "VariableDeclaration", - "scope": 6096, - "src": "16086:19:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5878, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16086:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5880, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "16086:19:18" - }, - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 5882, - "name": "individualWorkerReward", - "nodeType": "VariableDeclaration", - "scope": 6096, - "src": "16109:30:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5881, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16109:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5883, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "16109:30:18" - }, - { - "assignments": [ - 5885 - ], - "declarations": [ - { - "constant": false, - "id": 5885, - "name": "totalReward", - "nodeType": "VariableDeclaration", - "scope": 6096, - "src": "16143:19:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5884, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16143:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5888, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5886, - "name": "_consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5861, - "src": "16165:10:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_memory_ptr", - "typeString": "struct IexecLib.Consensus memory" - } - }, - "id": 5887, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "poolReward", - "nodeType": "MemberAccess", - "referencedDeclaration": 2834, - "src": "16165:21:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16143:43:18" - }, - { - "assignments": [ - 5892 - ], - "declarations": [ - { - "constant": false, - "id": 5892, - "name": "contributors", - "nodeType": "VariableDeclaration", - "scope": 6096, - "src": "16190:29:18", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - }, - "typeName": { - "baseType": { - "id": 5890, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "16190:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 5891, - "length": null, - "nodeType": "ArrayTypeName", - "src": "16190:9:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[] storage pointer" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5895, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5893, - "name": "_consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5861, - "src": "16222:10:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_memory_ptr", - "typeString": "struct IexecLib.Consensus memory" - } - }, - "id": 5894, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "contributors", - "nodeType": "MemberAccess", - "referencedDeclaration": 2849, - "src": "16222:23:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory", - "typeString": "address[] memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16190:55:18" - }, - { - "body": { - "id": 5978, - "nodeType": "Block", - "src": "16291:590:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5911, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5907, - "name": "w", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5870, - "src": "16296:1:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5908, - "name": "contributors", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5892, - "src": "16300:12:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 5910, - "indexExpression": { - "argumentTypes": null, - "id": 5909, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5867, - "src": "16313:1:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "16300:15:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "16296:19:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 5912, - "nodeType": "ExpressionStatement", - "src": "16296:19:18" - }, - { - "assignments": [ - 5916 - ], - "declarations": [ - { - "constant": false, - "id": 5916, - "name": "c", - "nodeType": "VariableDeclaration", - "scope": 6096, - "src": "16320:31:18", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", - "typeString": "struct IexecLib.Contribution storage pointer" - }, - "typeName": { - "contractScope": null, - "id": 5915, - "name": "IexecLib.Contribution", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2873, - "src": "16320:21:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", - "typeString": "struct IexecLib.Contribution storage pointer" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5922, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5917, - "name": "m_contributions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4347, - "src": "16354:15:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_Contribution_$2873_storage_$_$", - "typeString": "mapping(address => mapping(address => struct IexecLib.Contribution storage ref))" - } - }, - "id": 5919, - "indexExpression": { - "argumentTypes": null, - "id": 5918, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5859, - "src": "16370:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "16354:22:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Contribution_$2873_storage_$", - "typeString": "mapping(address => struct IexecLib.Contribution storage ref)" - } - }, - "id": 5921, - "indexExpression": { - "argumentTypes": null, - "id": 5920, - "name": "w", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5870, - "src": "16377:1:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "16354:25:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Contribution_$2873_storage", - "typeString": "struct IexecLib.Contribution storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16320:59:18" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", - "typeString": "enum IexecLib.ContributionStatusEnum" - }, - "id": 5928, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5923, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5916, - "src": "16388:1:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", - "typeString": "struct IexecLib.Contribution storage pointer" - } - }, - "id": 5924, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "status", - "nodeType": "MemberAccess", - "referencedDeclaration": 2862, - "src": "16388:8:18", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", - "typeString": "enum IexecLib.ContributionStatusEnum" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5925, - "name": "IexecLib", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2893, - "src": "16400:8:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IexecLib_$2893_$", - "typeString": "type(library IexecLib)" - } - }, - "id": 5926, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "ContributionStatusEnum", - "nodeType": "MemberAccess", - "referencedDeclaration": 2860, - "src": "16400:31:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_ContributionStatusEnum_$2860_$", - "typeString": "type(enum IexecLib.ContributionStatusEnum)" - } - }, - "id": 5927, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "PROVED", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "16400:38:18", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", - "typeString": "enum IexecLib.ContributionStatusEnum" - } - }, - "src": "16388:50:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 5976, - "nodeType": "Block", - "src": "16812:65:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5974, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5968, - "name": "totalReward", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5885, - "src": "16818:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5971, - "name": "_consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5861, - "src": "16848:10:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_memory_ptr", - "typeString": "struct IexecLib.Consensus memory" - } - }, - "id": 5972, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "stakeAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 2836, - "src": "16848:22:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5969, - "name": "totalReward", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5885, - "src": "16832:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5970, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 3773, - "src": "16832:15:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5973, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16832:39:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16818:53:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5975, - "nodeType": "ExpressionStatement", - "src": "16818:53:18" - } - ] - }, - "id": 5977, - "nodeType": "IfStatement", - "src": "16384:493:18", - "trueBody": { - "id": 5967, - "nodeType": "Block", - "src": "16443:271:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5940, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5929, - "name": "workerBonus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5873, - "src": "16449:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 5935, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5930, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5916, - "src": "16465:1:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", - "typeString": "struct IexecLib.Contribution storage pointer" - } - }, - "id": 5931, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "enclaveChallenge", - "nodeType": "MemberAccess", - "referencedDeclaration": 2868, - "src": "16465:18:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 5933, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16495:1:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 5932, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "16487:7:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 5934, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16487:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "16465:32:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 5936, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "16464:34:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 5938, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16505:1:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "id": 5939, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "16464:42:18", - "trueExpression": { - "argumentTypes": null, - "hexValue": "33", - "id": 5937, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16501:1:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "16449:57:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5941, - "nodeType": "ExpressionStatement", - "src": "16449:57:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 5952, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5942, - "name": "workerWeight", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5876, - "src": "16537:12:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5951, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 5943, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16552:1:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5947, - "name": "workerBonus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5873, - "src": "16568:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5944, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5916, - "src": "16556:1:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", - "typeString": "struct IexecLib.Contribution storage pointer" - } - }, - "id": 5945, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "score", - "nodeType": "MemberAccess", - "referencedDeclaration": 2870, - "src": "16556:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5946, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 3826, - "src": "16556:11:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5948, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16556:24:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5949, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "log", - "nodeType": "MemberAccess", - "referencedDeclaration": 3923, - "src": "16556:28:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 5950, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16556:30:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16552:34:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16537:49:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5953, - "nodeType": "ExpressionStatement", - "src": "16537:49:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 5959, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5954, - "name": "totalWeight", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5879, - "src": "16592:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5957, - "name": "workerWeight", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5876, - "src": "16623:12:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5955, - "name": "totalWeight", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5879, - "src": "16607:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5956, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 3773, - "src": "16607:15:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5958, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16607:29:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16592:44:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5960, - "nodeType": "ExpressionStatement", - "src": "16592:44:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 5965, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5961, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5916, - "src": "16642:1:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", - "typeString": "struct IexecLib.Contribution storage pointer" - } - }, - "id": 5963, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "weight", - "nodeType": "MemberAccess", - "referencedDeclaration": 2872, - "src": "16642:8:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5964, - "name": "workerWeight", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5876, - "src": "16657:12:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16642:27:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5966, - "nodeType": "ExpressionStatement", - "src": "16642:27:18" - } - ] - } - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5903, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5900, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5867, - "src": "16261:1:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5901, - "name": "contributors", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5892, - "src": "16263:12:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 5902, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "16263:19:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16261:21:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 5979, - "initializationExpression": { - "expression": { - "argumentTypes": null, - "id": 5898, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5896, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5867, - "src": "16254:1:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30", - "id": 5897, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16258:1:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "16254:5:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5899, - "nodeType": "ExpressionStatement", - "src": "16254:5:18" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 5905, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": true, - "src": "16284:3:18", - "subExpression": { - "argumentTypes": null, - "id": 5904, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5867, - "src": "16286:1:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5906, - "nodeType": "ExpressionStatement", - "src": "16284:3:18" - }, - "nodeType": "ForStatement", - "src": "16249:632:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5983, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5981, - "name": "totalWeight", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5879, - "src": "16892:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5982, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16906:1:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "16892:15:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 5980, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "16884:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 5984, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16884:24:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5985, - "nodeType": "ExpressionStatement", - "src": "16884:24:18" - }, - { - "assignments": [ - 5987 - ], - "declarations": [ - { - "constant": false, - "id": 5987, - "name": "totalWorkersReward", - "nodeType": "VariableDeclaration", - "scope": 6096, - "src": "16959:26:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5986, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16959:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5998, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5994, - "name": "_consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5861, - "src": "17028:10:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_memory_ptr", - "typeString": "struct IexecLib.Consensus memory" - } - }, - "id": 5995, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "schedulerRewardRatioPolicy", - "nodeType": "MemberAccess", - "referencedDeclaration": 2853, - "src": "17028:37:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "313030", - "id": 5991, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17019:3:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - } - ], - "id": 5990, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "17011:7:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 5992, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17011:12:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5993, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 3793, - "src": "17011:16:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5996, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17011:55:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5988, - "name": "totalReward", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5885, - "src": "16988:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5989, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "percentage", - "nodeType": "MemberAccess", - "referencedDeclaration": 3914, - "src": "16988:22:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5997, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16988:79:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16959:108:18" - }, - { - "body": { - "id": 6080, - "nodeType": "Block", - "src": "17114:661:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 6014, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6010, - "name": "w", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5870, - "src": "17119:1:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6011, - "name": "contributors", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5892, - "src": "17123:12:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 6013, - "indexExpression": { - "argumentTypes": null, - "id": 6012, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5867, - "src": "17136:1:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "17123:15:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "17119:19:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 6015, - "nodeType": "ExpressionStatement", - "src": "17119:19:18" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", - "typeString": "enum IexecLib.ContributionStatusEnum" - }, - "id": 6025, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6016, - "name": "m_contributions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4347, - "src": "17147:15:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_Contribution_$2873_storage_$_$", - "typeString": "mapping(address => mapping(address => struct IexecLib.Contribution storage ref))" - } - }, - "id": 6018, - "indexExpression": { - "argumentTypes": null, - "id": 6017, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5859, - "src": "17163:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "17147:22:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Contribution_$2873_storage_$", - "typeString": "mapping(address => struct IexecLib.Contribution storage ref)" - } - }, - "id": 6020, - "indexExpression": { - "argumentTypes": null, - "id": 6019, - "name": "w", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5870, - "src": "17170:1:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "17147:25:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Contribution_$2873_storage", - "typeString": "struct IexecLib.Contribution storage ref" - } - }, - "id": 6021, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "status", - "nodeType": "MemberAccess", - "referencedDeclaration": 2862, - "src": "17147:32:18", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", - "typeString": "enum IexecLib.ContributionStatusEnum" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6022, - "name": "IexecLib", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2893, - "src": "17183:8:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IexecLib_$2893_$", - "typeString": "type(library IexecLib)" - } - }, - "id": 6023, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "ContributionStatusEnum", - "nodeType": "MemberAccess", - "referencedDeclaration": 2860, - "src": "17183:31:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_ContributionStatusEnum_$2860_$", - "typeString": "type(enum IexecLib.ContributionStatusEnum)" - } - }, - "id": 6024, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "PROVED", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "17183:38:18", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", - "typeString": "enum IexecLib.ContributionStatusEnum" - } - }, - "src": "17147:74:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 6078, - "nodeType": "Block", - "src": "17663:108:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6070, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5859, - "src": "17708:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6071, - "name": "w", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5870, - "src": "17715:1:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6072, - "name": "_consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5861, - "src": "17718:10:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_memory_ptr", - "typeString": "struct IexecLib.Consensus memory" - } - }, - "id": 6073, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "stakeAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 2836, - "src": "17718:22:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "74727565", - "id": 6074, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17742:4:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "expression": { - "argumentTypes": null, - "id": 6068, - "name": "iexecHubInterface", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2441, - "src": "17677:17:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IexecHubInterface_$2802", - "typeString": "contract IexecHubInterface" - } - }, - "id": 6069, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "seizeForWork", - "nodeType": "MemberAccess", - "referencedDeclaration": 2742, - "src": "17677:30:18", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bool_$returns$_t_bool_$", - "typeString": "function (address,address,uint256,bool) external returns (bool)" - } - }, - "id": 6075, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17677:70:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 6067, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "17669:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 6076, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17669:79:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6077, - "nodeType": "ExpressionStatement", - "src": "17669:79:18" - } - ] - }, - "id": 6079, - "nodeType": "IfStatement", - "src": "17143:628:18", - "trueBody": { - "id": 6066, - "nodeType": "Block", - "src": "17226:342:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 6037, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6026, - "name": "individualWorkerReward", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5882, - "src": "17232:22:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6029, - "name": "m_contributions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4347, - "src": "17290:15:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_Contribution_$2873_storage_$_$", - "typeString": "mapping(address => mapping(address => struct IexecLib.Contribution storage ref))" - } - }, - "id": 6031, - "indexExpression": { - "argumentTypes": null, - "id": 6030, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5859, - "src": "17306:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "17290:22:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Contribution_$2873_storage_$", - "typeString": "mapping(address => struct IexecLib.Contribution storage ref)" - } - }, - "id": 6033, - "indexExpression": { - "argumentTypes": null, - "id": 6032, - "name": "w", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5870, - "src": "17313:1:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "17290:25:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Contribution_$2873_storage", - "typeString": "struct IexecLib.Contribution storage ref" - } - }, - "id": 6034, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "weight", - "nodeType": "MemberAccess", - "referencedDeclaration": 2872, - "src": "17290:32:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6035, - "name": "totalWeight", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5879, - "src": "17324:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6027, - "name": "totalWorkersReward", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5987, - "src": "17257:18:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6028, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mulByFraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 3898, - "src": "17257:32:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" - } - }, - "id": 6036, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17257:79:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17232:104:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6038, - "nodeType": "ExpressionStatement", - "src": "17232:104:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 6044, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6039, - "name": "totalReward", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5885, - "src": "17342:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6042, - "name": "individualWorkerReward", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5882, - "src": "17373:22:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6040, - "name": "totalReward", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5885, - "src": "17357:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6041, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 3793, - "src": "17357:15:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6043, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17357:39:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17342:54:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6045, - "nodeType": "ExpressionStatement", - "src": "17342:54:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6049, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5859, - "src": "17442:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6050, - "name": "w", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5870, - "src": "17449:1:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6051, - "name": "_consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5861, - "src": "17452:10:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_memory_ptr", - "typeString": "struct IexecLib.Consensus memory" - } - }, - "id": 6052, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "stakeAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 2836, - "src": "17452:22:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6047, - "name": "iexecHubInterface", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2441, - "src": "17410:17:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IexecHubInterface_$2802", - "typeString": "contract IexecHubInterface" - } - }, - "id": 6048, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "unlockForWork", - "nodeType": "MemberAccess", - "referencedDeclaration": 2716, - "src": "17410:31:18", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256) external returns (bool)" - } - }, - "id": 6053, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17410:65:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 6046, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "17402:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 6054, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17402:74:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6055, - "nodeType": "ExpressionStatement", - "src": "17402:74:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6059, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5859, - "src": "17522:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6060, - "name": "w", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5870, - "src": "17529:1:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6061, - "name": "individualWorkerReward", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5882, - "src": "17532:22:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "74727565", - "id": 6062, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17556:4:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "expression": { - "argumentTypes": null, - "id": 6057, - "name": "iexecHubInterface", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2441, - "src": "17490:17:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IexecHubInterface_$2802", - "typeString": "contract IexecHubInterface" - } - }, - "id": 6058, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "rewardForWork", - "nodeType": "MemberAccess", - "referencedDeclaration": 2729, - "src": "17490:31:18", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bool_$returns$_t_bool_$", - "typeString": "function (address,address,uint256,bool) external returns (bool)" - } - }, - "id": 6063, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17490:71:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 6056, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "17482:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 6064, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17482:80:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6065, - "nodeType": "ExpressionStatement", - "src": "17482:80:18" - } - ] - } - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6006, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6003, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5867, - "src": "17084:1:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6004, - "name": "contributors", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5892, - "src": "17086:12:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 6005, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "17086:19:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17084:21:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 6081, - "initializationExpression": { - "expression": { - "argumentTypes": null, - "id": 6001, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5999, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5867, - "src": "17077:1:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30", - "id": 6000, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17081:1:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "17077:5:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6002, - "nodeType": "ExpressionStatement", - "src": "17077:5:18" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 6008, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": true, - "src": "17107:3:18", - "subExpression": { - "argumentTypes": null, - "id": 6007, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5867, - "src": "17109:1:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6009, - "nodeType": "ExpressionStatement", - "src": "17107:3:18" - }, - "nodeType": "ForStatement", - "src": "17072:703:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6085, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5859, - "src": "17868:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6086, - "name": "_consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5861, - "src": "17875:10:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_memory_ptr", - "typeString": "struct IexecLib.Consensus memory" - } - }, - "id": 6087, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "workerpoolOwner", - "nodeType": "MemberAccess", - "referencedDeclaration": 2851, - "src": "17875:26:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6088, - "name": "totalReward", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5885, - "src": "17903:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 6089, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17916:5:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "expression": { - "argumentTypes": null, - "id": 6083, - "name": "iexecHubInterface", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2441, - "src": "17836:17:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IexecHubInterface_$2802", - "typeString": "contract IexecHubInterface" - } - }, - "id": 6084, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "rewardForWork", - "nodeType": "MemberAccess", - "referencedDeclaration": 2729, - "src": "17836:31:18", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bool_$returns$_t_bool_$", - "typeString": "function (address,address,uint256,bool) external returns (bool)" - } - }, - "id": 6090, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17836:86:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 6082, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "17828:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 6091, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17828:95:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6092, - "nodeType": "ExpressionStatement", - "src": "17828:95:18" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 6093, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17935:4:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 5865, - "id": 6094, - "nodeType": "Return", - "src": "17928:11:18" - } - ] - }, - "documentation": null, - "id": 6096, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "distributeRewards", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5862, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5859, - "name": "_woid", - "nodeType": "VariableDeclaration", - "scope": 6096, - "src": "15938:13:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5858, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "15938:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5861, - "name": "_consensus", - "nodeType": "VariableDeclaration", - "scope": 6096, - "src": "15953:29:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_memory_ptr", - "typeString": "struct IexecLib.Consensus memory" - }, - "typeName": { - "contractScope": null, - "id": 5860, - "name": "IexecLib.Consensus", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2854, - "src": "15953:18:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15937:46:18" - }, - "payable": false, - "returnParameters": { - "id": 5865, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5864, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 6096, - "src": "16002:4:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5863, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "16002:4:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16001:6:18" - }, - "scope": 6097, - "src": "15911:2032:18", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 6098, - "src": "253:17693:18" - } - ], - "src": "0:17947:18" - }, - "legacyAST": { - "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/WorkerPool.sol", - "exportedSymbols": { - "WorkerPool": [ - 6097 - ] - }, - "id": 6098, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 4301, - "literals": [ - "solidity", - "^", - "0.4", - ".21" - ], - "nodeType": "PragmaDirective", - "src": "0:24:18" - }, - { - "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/OwnableOZ.sol", - "file": "./OwnableOZ.sol", - "id": 4302, - "nodeType": "ImportDirective", - "scope": 6098, - "sourceUnit": 3748, - "src": "26:25:18", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/IexecHubAccessor.sol", - "file": "./IexecHubAccessor.sol", - "id": 4303, - "nodeType": "ImportDirective", - "scope": 6098, - "sourceUnit": 2476, - "src": "52:32:18", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/MarketplaceAccessor.sol", - "file": "./MarketplaceAccessor.sol", - "id": 4304, - "nodeType": "ImportDirective", - "scope": 6098, - "sourceUnit": 3546, - "src": "85:35:18", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/IexecHub.sol", - "file": "./IexecHub.sol", - "id": 4305, - "nodeType": "ImportDirective", - "scope": 6098, - "sourceUnit": 2437, - "src": "121:24:18", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/SafeMathOZ.sol", - "file": "./SafeMathOZ.sol", - "id": 4306, - "nodeType": "ImportDirective", - "scope": 6098, - "sourceUnit": 3925, - "src": "146:26:18", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/WorkOrder.sol", - "file": "./WorkOrder.sol", - "id": 4307, - "nodeType": "ImportDirective", - "scope": 6098, - "sourceUnit": 4300, - "src": "173:25:18", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/Marketplace.sol", - "file": "./Marketplace.sol", - "id": 4308, - "nodeType": "ImportDirective", - "scope": 6098, - "sourceUnit": 3514, - "src": "199:27:18", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/IexecLib.sol", - "file": "./IexecLib.sol", - "id": 4309, - "nodeType": "ImportDirective", - "scope": 6098, - "sourceUnit": 2894, - "src": "227:24:18", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [ - { - "arguments": [], - "baseName": { - "contractScope": null, - "id": 4310, - "name": "OwnableOZ", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 3747, - "src": "276:9:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_OwnableOZ_$3747", - "typeString": "contract OwnableOZ" - } - }, - "id": 4311, - "nodeType": "InheritanceSpecifier", - "src": "276:9:18" - }, - { - "arguments": [], - "baseName": { - "contractScope": null, - "id": 4312, - "name": "IexecHubAccessor", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2475, - "src": "287:16:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IexecHubAccessor_$2475", - "typeString": "contract IexecHubAccessor" - } - }, - "id": 4313, - "nodeType": "InheritanceSpecifier", - "src": "287:16:18" - }, - { - "arguments": [], - "baseName": { - "contractScope": null, - "id": 4314, - "name": "MarketplaceAccessor", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 3545, - "src": "305:19:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MarketplaceAccessor_$3545", - "typeString": "contract MarketplaceAccessor" - } - }, - "id": 4315, - "nodeType": "InheritanceSpecifier", - "src": "305:19:18" - } - ], - "contractDependencies": [ - 2475, - 3545, - 3747 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 6097, - "linearizedBaseContracts": [ - 6097, - 3545, - 2475, - 3747 - ], - "name": "WorkerPool", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 4318, - "libraryName": { - "contractScope": null, - "id": 4316, - "name": "SafeMathOZ", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 3924, - "src": "334:10:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMathOZ_$3924", - "typeString": "library SafeMathOZ" - } - }, - "nodeType": "UsingForDirective", - "src": "328:29:18", - "typeName": { - "id": 4317, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "349:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "constant": false, - "id": 4320, - "name": "m_description", - "nodeType": "VariableDeclaration", - "scope": 6097, - "src": "383:48:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - }, - "typeName": { - "id": 4319, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "383:6:18", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 4322, - "name": "m_stakeRatioPolicy", - "nodeType": "VariableDeclaration", - "scope": 6097, - "src": "434:53:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4321, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "434:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 4324, - "name": "m_schedulerRewardRatioPolicy", - "nodeType": "VariableDeclaration", - "scope": 6097, - "src": "528:63:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4323, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "528:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 4326, - "name": "m_subscriptionLockStakePolicy", - "nodeType": "VariableDeclaration", - "scope": 6097, - "src": "632:64:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4325, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "632:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 4328, - "name": "m_subscriptionMinimumStakePolicy", - "nodeType": "VariableDeclaration", - "scope": 6097, - "src": "782:67:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4327, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "782:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 4330, - "name": "m_subscriptionMinimumScorePolicy", - "nodeType": "VariableDeclaration", - "scope": 6097, - "src": "885:67:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4329, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "885:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 4333, - "name": "m_workers", - "nodeType": "VariableDeclaration", - "scope": 6097, - "src": "988:44:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - }, - "typeName": { - "baseType": { - "id": 4331, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "988:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 4332, - "length": null, - "nodeType": "ArrayTypeName", - "src": "988:9:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[] storage pointer" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 4337, - "name": "m_workerIndex", - "nodeType": "VariableDeclaration", - "scope": 6097, - "src": "1035:48:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 4336, - "keyType": { - "id": 4334, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1043:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1035:27:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 4335, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1054:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 4341, - "name": "m_consensus", - "nodeType": "VariableDeclaration", - "scope": 6097, - "src": "1127:57:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Consensus_$2854_storage_$", - "typeString": "mapping(address => struct IexecLib.Consensus storage ref)" - }, - "typeName": { - "id": 4340, - "keyType": { - "id": 4338, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1135:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1127:38:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Consensus_$2854_storage_$", - "typeString": "mapping(address => struct IexecLib.Consensus storage ref)" - }, - "valueType": { - "contractScope": null, - "id": 4339, - "name": "IexecLib.Consensus", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2854, - "src": "1146:18:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 4347, - "name": "m_contributions", - "nodeType": "VariableDeclaration", - "scope": 6097, - "src": "1240:84:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_Contribution_$2873_storage_$_$", - "typeString": "mapping(address => mapping(address => struct IexecLib.Contribution storage ref))" - }, - "typeName": { - "id": 4346, - "keyType": { - "id": 4342, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1248:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1240:61:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_Contribution_$2873_storage_$_$", - "typeString": "mapping(address => mapping(address => struct IexecLib.Contribution storage ref))" - }, - "valueType": { - "id": 4345, - "keyType": { - "id": 4343, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1267:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1259:41:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Contribution_$2873_storage_$", - "typeString": "mapping(address => struct IexecLib.Contribution storage ref)" - }, - "valueType": { - "contractScope": null, - "id": 4344, - "name": "IexecLib.Contribution", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2873, - "src": "1278:21:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", - "typeString": "struct IexecLib.Contribution storage pointer" - } - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": true, - "id": 4350, - "name": "REVEAL_PERIOD_DURATION_RATIO", - "nodeType": "VariableDeclaration", - "scope": 6097, - "src": "1328:57:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4348, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1328:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "32", - "id": 4349, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1384:1:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 4353, - "name": "CONSENSUS_DURATION_RATIO", - "nodeType": "VariableDeclaration", - "scope": 6097, - "src": "1388:58:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4351, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1388:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "3130", - "id": 4352, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1444:2:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "visibility": "public" - }, - { - "constant": false, - "id": 4355, - "name": "m_workerPoolHubAddress", - "nodeType": "VariableDeclaration", - "scope": 6097, - "src": "1499:45:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4354, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1499:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "anonymous": false, - "documentation": "Events", - "id": 4373, - "name": "WorkerPoolPolicyUpdate", - "nodeType": "EventDefinition", - "parameters": { - "id": 4372, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4357, - "indexed": false, - "name": "oldStakeRatioPolicy", - "nodeType": "VariableDeclaration", - "scope": 4373, - "src": "1602:27:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4356, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1602:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4359, - "indexed": false, - "name": "newStakeRatioPolicy", - "nodeType": "VariableDeclaration", - "scope": 4373, - "src": "1645:27:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4358, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1645:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4361, - "indexed": false, - "name": "oldSchedulerRewardRatioPolicy", - "nodeType": "VariableDeclaration", - "scope": 4373, - "src": "1676:37:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4360, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1676:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4363, - "indexed": false, - "name": "newSchedulerRewardRatioPolicy", - "nodeType": "VariableDeclaration", - "scope": 4373, - "src": "1719:37:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4362, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1719:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4365, - "indexed": false, - "name": "oldSubscriptionMinimumStakePolicy", - "nodeType": "VariableDeclaration", - "scope": 4373, - "src": "1760:41:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4364, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1760:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4367, - "indexed": false, - "name": "newSubscriptionMinimumStakePolicy", - "nodeType": "VariableDeclaration", - "scope": 4373, - "src": "1803:41:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4366, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1803:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4369, - "indexed": false, - "name": "oldSubscriptionMinimumScorePolicy", - "nodeType": "VariableDeclaration", - "scope": 4373, - "src": "1848:41:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4368, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1848:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4371, - "indexed": false, - "name": "newSubscriptionMinimumScorePolicy", - "nodeType": "VariableDeclaration", - "scope": 4373, - "src": "1891:41:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4370, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1891:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1598:335:18" - }, - "src": "1570:364:18" - }, - { - "anonymous": false, - "documentation": null, - "id": 4377, - "name": "WorkOrderActive", - "nodeType": "EventDefinition", - "parameters": { - "id": 4376, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4375, - "indexed": true, - "name": "woid", - "nodeType": "VariableDeclaration", - "scope": 4377, - "src": "1968:20:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4374, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1968:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1967:22:18" - }, - "src": "1937:53:18" - }, - { - "anonymous": false, - "documentation": null, - "id": 4381, - "name": "WorkOrderClaimed", - "nodeType": "EventDefinition", - "parameters": { - "id": 4380, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4379, - "indexed": true, - "name": "woid", - "nodeType": "VariableDeclaration", - "scope": 4381, - "src": "2023:20:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4378, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2023:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2022:22:18" - }, - "src": "1992:53:18" - }, - { - "anonymous": false, - "documentation": null, - "id": 4389, - "name": "AllowWorkerToContribute", - "nodeType": "EventDefinition", - "parameters": { - "id": 4388, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4383, - "indexed": true, - "name": "woid", - "nodeType": "VariableDeclaration", - "scope": 4389, - "src": "2079:20:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4382, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2079:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4385, - "indexed": true, - "name": "worker", - "nodeType": "VariableDeclaration", - "scope": 4389, - "src": "2101:22:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4384, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2101:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4387, - "indexed": false, - "name": "workerScore", - "nodeType": "VariableDeclaration", - "scope": 4389, - "src": "2125:19:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4386, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2125:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2078:67:18" - }, - "src": "2048:98:18" - }, - { - "anonymous": false, - "documentation": null, - "id": 4397, - "name": "Contribute", - "nodeType": "EventDefinition", - "parameters": { - "id": 4396, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4391, - "indexed": true, - "name": "woid", - "nodeType": "VariableDeclaration", - "scope": 4397, - "src": "2179:20:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4390, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2179:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4393, - "indexed": true, - "name": "worker", - "nodeType": "VariableDeclaration", - "scope": 4397, - "src": "2201:22:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4392, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2201:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4395, - "indexed": false, - "name": "resultHash", - "nodeType": "VariableDeclaration", - "scope": 4397, - "src": "2225:18:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4394, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2225:7:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2178:66:18" - }, - "src": "2148:97:18" - }, - { - "anonymous": false, - "documentation": null, - "id": 4403, - "name": "RevealConsensus", - "nodeType": "EventDefinition", - "parameters": { - "id": 4402, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4399, - "indexed": true, - "name": "woid", - "nodeType": "VariableDeclaration", - "scope": 4403, - "src": "2278:20:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4398, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2278:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4401, - "indexed": false, - "name": "consensus", - "nodeType": "VariableDeclaration", - "scope": 4403, - "src": "2300:17:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4400, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2300:7:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2277:41:18" - }, - "src": "2247:72:18" - }, - { - "anonymous": false, - "documentation": null, - "id": 4411, - "name": "Reveal", - "nodeType": "EventDefinition", - "parameters": { - "id": 4410, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4405, - "indexed": true, - "name": "woid", - "nodeType": "VariableDeclaration", - "scope": 4411, - "src": "2352:20:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4404, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2352:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4407, - "indexed": true, - "name": "worker", - "nodeType": "VariableDeclaration", - "scope": 4411, - "src": "2374:22:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4406, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2374:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4409, - "indexed": false, - "name": "result", - "nodeType": "VariableDeclaration", - "scope": 4411, - "src": "2398:14:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4408, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2398:7:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2351:62:18" - }, - "src": "2321:93:18" - }, - { - "anonymous": false, - "documentation": null, - "id": 4415, - "name": "Reopen", - "nodeType": "EventDefinition", - "parameters": { - "id": 4414, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4413, - "indexed": true, - "name": "woid", - "nodeType": "VariableDeclaration", - "scope": 4415, - "src": "2447:20:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4412, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2447:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2446:22:18" - }, - "src": "2416:53:18" - }, - { - "anonymous": false, - "documentation": null, - "id": 4425, - "name": "FinalizeWork", - "nodeType": "EventDefinition", - "parameters": { - "id": 4424, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4417, - "indexed": true, - "name": "woid", - "nodeType": "VariableDeclaration", - "scope": 4425, - "src": "2503:20:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4416, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2503:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4419, - "indexed": false, - "name": "stdout", - "nodeType": "VariableDeclaration", - "scope": 4425, - "src": "2525:13:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - "typeName": { - "id": 4418, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2525:6:18", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4421, - "indexed": false, - "name": "stderr", - "nodeType": "VariableDeclaration", - "scope": 4425, - "src": "2540:13:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - "typeName": { - "id": 4420, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2540:6:18", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4423, - "indexed": false, - "name": "uri", - "nodeType": "VariableDeclaration", - "scope": 4425, - "src": "2555:10:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - "typeName": { - "id": 4422, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2555:6:18", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2502:64:18" - }, - "src": "2472:95:18" - }, - { - "anonymous": false, - "documentation": null, - "id": 4429, - "name": "WorkerSubscribe", - "nodeType": "EventDefinition", - "parameters": { - "id": 4428, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4427, - "indexed": true, - "name": "worker", - "nodeType": "VariableDeclaration", - "scope": 4429, - "src": "2603:22:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4426, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2603:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2602:24:18" - }, - "src": "2572:55:18" - }, - { - "anonymous": false, - "documentation": null, - "id": 4433, - "name": "WorkerUnsubscribe", - "nodeType": "EventDefinition", - "parameters": { - "id": 4432, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4431, - "indexed": true, - "name": "worker", - "nodeType": "VariableDeclaration", - "scope": 4433, - "src": "2660:22:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4430, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2660:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2659:24:18" - }, - "src": "2629:55:18" - }, - { - "anonymous": false, - "documentation": null, - "id": 4437, - "name": "WorkerEviction", - "nodeType": "EventDefinition", - "parameters": { - "id": 4436, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4435, - "indexed": true, - "name": "worker", - "nodeType": "VariableDeclaration", - "scope": 4437, - "src": "2717:22:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4434, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2717:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2716:24:18" - }, - "src": "2686:55:18" - }, - { - "body": { - "id": 4500, - "nodeType": "Block", - "src": "3099:724:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 4463, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4459, - "name": "tx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7018, - "src": "3169:2:18", - "typeDescriptions": { - "typeIdentifier": "t_magic_transaction", - "typeString": "tx" - } - }, - "id": 4460, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "origin", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3169:9:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4461, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "3182:3:18", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4462, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3182:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "3169:23:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 4458, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "3161:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 4464, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3161:32:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4465, - "nodeType": "ExpressionStatement", - "src": "3161:32:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4467, - "name": "tx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7018, - "src": "3219:2:18", - "typeDescriptions": { - "typeIdentifier": "t_magic_transaction", - "typeString": "tx" - } - }, - "id": 4468, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "origin", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3219:9:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 4466, - "name": "setImmutableOwnership", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3746, - "src": "3197:21:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 4469, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3197:32:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4470, - "nodeType": "ExpressionStatement", - "src": "3197:32:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 4473, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4471, - "name": "m_description", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4320, - "src": "3257:13:18", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 4472, - "name": "_description", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4441, - "src": "3292:12:18", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "3257:47:18", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 4474, - "nodeType": "ExpressionStatement", - "src": "3257:47:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 4477, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4475, - "name": "m_stakeRatioPolicy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4322, - "src": "3308:18:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "3330", - "id": 4476, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3343:2:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_30_by_1", - "typeString": "int_const 30" - }, - "value": "30" - }, - "src": "3308:37:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4478, - "nodeType": "ExpressionStatement", - "src": "3308:37:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 4481, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4479, - "name": "m_schedulerRewardRatioPolicy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4324, - "src": "3387:28:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "31", - "id": 4480, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3422:1:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "3387:36:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4482, - "nodeType": "ExpressionStatement", - "src": "3387:36:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 4485, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4483, - "name": "m_subscriptionLockStakePolicy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4326, - "src": "3489:29:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 4484, - "name": "_subscriptionLockStakePolicy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4443, - "src": "3524:28:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3489:63:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4486, - "nodeType": "ExpressionStatement", - "src": "3489:63:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 4489, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4487, - "name": "m_subscriptionMinimumStakePolicy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4328, - "src": "3633:32:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 4488, - "name": "_subscriptionMinimumStakePolicy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4445, - "src": "3668:31:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3633:66:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4490, - "nodeType": "ExpressionStatement", - "src": "3633:66:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 4493, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4491, - "name": "m_subscriptionMinimumScorePolicy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4330, - "src": "3703:32:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 4492, - "name": "_subscriptionMinimumScorePolicy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4447, - "src": "3738:31:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3703:66:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4494, - "nodeType": "ExpressionStatement", - "src": "3703:66:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 4498, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4495, - "name": "m_workerPoolHubAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4355, - "src": "3773:22:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4496, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "3808:3:18", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4497, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3808:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "3773:45:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 4499, - "nodeType": "ExpressionStatement", - "src": "3773:45:18" - } - ] - }, - "documentation": "Methods", - "id": 4501, - "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 4452, - "name": "_iexecHubAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4439, - "src": "3030:16:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "id": 4453, - "modifierName": { - "argumentTypes": null, - "id": 4451, - "name": "IexecHubAccessor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2475, - "src": "3013:16:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IexecHubAccessor_$2475_$", - "typeString": "type(contract IexecHubAccessor)" - } - }, - "nodeType": "ModifierInvocation", - "src": "3013:34:18" - }, - { - "arguments": [ - { - "argumentTypes": null, - "id": 4455, - "name": "_marketplaceAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4449, - "src": "3069:19:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "id": 4456, - "modifierName": { - "argumentTypes": null, - "id": 4454, - "name": "MarketplaceAccessor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3545, - "src": "3049:19:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_MarketplaceAccessor_$3545_$", - "typeString": "type(contract MarketplaceAccessor)" - } - }, - "nodeType": "ModifierInvocation", - "src": "3049:40:18" - } - ], - "name": "WorkerPool", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4450, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4439, - "name": "_iexecHubAddress", - "nodeType": "VariableDeclaration", - "scope": 4501, - "src": "2805:24:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4438, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2805:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4441, - "name": "_description", - "nodeType": "VariableDeclaration", - "scope": 4501, - "src": "2833:20:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - "typeName": { - "id": 4440, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2833:6:18", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4443, - "name": "_subscriptionLockStakePolicy", - "nodeType": "VariableDeclaration", - "scope": 4501, - "src": "2857:36:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4442, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2857:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4445, - "name": "_subscriptionMinimumStakePolicy", - "nodeType": "VariableDeclaration", - "scope": 4501, - "src": "2897:39:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4444, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2897:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4447, - "name": "_subscriptionMinimumScorePolicy", - "nodeType": "VariableDeclaration", - "scope": 4501, - "src": "2940:39:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4446, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2940:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4449, - "name": "_marketplaceAddress", - "nodeType": "VariableDeclaration", - "scope": 4501, - "src": "2983:27:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4448, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2983:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2801:210:18" - }, - "payable": false, - "returnParameters": { - "id": 4457, - "nodeType": "ParameterList", - "parameters": [], - "src": "3099:0:18" - }, - "scope": 6097, - "src": "2782:1041:18", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 4547, - "nodeType": "Block", - "src": "4044:637:18", - "statements": [ - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4515, - "name": "m_stakeRatioPolicy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4322, - "src": "4080:18:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4516, - "name": "_newStakeRatioPolicy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4503, - "src": "4114:20:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4517, - "name": "m_schedulerRewardRatioPolicy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4324, - "src": "4139:28:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4518, - "name": "_newSchedulerRewardRatioPolicy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4505, - "src": "4173:30:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4519, - "name": "m_subscriptionMinimumStakePolicy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4328, - "src": "4208:32:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4520, - "name": "_newSubscriptionMinimumStakePolicy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4507, - "src": "4242:34:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4521, - "name": "m_subscriptionMinimumScorePolicy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4330, - "src": "4281:32:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4522, - "name": "_newSubscriptionMinimumScorePolicy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4509, - "src": "4315:34:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 4514, - "name": "WorkerPoolPolicyUpdate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4373, - "src": "4053:22:18", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256)" - } - }, - "id": 4523, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4053:300:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4524, - "nodeType": "EmitStatement", - "src": "4048:305:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4528, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4526, - "name": "_newSchedulerRewardRatioPolicy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4505, - "src": "4365:30:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 4527, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4399:3:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "src": "4365:37:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 4525, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "4357:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 4529, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4357:46:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4530, - "nodeType": "ExpressionStatement", - "src": "4357:46:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 4533, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4531, - "name": "m_stakeRatioPolicy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4322, - "src": "4407:18:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 4532, - "name": "_newStakeRatioPolicy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4503, - "src": "4442:20:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4407:55:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4534, - "nodeType": "ExpressionStatement", - "src": "4407:55:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 4537, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4535, - "name": "m_schedulerRewardRatioPolicy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4324, - "src": "4466:28:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 4536, - "name": "_newSchedulerRewardRatioPolicy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4505, - "src": "4501:30:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4466:65:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4538, - "nodeType": "ExpressionStatement", - "src": "4466:65:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 4541, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4539, - "name": "m_subscriptionMinimumStakePolicy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4328, - "src": "4535:32:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 4540, - "name": "_newSubscriptionMinimumStakePolicy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4507, - "src": "4570:34:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4535:69:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4542, - "nodeType": "ExpressionStatement", - "src": "4535:69:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 4545, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4543, - "name": "m_subscriptionMinimumScorePolicy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4330, - "src": "4608:32:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 4544, - "name": "_newSubscriptionMinimumScorePolicy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4509, - "src": "4643:34:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4608:69:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4546, - "nodeType": "ExpressionStatement", - "src": "4608:69:18" - } - ] - }, - "documentation": null, - "id": 4548, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [], - "id": 4512, - "modifierName": { - "argumentTypes": null, - "id": 4511, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3700, - "src": "4033:9:18", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "4033:9:18" - } - ], - "name": "changeWorkerPoolPolicy", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4510, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4503, - "name": "_newStakeRatioPolicy", - "nodeType": "VariableDeclaration", - "scope": 4548, - "src": "3861:28:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4502, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3861:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4505, - "name": "_newSchedulerRewardRatioPolicy", - "nodeType": "VariableDeclaration", - "scope": 4548, - "src": "3893:38:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4504, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3893:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4507, - "name": "_newSubscriptionMinimumStakePolicy", - "nodeType": "VariableDeclaration", - "scope": 4548, - "src": "3935:42:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4506, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3935:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4509, - "name": "_newSubscriptionMinimumScorePolicy", - "nodeType": "VariableDeclaration", - "scope": 4548, - "src": "3981:42:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4508, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3981:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3857:167:18" - }, - "payable": false, - "returnParameters": { - "id": 4513, - "nodeType": "ParameterList", - "parameters": [], - "src": "4044:0:18" - }, - "scope": 6097, - "src": "3826:855:18", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 4559, - "nodeType": "Block", - "src": "4833:32:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4555, - "name": "m_workers", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4333, - "src": "4844:9:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 4557, - "indexExpression": { - "argumentTypes": null, - "id": 4556, - "name": "_index", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4550, - "src": "4854:6:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4844:17:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 4554, - "id": 4558, - "nodeType": "Return", - "src": "4837:24:18" - } - ] - }, - "documentation": "*********************** worker list management *************************", - "id": 4560, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getWorkerAddress", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4551, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4550, - "name": "_index", - "nodeType": "VariableDeclaration", - "scope": 4560, - "src": "4789:11:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4549, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "4789:4:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4788:13:18" - }, - "payable": false, - "returnParameters": { - "id": 4554, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4553, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 4560, - "src": "4823:7:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4552, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4823:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4822:9:18" - }, - "scope": 6097, - "src": "4763:102:18", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 4583, - "nodeType": "Block", - "src": "4936:99:18", - "statements": [ - { - "assignments": [ - 4568 - ], - "declarations": [ - { - "constant": false, - "id": 4568, - "name": "index", - "nodeType": "VariableDeclaration", - "scope": 4584, - "src": "4940:10:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4567, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "4940:4:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4572, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4569, - "name": "m_workerIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4337, - "src": "4953:13:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 4571, - "indexExpression": { - "argumentTypes": null, - "id": 4570, - "name": "_worker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4562, - "src": "4967:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4953:22:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4940:35:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 4578, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4574, - "name": "m_workers", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4333, - "src": "4987:9:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 4576, - "indexExpression": { - "argumentTypes": null, - "id": 4575, - "name": "index", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4568, - "src": "4997:5:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4987:16:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 4577, - "name": "_worker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4562, - "src": "5007:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "4987:27:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 4573, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "4979:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 4579, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4979:36:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4580, - "nodeType": "ExpressionStatement", - "src": "4979:36:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 4581, - "name": "index", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4568, - "src": "5026:5:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 4566, - "id": 4582, - "nodeType": "Return", - "src": "5019:12:18" - } - ] - }, - "documentation": null, - "id": 4584, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getWorkerIndex", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4563, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4562, - "name": "_worker", - "nodeType": "VariableDeclaration", - "scope": 4584, - "src": "4891:15:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4561, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4891:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4890:17:18" - }, - "payable": false, - "returnParameters": { - "id": 4566, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4565, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 4584, - "src": "4929:4:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4564, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "4929:4:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4928:6:18" - }, - "scope": 6097, - "src": "4867:168:18", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 4592, - "nodeType": "Block", - "src": "5092:31:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4589, - "name": "m_workers", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4333, - "src": "5103:9:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 4590, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5103:16:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 4588, - "id": 4591, - "nodeType": "Return", - "src": "5096:23:18" - } - ] - }, - "documentation": null, - "id": 4593, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getWorkersCount", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4585, - "nodeType": "ParameterList", - "parameters": [], - "src": "5061:2:18" - }, - "payable": false, - "returnParameters": { - "id": 4588, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4587, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 4593, - "src": "5085:4:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4586, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "5085:4:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5084:6:18" - }, - "scope": 6097, - "src": "5037:86:18", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 4631, - "nodeType": "Block", - "src": "5176:224:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4601, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "5246:3:18", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4602, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5246:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 4599, - "name": "iexecHubInterface", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2441, - "src": "5213:17:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IexecHubInterface_$2802", - "typeString": "contract IexecHubInterface" - } - }, - "id": 4600, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "registerToPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 2653, - "src": "5213:32:18", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$_t_bool_$", - "typeString": "function (address) external returns (bool)" - } - }, - "id": 4603, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5213:44:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 4598, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "5205:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 4604, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5205:53:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4605, - "nodeType": "ExpressionStatement", - "src": "5205:53:18" - }, - { - "assignments": [ - 4607 - ], - "declarations": [ - { - "constant": false, - "id": 4607, - "name": "index", - "nodeType": "VariableDeclaration", - "scope": 4632, - "src": "5262:10:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4606, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "5262:4:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4613, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4610, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "5290:3:18", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4611, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5290:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 4608, - "name": "m_workers", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4333, - "src": "5275:9:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 4609, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5275:14:18", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) returns (uint256)" - } - }, - "id": 4612, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5275:26:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5262:39:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 4622, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4614, - "name": "m_workerIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4337, - "src": "5305:13:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 4617, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4615, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "5319:3:18", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4616, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5319:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5305:25:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "31", - "id": 4620, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5343:1:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - } - ], - "expression": { - "argumentTypes": null, - "id": 4618, - "name": "index", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4607, - "src": "5333:5:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4619, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 3793, - "src": "5333:9:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 4621, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5333:12:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5305:40:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4623, - "nodeType": "ExpressionStatement", - "src": "5305:40:18" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4625, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "5370:3:18", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4626, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5370:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 4624, - "name": "WorkerSubscribe", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4429, - "src": "5354:15:18", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 4627, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5354:27:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4628, - "nodeType": "EmitStatement", - "src": "5349:32:18" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 4629, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5392:4:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 4597, - "id": 4630, - "nodeType": "Return", - "src": "5385:11:18" - } - ] - }, - "documentation": null, - "id": 4632, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "subscribeToPool", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4594, - "nodeType": "ParameterList", - "parameters": [], - "src": "5150:2:18" - }, - "payable": false, - "returnParameters": { - "id": 4597, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4596, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 4632, - "src": "5169:4:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4595, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5169:4:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5168:6:18" - }, - "scope": 6097, - "src": "5126:274:18", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 4659, - "nodeType": "Block", - "src": "5458:180:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4640, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "5532:3:18", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4641, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5532:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 4638, - "name": "iexecHubInterface", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2441, - "src": "5495:17:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IexecHubInterface_$2802", - "typeString": "contract IexecHubInterface" - } - }, - "id": 4639, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "unregisterFromPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 2660, - "src": "5495:36:18", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$_t_bool_$", - "typeString": "function (address) external returns (bool)" - } - }, - "id": 4642, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5495:48:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 4637, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "5487:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 4643, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5487:57:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4644, - "nodeType": "ExpressionStatement", - "src": "5487:57:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4647, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "5569:3:18", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4648, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5569:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 4646, - "name": "removeWorker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4746, - "src": "5556:12:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$_t_bool_$", - "typeString": "function (address) returns (bool)" - } - }, - "id": 4649, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5556:24:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 4645, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "5548:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 4650, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5548:33:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4651, - "nodeType": "ExpressionStatement", - "src": "5548:33:18" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4653, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "5608:3:18", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4654, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5608:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 4652, - "name": "WorkerUnsubscribe", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4433, - "src": "5590:17:18", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 4655, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5590:29:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4656, - "nodeType": "EmitStatement", - "src": "5585:34:18" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 4657, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5630:4:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 4636, - "id": 4658, - "nodeType": "Return", - "src": "5623:11:18" - } - ] - }, - "documentation": null, - "id": 4660, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "unsubscribeFromPool", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4633, - "nodeType": "ParameterList", - "parameters": [], - "src": "5431:2:18" - }, - "payable": false, - "returnParameters": { - "id": 4636, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4635, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 4660, - "src": "5451:4:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4634, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5451:4:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5450:6:18" - }, - "scope": 6097, - "src": "5403:235:18", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 4688, - "nodeType": "Block", - "src": "5712:164:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4672, - "name": "_worker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4662, - "src": "5782:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 4670, - "name": "iexecHubInterface", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2441, - "src": "5752:17:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IexecHubInterface_$2802", - "typeString": "contract IexecHubInterface" - } - }, - "id": 4671, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "evictWorker", - "nodeType": "MemberAccess", - "referencedDeclaration": 2667, - "src": "5752:29:18", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$_t_bool_$", - "typeString": "function (address) external returns (bool)" - } - }, - "id": 4673, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5752:38:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 4669, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "5744:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 4674, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5744:47:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4675, - "nodeType": "ExpressionStatement", - "src": "5744:47:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4678, - "name": "_worker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4662, - "src": "5816:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 4677, - "name": "removeWorker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4746, - "src": "5803:12:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$_t_bool_$", - "typeString": "function (address) returns (bool)" - } - }, - "id": 4679, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5803:21:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 4676, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "5795:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 4680, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5795:30:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4681, - "nodeType": "ExpressionStatement", - "src": "5795:30:18" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4683, - "name": "_worker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4662, - "src": "5849:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 4682, - "name": "WorkerEviction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4437, - "src": "5834:14:18", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 4684, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5834:23:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4685, - "nodeType": "EmitStatement", - "src": "5829:28:18" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 4686, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5868:4:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 4668, - "id": 4687, - "nodeType": "Return", - "src": "5861:11:18" - } - ] - }, - "documentation": null, - "id": 4689, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [], - "id": 4665, - "modifierName": { - "argumentTypes": null, - "id": 4664, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3700, - "src": "5686:9:18", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "5686:9:18" - } - ], - "name": "evictWorker", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4663, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4662, - "name": "_worker", - "nodeType": "VariableDeclaration", - "scope": 4689, - "src": "5662:15:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4661, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5662:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5661:17:18" - }, - "payable": false, - "returnParameters": { - "id": 4668, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4667, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 4689, - "src": "5705:4:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4666, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5705:4:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5704:6:18" - }, - "scope": 6097, - "src": "5641:235:18", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 4745, - "nodeType": "Block", - "src": "5943:322:18", - "statements": [ - { - "assignments": [ - 4697 - ], - "declarations": [ - { - "constant": false, - "id": 4697, - "name": "index", - "nodeType": "VariableDeclaration", - "scope": 4746, - "src": "5947:10:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4696, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "5947:4:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4701, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4699, - "name": "_worker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4691, - "src": "5975:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 4698, - "name": "getWorkerIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4584, - "src": "5960:14:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view returns (uint256)" - } - }, - "id": 4700, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5960:23:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5947:36:18" - }, - { - "assignments": [ - 4703 - ], - "declarations": [ - { - "constant": false, - "id": 4703, - "name": "lastWorker", - "nodeType": "VariableDeclaration", - "scope": 4746, - "src": "6021:18:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4702, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6021:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4711, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4704, - "name": "m_workers", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4333, - "src": "6042:9:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 4710, - "indexExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "31", - "id": 4708, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6073:1:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4705, - "name": "m_workers", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4333, - "src": "6052:9:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 4706, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6052:16:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4707, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 3793, - "src": "6052:20:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 4709, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6052:23:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6042:34:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6021:55:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 4716, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4712, - "name": "m_workers", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4333, - "src": "6080:9:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 4714, - "indexExpression": { - "argumentTypes": null, - "id": 4713, - "name": "index", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4697, - "src": "6094:5:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6080:25:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 4715, - "name": "lastWorker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4703, - "src": "6108:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "6080:38:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 4717, - "nodeType": "ExpressionStatement", - "src": "6080:38:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 4722, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4718, - "name": "m_workerIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4337, - "src": "6122:13:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 4720, - "indexExpression": { - "argumentTypes": null, - "id": 4719, - "name": "lastWorker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4703, - "src": "6136:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6122:25:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 4721, - "name": "index", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4697, - "src": "6150:5:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6122:33:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4723, - "nodeType": "ExpressionStatement", - "src": "6122:33:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 4731, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "6159:41:18", - "subExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4724, - "name": "m_workers", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4333, - "src": "6166:9:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 4730, - "indexExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "31", - "id": 4728, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6197:1:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4725, - "name": "m_workers", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4333, - "src": "6176:9:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 4726, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6176:16:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4727, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 3793, - "src": "6176:20:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 4729, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6176:23:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6166:34:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4732, - "nodeType": "ExpressionStatement", - "src": "6159:41:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 4741, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4733, - "name": "m_workers", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4333, - "src": "6204:9:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 4735, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6204:16:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "31", - "id": 4739, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6244:1:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4736, - "name": "m_workers", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4333, - "src": "6223:9:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 4737, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6223:16:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4738, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 3793, - "src": "6223:20:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 4740, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6223:23:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6204:42:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4742, - "nodeType": "ExpressionStatement", - "src": "6204:42:18" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 4743, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6257:4:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 4695, - "id": 4744, - "nodeType": "Return", - "src": "6250:11:18" - } - ] - }, - "documentation": null, - "id": 4746, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "removeWorker", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4692, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4691, - "name": "_worker", - "nodeType": "VariableDeclaration", - "scope": 4746, - "src": "5901:15:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4690, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5901:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5900:17:18" - }, - "payable": false, - "returnParameters": { - "id": 4695, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4694, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 4746, - "src": "5936:4:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4693, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5936:4:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5935:6:18" - }, - "scope": 6097, - "src": "5879:386:18", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 4793, - "nodeType": "Block", - "src": "6542:295:18", - "statements": [ - { - "assignments": [ - 4770 - ], - "declarations": [ - { - "constant": false, - "id": 4770, - "name": "consensus", - "nodeType": "VariableDeclaration", - "scope": 4794, - "src": "6546:36:18", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - }, - "typeName": { - "contractScope": null, - "id": 4769, - "name": "IexecLib.Consensus", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2854, - "src": "6546:18:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4774, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4771, - "name": "m_consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4341, - "src": "6585:11:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Consensus_$2854_storage_$", - "typeString": "mapping(address => struct IexecLib.Consensus storage ref)" - } - }, - "id": 4773, - "indexExpression": { - "argumentTypes": null, - "id": 4772, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4748, - "src": "6597:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6585:18:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage", - "typeString": "struct IexecLib.Consensus storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6546:57:18" - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4775, - "name": "consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4770, - "src": "6619:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - } - }, - "id": 4776, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "poolReward", - "nodeType": "MemberAccess", - "referencedDeclaration": 2834, - "src": "6619:20:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4777, - "name": "consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4770, - "src": "6644:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - } - }, - "id": 4778, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "stakeAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 2836, - "src": "6644:21:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4779, - "name": "consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4770, - "src": "6670:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - } - }, - "id": 4780, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "consensus", - "nodeType": "MemberAccess", - "referencedDeclaration": 2838, - "src": "6670:19:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4781, - "name": "consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4770, - "src": "6694:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - } - }, - "id": 4782, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "revealDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 2840, - "src": "6694:20:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4783, - "name": "consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4770, - "src": "6719:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - } - }, - "id": 4784, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "revealCounter", - "nodeType": "MemberAccess", - "referencedDeclaration": 2842, - "src": "6719:23:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4785, - "name": "consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4770, - "src": "6747:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - } - }, - "id": 4786, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "consensusTimeout", - "nodeType": "MemberAccess", - "referencedDeclaration": 2844, - "src": "6747:26:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4787, - "name": "consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4770, - "src": "6778:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - } - }, - "id": 4788, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "winnerCount", - "nodeType": "MemberAccess", - "referencedDeclaration": 2846, - "src": "6778:21:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4789, - "name": "consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4770, - "src": "6804:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - } - }, - "id": 4790, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "workerpoolOwner", - "nodeType": "MemberAccess", - "referencedDeclaration": 2851, - "src": "6804:25:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "id": 4791, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "6614:219:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_bytes32_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$", - "typeString": "tuple(uint256,uint256,bytes32,uint256,uint256,uint256,uint256,address)" - } - }, - "functionReturnParameters": 4766, - "id": 4792, - "nodeType": "Return", - "src": "6607:226:18" - } - ] - }, - "documentation": null, - "id": 4794, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getConsensusDetails", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4749, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4748, - "name": "_woid", - "nodeType": "VariableDeclaration", - "scope": 4794, - "src": "6297:13:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4747, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6297:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6296:15:18" - }, - "payable": false, - "returnParameters": { - "id": 4766, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4751, - "name": "c_poolReward", - "nodeType": "VariableDeclaration", - "scope": 4794, - "src": "6336:20:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4750, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6336:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4753, - "name": "c_stakeAmount", - "nodeType": "VariableDeclaration", - "scope": 4794, - "src": "6360:21:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4752, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6360:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4755, - "name": "c_consensus", - "nodeType": "VariableDeclaration", - "scope": 4794, - "src": "6385:19:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4754, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "6385:7:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4757, - "name": "c_revealDate", - "nodeType": "VariableDeclaration", - "scope": 4794, - "src": "6408:20:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4756, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6408:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4759, - "name": "c_revealCounter", - "nodeType": "VariableDeclaration", - "scope": 4794, - "src": "6432:23:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4758, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6432:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4761, - "name": "c_consensusTimeout", - "nodeType": "VariableDeclaration", - "scope": 4794, - "src": "6459:26:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4760, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6459:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4763, - "name": "c_winnerCount", - "nodeType": "VariableDeclaration", - "scope": 4794, - "src": "6489:21:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4762, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6489:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4765, - "name": "c_workerpoolOwner", - "nodeType": "VariableDeclaration", - "scope": 4794, - "src": "6514:25:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4764, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6514:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6332:208:18" - }, - "scope": 6097, - "src": "6268:569:18", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 4807, - "nodeType": "Block", - "src": "6934:53:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4801, - "name": "m_consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4341, - "src": "6945:11:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Consensus_$2854_storage_$", - "typeString": "mapping(address => struct IexecLib.Consensus storage ref)" - } - }, - "id": 4803, - "indexExpression": { - "argumentTypes": null, - "id": 4802, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4796, - "src": "6957:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6945:18:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage", - "typeString": "struct IexecLib.Consensus storage ref" - } - }, - "id": 4804, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "contributors", - "nodeType": "MemberAccess", - "referencedDeclaration": 2849, - "src": "6945:31:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 4805, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6945:38:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 4800, - "id": 4806, - "nodeType": "Return", - "src": "6938:45:18" - } - ] - }, - "documentation": null, - "id": 4808, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getContributorsCount", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4797, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4796, - "name": "_woid", - "nodeType": "VariableDeclaration", - "scope": 4808, - "src": "6870:13:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4795, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6870:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6869:15:18" - }, - "payable": false, - "returnParameters": { - "id": 4800, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4799, - "name": "contributorsCount", - "nodeType": "VariableDeclaration", - "scope": 4808, - "src": "6906:25:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4798, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6906:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6905:27:18" - }, - "scope": 6097, - "src": "6840:147:18", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 4824, - "nodeType": "Block", - "src": "7087:53:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4817, - "name": "m_consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4341, - "src": "7098:11:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Consensus_$2854_storage_$", - "typeString": "mapping(address => struct IexecLib.Consensus storage ref)" - } - }, - "id": 4819, - "indexExpression": { - "argumentTypes": null, - "id": 4818, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4810, - "src": "7110:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7098:18:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage", - "typeString": "struct IexecLib.Consensus storage ref" - } - }, - "id": 4820, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "contributors", - "nodeType": "MemberAccess", - "referencedDeclaration": 2849, - "src": "7098:31:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 4822, - "indexExpression": { - "argumentTypes": null, - "id": 4821, - "name": "index", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4812, - "src": "7130:5:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7098:38:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 4816, - "id": 4823, - "nodeType": "Return", - "src": "7091:45:18" - } - ] - }, - "documentation": null, - "id": 4825, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getContributor", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4813, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4810, - "name": "_woid", - "nodeType": "VariableDeclaration", - "scope": 4825, - "src": "7014:13:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4809, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7014:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4812, - "name": "index", - "nodeType": "VariableDeclaration", - "scope": 4825, - "src": "7029:13:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4811, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7029:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7013:30:18" - }, - "payable": false, - "returnParameters": { - "id": 4816, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4815, - "name": "contributor", - "nodeType": "VariableDeclaration", - "scope": 4825, - "src": "7065:19:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4814, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7065:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7064:21:18" - }, - "scope": 6097, - "src": "6990:150:18", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 4845, - "nodeType": "Block", - "src": "7252:94:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", - "typeString": "enum IexecLib.ContributionStatusEnum" - }, - "id": 4843, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4834, - "name": "m_contributions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4347, - "src": "7263:15:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_Contribution_$2873_storage_$_$", - "typeString": "mapping(address => mapping(address => struct IexecLib.Contribution storage ref))" - } - }, - "id": 4836, - "indexExpression": { - "argumentTypes": null, - "id": 4835, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4827, - "src": "7279:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7263:22:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Contribution_$2873_storage_$", - "typeString": "mapping(address => struct IexecLib.Contribution storage ref)" - } - }, - "id": 4838, - "indexExpression": { - "argumentTypes": null, - "id": 4837, - "name": "_worker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4829, - "src": "7286:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7263:31:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Contribution_$2873_storage", - "typeString": "struct IexecLib.Contribution storage ref" - } - }, - "id": 4839, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "status", - "nodeType": "MemberAccess", - "referencedDeclaration": 2862, - "src": "7263:38:18", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", - "typeString": "enum IexecLib.ContributionStatusEnum" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4840, - "name": "IexecLib", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2893, - "src": "7305:8:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IexecLib_$2893_$", - "typeString": "type(library IexecLib)" - } - }, - "id": 4841, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "ContributionStatusEnum", - "nodeType": "MemberAccess", - "referencedDeclaration": 2860, - "src": "7305:31:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_ContributionStatusEnum_$2860_$", - "typeString": "type(enum IexecLib.ContributionStatusEnum)" - } - }, - "id": 4842, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "UNSET", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7305:37:18", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", - "typeString": "enum IexecLib.ContributionStatusEnum" - } - }, - "src": "7263:79:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 4833, - "id": 4844, - "nodeType": "Return", - "src": "7256:86:18" - } - ] - }, - "documentation": null, - "id": 4846, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "existingContribution", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4830, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4827, - "name": "_woid", - "nodeType": "VariableDeclaration", - "scope": 4846, - "src": "7173:13:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4826, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7173:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4829, - "name": "_worker", - "nodeType": "VariableDeclaration", - "scope": 4846, - "src": "7188:15:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4828, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7188:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7172:32:18" - }, - "payable": false, - "returnParameters": { - "id": 4833, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4832, - "name": "contributionExist", - "nodeType": "VariableDeclaration", - "scope": 4846, - "src": "7227:22:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4831, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "7227:4:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7226:24:18" - }, - "scope": 6097, - "src": "7143:203:18", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 4896, - "nodeType": "Block", - "src": "7579:337:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4867, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4848, - "src": "7612:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 4868, - "name": "_worker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4850, - "src": "7619:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 4866, - "name": "existingContribution", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4846, - "src": "7591:20:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_bool_$", - "typeString": "function (address,address) view returns (bool)" - } - }, - "id": 4869, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7591:36:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 4865, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "7583:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 4870, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7583:45:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4871, - "nodeType": "ExpressionStatement", - "src": "7583:45:18" - }, - { - "assignments": [ - 4875 - ], - "declarations": [ - { - "constant": false, - "id": 4875, - "name": "contribution", - "nodeType": "VariableDeclaration", - "scope": 4897, - "src": "7660:42:18", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", - "typeString": "struct IexecLib.Contribution storage pointer" - }, - "typeName": { - "contractScope": null, - "id": 4874, - "name": "IexecLib.Contribution", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2873, - "src": "7660:21:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", - "typeString": "struct IexecLib.Contribution storage pointer" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4881, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4876, - "name": "m_contributions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4347, - "src": "7705:15:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_Contribution_$2873_storage_$_$", - "typeString": "mapping(address => mapping(address => struct IexecLib.Contribution storage ref))" - } - }, - "id": 4878, - "indexExpression": { - "argumentTypes": null, - "id": 4877, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4848, - "src": "7721:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7705:22:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Contribution_$2873_storage_$", - "typeString": "mapping(address => struct IexecLib.Contribution storage ref)" - } - }, - "id": 4880, - "indexExpression": { - "argumentTypes": null, - "id": 4879, - "name": "_worker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4850, - "src": "7728:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7705:31:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Contribution_$2873_storage", - "typeString": "struct IexecLib.Contribution storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7660:76:18" - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4882, - "name": "contribution", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4875, - "src": "7752:12:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", - "typeString": "struct IexecLib.Contribution storage pointer" - } - }, - "id": 4883, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "status", - "nodeType": "MemberAccess", - "referencedDeclaration": 2862, - "src": "7752:19:18", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", - "typeString": "enum IexecLib.ContributionStatusEnum" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4884, - "name": "contribution", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4875, - "src": "7776:12:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", - "typeString": "struct IexecLib.Contribution storage pointer" - } - }, - "id": 4885, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "resultHash", - "nodeType": "MemberAccess", - "referencedDeclaration": 2864, - "src": "7776:23:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4886, - "name": "contribution", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4875, - "src": "7804:12:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", - "typeString": "struct IexecLib.Contribution storage pointer" - } - }, - "id": 4887, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "resultSign", - "nodeType": "MemberAccess", - "referencedDeclaration": 2866, - "src": "7804:23:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4888, - "name": "contribution", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4875, - "src": "7832:12:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", - "typeString": "struct IexecLib.Contribution storage pointer" - } - }, - "id": 4889, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "enclaveChallenge", - "nodeType": "MemberAccess", - "referencedDeclaration": 2868, - "src": "7832:29:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4890, - "name": "contribution", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4875, - "src": "7866:12:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", - "typeString": "struct IexecLib.Contribution storage pointer" - } - }, - "id": 4891, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "score", - "nodeType": "MemberAccess", - "referencedDeclaration": 2870, - "src": "7866:18:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4892, - "name": "contribution", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4875, - "src": "7889:12:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", - "typeString": "struct IexecLib.Contribution storage pointer" - } - }, - "id": 4893, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "weight", - "nodeType": "MemberAccess", - "referencedDeclaration": 2872, - "src": "7889:19:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4894, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "7747:165:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_ContributionStatusEnum_$2860_$_t_bytes32_$_t_bytes32_$_t_address_$_t_uint256_$_t_uint256_$", - "typeString": "tuple(enum IexecLib.ContributionStatusEnum,bytes32,bytes32,address,uint256,uint256)" - } - }, - "functionReturnParameters": 4864, - "id": 4895, - "nodeType": "Return", - "src": "7740:172:18" - } - ] - }, - "documentation": null, - "id": 4897, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getContribution", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4851, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4848, - "name": "_woid", - "nodeType": "VariableDeclaration", - "scope": 4897, - "src": "7374:13:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4847, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7374:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4850, - "name": "_worker", - "nodeType": "VariableDeclaration", - "scope": 4897, - "src": "7389:15:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4849, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7389:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7373:32:18" - }, - "payable": false, - "returnParameters": { - "id": 4864, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4853, - "name": "status", - "nodeType": "VariableDeclaration", - "scope": 4897, - "src": "7431:38:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", - "typeString": "enum IexecLib.ContributionStatusEnum" - }, - "typeName": { - "contractScope": null, - "id": 4852, - "name": "IexecLib.ContributionStatusEnum", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2860, - "src": "7431:31:18", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", - "typeString": "enum IexecLib.ContributionStatusEnum" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4855, - "name": "resultHash", - "nodeType": "VariableDeclaration", - "scope": 4897, - "src": "7473:18:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4854, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "7473:7:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4857, - "name": "resultSign", - "nodeType": "VariableDeclaration", - "scope": 4897, - "src": "7495:18:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4856, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "7495:7:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4859, - "name": "enclaveChallenge", - "nodeType": "VariableDeclaration", - "scope": 4897, - "src": "7517:24:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4858, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7517:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4861, - "name": "score", - "nodeType": "VariableDeclaration", - "scope": 4897, - "src": "7545:13:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4860, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7545:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4863, - "name": "weight", - "nodeType": "VariableDeclaration", - "scope": 4897, - "src": "7562:14:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4862, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7562:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7427:150:18" - }, - "scope": 6097, - "src": "7349:567:18", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 4982, - "nodeType": "Block", - "src": "8098:735:18", - "statements": [ - { - "assignments": [ - 4909 - ], - "declarations": [ - { - "constant": false, - "id": 4909, - "name": "catid", - "nodeType": "VariableDeclaration", - "scope": 4983, - "src": "8102:13:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4908, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8102:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4914, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4912, - "name": "_marketorderIdx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4901, - "src": "8164:15:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 4910, - "name": "marketplaceInterface", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3520, - "src": "8120:20:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MarketplaceInterface_$3620", - "typeString": "contract MarketplaceInterface" - } - }, - "id": 4911, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getMarketOrderCategory", - "nodeType": "MemberAccess", - "referencedDeclaration": 3593, - "src": "8120:43:18", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) view external returns (uint256)" - } - }, - "id": 4913, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8120:60:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8102:78:18" - }, - { - "assignments": [ - 4916 - ], - "declarations": [ - { - "constant": false, - "id": 4916, - "name": "timeout", - "nodeType": "VariableDeclaration", - "scope": 4983, - "src": "8184:15:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4915, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8184:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4927, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4925, - "name": "now", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7010, - "src": "8289:3:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4922, - "name": "CONSENSUS_DURATION_RATIO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4353, - "src": "8259:24:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4919, - "name": "catid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4909, - "src": "8248:5:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 4917, - "name": "iexecHubInterface", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2441, - "src": "8202:17:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IexecHubInterface_$2802", - "typeString": "contract IexecHubInterface" - } - }, - "id": 4918, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getCategoryWorkClockTimeRef", - "nodeType": "MemberAccess", - "referencedDeclaration": 2610, - "src": "8202:45:18", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) view external returns (uint256)" - } - }, - "id": 4920, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8202:52:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4921, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 3826, - "src": "8202:56:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 4923, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8202:82:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4924, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 3773, - "src": "8202:86:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 4926, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8202:91:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8184:109:18" - }, - { - "assignments": [ - 4931 - ], - "declarations": [ - { - "constant": false, - "id": 4931, - "name": "consensus", - "nodeType": "VariableDeclaration", - "scope": 4983, - "src": "8298:36:18", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - }, - "typeName": { - "contractScope": null, - "id": 4930, - "name": "IexecLib.Consensus", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2854, - "src": "8298:18:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4935, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4932, - "name": "m_consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4341, - "src": "8337:11:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Consensus_$2854_storage_$", - "typeString": "mapping(address => struct IexecLib.Consensus storage ref)" - } - }, - "id": 4934, - "indexExpression": { - "argumentTypes": null, - "id": 4933, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4899, - "src": "8349:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8337:18:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage", - "typeString": "struct IexecLib.Consensus storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8298:57:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 4943, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4936, - "name": "consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4931, - "src": "8359:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - } - }, - "id": 4938, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "poolReward", - "nodeType": "MemberAccess", - "referencedDeclaration": 2834, - "src": "8359:20:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4941, - "name": "_marketorderIdx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4901, - "src": "8439:15:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 4939, - "name": "marketplaceInterface", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3520, - "src": "8398:20:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MarketplaceInterface_$3620", - "typeString": "contract MarketplaceInterface" - } - }, - "id": 4940, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getMarketOrderValue", - "nodeType": "MemberAccess", - "referencedDeclaration": 3579, - "src": "8398:40:18", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) view external returns (uint256)" - } - }, - "id": 4942, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8398:57:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8359:96:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4944, - "nodeType": "ExpressionStatement", - "src": "8359:96:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 4952, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4945, - "name": "consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4931, - "src": "8459:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - } - }, - "id": 4947, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "workerpoolOwner", - "nodeType": "MemberAccess", - "referencedDeclaration": 2851, - "src": "8459:25:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4950, - "name": "_marketorderIdx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4901, - "src": "8549:15:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 4948, - "name": "marketplaceInterface", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3520, - "src": "8498:20:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MarketplaceInterface_$3620", - "typeString": "contract MarketplaceInterface" - } - }, - "id": 4949, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getMarketOrderWorkerpoolOwner", - "nodeType": "MemberAccess", - "referencedDeclaration": 3586, - "src": "8498:50:18", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_address_$", - "typeString": "function (uint256) view external returns (address)" - } - }, - "id": 4951, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8498:67:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "8459:106:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 4953, - "nodeType": "ExpressionStatement", - "src": "8459:106:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 4962, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4954, - "name": "consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4931, - "src": "8569:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - } - }, - "id": 4956, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "stakeAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 2836, - "src": "8569:21:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4960, - "name": "m_stakeRatioPolicy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4322, - "src": "8640:18:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4957, - "name": "consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4931, - "src": "8608:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - } - }, - "id": 4958, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "poolReward", - "nodeType": "MemberAccess", - "referencedDeclaration": 2834, - "src": "8608:20:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4959, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "percentage", - "nodeType": "MemberAccess", - "referencedDeclaration": 3914, - "src": "8608:31:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 4961, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8608:51:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8569:90:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4963, - "nodeType": "ExpressionStatement", - "src": "8569:90:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 4968, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4964, - "name": "consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4931, - "src": "8663:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - } - }, - "id": 4966, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "consensusTimeout", - "nodeType": "MemberAccess", - "referencedDeclaration": 2844, - "src": "8663:26:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 4967, - "name": "timeout", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4916, - "src": "8703:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8663:47:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4969, - "nodeType": "ExpressionStatement", - "src": "8663:47:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 4974, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4970, - "name": "consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4931, - "src": "8714:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - } - }, - "id": 4972, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "schedulerRewardRatioPolicy", - "nodeType": "MemberAccess", - "referencedDeclaration": 2853, - "src": "8714:36:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 4973, - "name": "m_schedulerRewardRatioPolicy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4324, - "src": "8753:28:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8714:67:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4975, - "nodeType": "ExpressionStatement", - "src": "8714:67:18" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4977, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4899, - "src": "8807:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 4976, - "name": "WorkOrderActive", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4377, - "src": "8791:15:18", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 4978, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8791:22:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4979, - "nodeType": "EmitStatement", - "src": "8786:27:18" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 4980, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8825:4:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 4907, - "id": 4981, - "nodeType": "Return", - "src": "8818:11:18" - } - ] - }, - "documentation": "************************** Works management ****************************", - "id": 4983, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [], - "id": 4904, - "modifierName": { - "argumentTypes": null, - "id": 4903, - "name": "onlyIexecHub", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2454, - "src": "8069:12:18", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "8069:12:18" - } - ], - "name": "emitWorkOrder", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4902, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4899, - "name": "_woid", - "nodeType": "VariableDeclaration", - "scope": 4983, - "src": "8022:13:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4898, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8022:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4901, - "name": "_marketorderIdx", - "nodeType": "VariableDeclaration", - "scope": 4983, - "src": "8037:23:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4900, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8037:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8021:40:18" - }, - "payable": false, - "returnParameters": { - "id": 4907, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4906, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 4983, - "src": "8091:4:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4905, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "8091:4:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8090:6:18" - }, - "scope": 6097, - "src": "7999:834:18", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 5062, - "nodeType": "Block", - "src": "8917:456:18", - "statements": [ - { - "assignments": [ - 4995 - ], - "declarations": [ - { - "constant": false, - "id": 4995, - "name": "consensus", - "nodeType": "VariableDeclaration", - "scope": 5063, - "src": "8922:36:18", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - }, - "typeName": { - "contractScope": null, - "id": 4994, - "name": "IexecLib.Consensus", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2854, - "src": "8922:18:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4999, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4996, - "name": "m_consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4341, - "src": "8961:11:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Consensus_$2854_storage_$", - "typeString": "mapping(address => struct IexecLib.Consensus storage ref)" - } - }, - "id": 4998, - "indexExpression": { - "argumentTypes": null, - "id": 4997, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4985, - "src": "8973:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8961:18:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage", - "typeString": "struct IexecLib.Consensus storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8922:57:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5004, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5001, - "name": "now", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7010, - "src": "8991:3:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5002, - "name": "consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4995, - "src": "8997:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - } - }, - "id": 5003, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "consensusTimeout", - "nodeType": "MemberAccess", - "referencedDeclaration": 2844, - "src": "8997:26:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8991:32:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 5000, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "8983:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 5005, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8983:41:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5006, - "nodeType": "ExpressionStatement", - "src": "8983:41:18" - }, - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 5008, - "name": "i", - "nodeType": "VariableDeclaration", - "scope": 5063, - "src": "9028:9:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5007, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9028:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5009, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "9028:9:18" - }, - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 5011, - "name": "w", - "nodeType": "VariableDeclaration", - "scope": 5063, - "src": "9041:9:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5010, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9041:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5012, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "9041:9:18" - }, - { - "body": { - "id": 5054, - "nodeType": "Block", - "src": "9108:215:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5030, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5025, - "name": "w", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5011, - "src": "9113:1:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5026, - "name": "consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4995, - "src": "9117:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - } - }, - "id": 5027, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "contributors", - "nodeType": "MemberAccess", - "referencedDeclaration": 2849, - "src": "9117:22:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 5029, - "indexExpression": { - "argumentTypes": null, - "id": 5028, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5008, - "src": "9140:1:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9117:25:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "9113:29:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 5031, - "nodeType": "ExpressionStatement", - "src": "9113:29:18" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", - "typeString": "enum IexecLib.ContributionStatusEnum" - }, - "id": 5041, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5032, - "name": "m_contributions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4347, - "src": "9151:15:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_Contribution_$2873_storage_$_$", - "typeString": "mapping(address => mapping(address => struct IexecLib.Contribution storage ref))" - } - }, - "id": 5034, - "indexExpression": { - "argumentTypes": null, - "id": 5033, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4985, - "src": "9167:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9151:22:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Contribution_$2873_storage_$", - "typeString": "mapping(address => struct IexecLib.Contribution storage ref)" - } - }, - "id": 5036, - "indexExpression": { - "argumentTypes": null, - "id": 5035, - "name": "w", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5011, - "src": "9174:1:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9151:25:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Contribution_$2873_storage", - "typeString": "struct IexecLib.Contribution storage ref" - } - }, - "id": 5037, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "status", - "nodeType": "MemberAccess", - "referencedDeclaration": 2862, - "src": "9151:32:18", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", - "typeString": "enum IexecLib.ContributionStatusEnum" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5038, - "name": "IexecLib", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2893, - "src": "9187:8:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IexecLib_$2893_$", - "typeString": "type(library IexecLib)" - } - }, - "id": 5039, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "ContributionStatusEnum", - "nodeType": "MemberAccess", - "referencedDeclaration": 2860, - "src": "9187:31:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_ContributionStatusEnum_$2860_$", - "typeString": "type(enum IexecLib.ContributionStatusEnum)" - } - }, - "id": 5040, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "AUTHORIZED", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "9187:42:18", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", - "typeString": "enum IexecLib.ContributionStatusEnum" - } - }, - "src": "9151:78:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 5053, - "nodeType": "IfStatement", - "src": "9147:172:18", - "trueBody": { - "id": 5052, - "nodeType": "Block", - "src": "9234:85:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5045, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4985, - "src": "9280:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5046, - "name": "w", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5011, - "src": "9287:1:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5047, - "name": "consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4995, - "src": "9290:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - } - }, - "id": 5048, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "stakeAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 2836, - "src": "9290:21:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5043, - "name": "iexecHubInterface", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2441, - "src": "9248:17:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IexecHubInterface_$2802", - "typeString": "contract IexecHubInterface" - } - }, - "id": 5044, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "unlockForWork", - "nodeType": "MemberAccess", - "referencedDeclaration": 2716, - "src": "9248:31:18", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256) external returns (bool)" - } - }, - "id": 5049, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9248:64:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 5042, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "9240:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 5050, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9240:73:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5051, - "nodeType": "ExpressionStatement", - "src": "9240:73:18" - } - ] - } - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5021, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5017, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5008, - "src": "9066:1:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5018, - "name": "consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4995, - "src": "9070:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - } - }, - "id": 5019, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "contributors", - "nodeType": "MemberAccess", - "referencedDeclaration": 2849, - "src": "9070:22:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 5020, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "9070:29:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9066:33:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 5055, - "initializationExpression": { - "expression": { - "argumentTypes": null, - "id": 5015, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5013, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5008, - "src": "9059:1:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30", - "id": 5014, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9063:1:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "9059:5:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5016, - "nodeType": "ExpressionStatement", - "src": "9059:5:18" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 5023, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": true, - "src": "9101:3:18", - "subExpression": { - "argumentTypes": null, - "id": 5022, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5008, - "src": "9103:1:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5024, - "nodeType": "ExpressionStatement", - "src": "9101:3:18" - }, - "nodeType": "ForStatement", - "src": "9054:269:18" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5057, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4985, - "src": "9348:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 5056, - "name": "WorkOrderClaimed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4381, - "src": "9331:16:18", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 5058, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9331:23:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5059, - "nodeType": "EmitStatement", - "src": "9326:28:18" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 5060, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9365:4:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 4991, - "id": 5061, - "nodeType": "Return", - "src": "9358:11:18" - } - ] - }, - "documentation": null, - "id": 5063, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [], - "id": 4988, - "modifierName": { - "argumentTypes": null, - "id": 4987, - "name": "onlyIexecHub", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2454, - "src": "8888:12:18", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "8888:12:18" - } - ], - "name": "claimFailedConsensus", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4986, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4985, - "name": "_woid", - "nodeType": "VariableDeclaration", - "scope": 5063, - "src": "8866:13:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4984, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8866:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8865:15:18" - }, - "payable": false, - "returnParameters": { - "id": 4991, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4990, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 5063, - "src": "8910:4:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4989, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "8910:4:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8909:6:18" - }, - "scope": 6097, - "src": "8836:537:18", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 5102, - "nodeType": "Block", - "src": "9522:148:18", - "statements": [ - { - "body": { - "id": 5098, - "nodeType": "Block", - "src": "9571:81:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5090, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5065, - "src": "9608:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5091, - "name": "_workers", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5068, - "src": "9615:8:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 5093, - "indexExpression": { - "argumentTypes": null, - "id": 5092, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5078, - "src": "9624:1:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9615:11:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5094, - "name": "_enclaveChallenge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5070, - "src": "9628:17:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 5089, - "name": "allowWorkerToContribute", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5215, - "src": "9584:23:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$returns$_t_bool_$", - "typeString": "function (address,address,address) returns (bool)" - } - }, - "id": 5095, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9584:62:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 5088, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "9576:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 5096, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9576:71:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5097, - "nodeType": "ExpressionStatement", - "src": "9576:71:18" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5084, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5081, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5078, - "src": "9543:1:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5082, - "name": "_workers", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5068, - "src": "9547:8:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 5083, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "9547:15:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9543:19:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 5099, - "initializationExpression": { - "assignments": [ - 5078 - ], - "declarations": [ - { - "constant": false, - "id": 5078, - "name": "i", - "nodeType": "VariableDeclaration", - "scope": 5103, - "src": "9531:6:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5077, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "9531:4:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5080, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 5079, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9540:1:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "9531:10:18" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 5086, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": true, - "src": "9564:3:18", - "subExpression": { - "argumentTypes": null, - "id": 5085, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5078, - "src": "9566:1:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5087, - "nodeType": "ExpressionStatement", - "src": "9564:3:18" - }, - "nodeType": "ForStatement", - "src": "9526:126:18" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 5100, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9662:4:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 5076, - "id": 5101, - "nodeType": "Return", - "src": "9655:11:18" - } - ] - }, - "documentation": null, - "id": 5103, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [], - "id": 5073, - "modifierName": { - "argumentTypes": null, - "id": 5072, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3700, - "src": "9479:9:18", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "9479:9:18" - } - ], - "name": "allowWorkersToContribute", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5071, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5065, - "name": "_woid", - "nodeType": "VariableDeclaration", - "scope": 5103, - "src": "9410:13:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5064, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9410:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5068, - "name": "_workers", - "nodeType": "VariableDeclaration", - "scope": 5103, - "src": "9425:18:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - }, - "typeName": { - "baseType": { - "id": 5066, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9425:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 5067, - "length": null, - "nodeType": "ArrayTypeName", - "src": "9425:9:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[] storage pointer" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5070, - "name": "_enclaveChallenge", - "nodeType": "VariableDeclaration", - "scope": 5103, - "src": "9445:25:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5069, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9445:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9409:62:18" - }, - "payable": false, - "returnParameters": { - "id": 5076, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5075, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 5103, - "src": "9515:4:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5074, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "9515:4:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9514:6:18" - }, - "scope": 6097, - "src": "9376:294:18", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 5214, - "nodeType": "Block", - "src": "9815:798:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5119, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5105, - "src": "9861:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 5117, - "name": "iexecHubInterface", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2441, - "src": "9827:17:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IexecHubInterface_$2802", - "typeString": "contract IexecHubInterface" - } - }, - "id": 5118, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "isWoidRegistred", - "nodeType": "MemberAccess", - "referencedDeclaration": 2570, - "src": "9827:33:18", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view external returns (bool)" - } - }, - "id": 5120, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9827:40:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 5116, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "9819:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 5121, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9819:49:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5122, - "nodeType": "ExpressionStatement", - "src": "9819:49:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", - "typeString": "enum IexecLib.WorkOrderStatusEnum" - }, - "id": 5132, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5125, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5105, - "src": "9890:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 5124, - "name": "WorkOrder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4299, - "src": "9880:9:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_WorkOrder_$4299_$", - "typeString": "type(contract WorkOrder)" - } - }, - "id": 5126, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9880:16:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkOrder_$4299", - "typeString": "contract WorkOrder" - } - }, - "id": 5127, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "m_status", - "nodeType": "MemberAccess", - "referencedDeclaration": 4040, - "src": "9880:25:18", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_enum$_WorkOrderStatusEnum_$2832_$", - "typeString": "function () view external returns (enum IexecLib.WorkOrderStatusEnum)" - } - }, - "id": 5128, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9880:27:18", - "typeDescriptions": { - "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", - "typeString": "enum IexecLib.WorkOrderStatusEnum" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5129, - "name": "IexecLib", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2893, - "src": "9911:8:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IexecLib_$2893_$", - "typeString": "type(library IexecLib)" - } - }, - "id": 5130, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "WorkOrderStatusEnum", - "nodeType": "MemberAccess", - "referencedDeclaration": 2832, - "src": "9911:28:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_WorkOrderStatusEnum_$2832_$", - "typeString": "type(enum IexecLib.WorkOrderStatusEnum)" - } - }, - "id": 5131, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "ACTIVE", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "9911:35:18", - "typeDescriptions": { - "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", - "typeString": "enum IexecLib.WorkOrderStatusEnum" - } - }, - "src": "9880:66:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 5123, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "9872:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 5133, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9872:75:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5134, - "nodeType": "ExpressionStatement", - "src": "9872:75:18" - }, - { - "assignments": [ - 5138 - ], - "declarations": [ - { - "constant": false, - "id": 5138, - "name": "contribution", - "nodeType": "VariableDeclaration", - "scope": 5215, - "src": "9951:42:18", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", - "typeString": "struct IexecLib.Contribution storage pointer" - }, - "typeName": { - "contractScope": null, - "id": 5137, - "name": "IexecLib.Contribution", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2873, - "src": "9951:21:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", - "typeString": "struct IexecLib.Contribution storage pointer" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5144, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5139, - "name": "m_contributions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4347, - "src": "9996:15:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_Contribution_$2873_storage_$_$", - "typeString": "mapping(address => mapping(address => struct IexecLib.Contribution storage ref))" - } - }, - "id": 5141, - "indexExpression": { - "argumentTypes": null, - "id": 5140, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5105, - "src": "10012:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9996:22:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Contribution_$2873_storage_$", - "typeString": "mapping(address => struct IexecLib.Contribution storage ref)" - } - }, - "id": 5143, - "indexExpression": { - "argumentTypes": null, - "id": 5142, - "name": "_worker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5107, - "src": "10019:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9996:31:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Contribution_$2873_storage", - "typeString": "struct IexecLib.Contribution storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9951:76:18" - }, - { - "assignments": [ - 5148 - ], - "declarations": [ - { - "constant": false, - "id": 5148, - "name": "consensus", - "nodeType": "VariableDeclaration", - "scope": 5215, - "src": "10031:39:18", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - }, - "typeName": { - "contractScope": null, - "id": 5147, - "name": "IexecLib.Consensus", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2854, - "src": "10031:18:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5152, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5149, - "name": "m_consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4341, - "src": "10076:11:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Consensus_$2854_storage_$", - "typeString": "mapping(address => struct IexecLib.Consensus storage ref)" - } - }, - "id": 5151, - "indexExpression": { - "argumentTypes": null, - "id": 5150, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5105, - "src": "10088:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10076:18:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage", - "typeString": "struct IexecLib.Consensus storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10031:63:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5157, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5154, - "name": "now", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7010, - "src": "10106:3:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5155, - "name": "consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5148, - "src": "10113:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - } - }, - "id": 5156, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "consensusTimeout", - "nodeType": "MemberAccess", - "referencedDeclaration": 2844, - "src": "10113:26:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10106:33:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 5153, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "10098:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 5158, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10098:42:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5159, - "nodeType": "ExpressionStatement", - "src": "10098:42:18" - }, - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 5161, - "name": "workerPool", - "nodeType": "VariableDeclaration", - "scope": 5215, - "src": "10145:18:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5160, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10145:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5162, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "10145:18:18" - }, - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 5164, - "name": "workerScore", - "nodeType": "VariableDeclaration", - "scope": 5215, - "src": "10167:19:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5163, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10167:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5165, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "10167:19:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 5173, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 5166, - "name": "workerPool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5161, - "src": "10191:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5167, - "name": "workerScore", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5164, - "src": "10203:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5168, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "10190:25:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_address_$_t_uint256_$", - "typeString": "tuple(address,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5171, - "name": "_worker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5107, - "src": "10252:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 5169, - "name": "iexecHubInterface", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2441, - "src": "10218:17:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IexecHubInterface_$2802", - "typeString": "contract IexecHubInterface" - } - }, - "id": 5170, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getWorkerStatus", - "nodeType": "MemberAccess", - "referencedDeclaration": 2639, - "src": "10218:33:18", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_address_$_t_uint256_$", - "typeString": "function (address) view external returns (address,uint256)" - } - }, - "id": 5172, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10218:42:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_address_$_t_uint256_$", - "typeString": "tuple(address,uint256)" - } - }, - "src": "10190:70:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5174, - "nodeType": "ExpressionStatement", - "src": "10190:70:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 5180, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5176, - "name": "workerPool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5161, - "src": "10299:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5178, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7057, - "src": "10321:4:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkerPool_$6097", - "typeString": "contract WorkerPool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_WorkerPool_$6097", - "typeString": "contract WorkerPool" - } - ], - "id": 5177, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "10313:7:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 5179, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10313:13:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "10299:27:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 5175, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "10291:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 5181, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10291:36:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5182, - "nodeType": "ExpressionStatement", - "src": "10291:36:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", - "typeString": "enum IexecLib.ContributionStatusEnum" - }, - "id": 5189, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5184, - "name": "contribution", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5138, - "src": "10340:12:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", - "typeString": "struct IexecLib.Contribution storage pointer" - } - }, - "id": 5185, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "status", - "nodeType": "MemberAccess", - "referencedDeclaration": 2862, - "src": "10340:19:18", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", - "typeString": "enum IexecLib.ContributionStatusEnum" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5186, - "name": "IexecLib", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2893, - "src": "10363:8:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IexecLib_$2893_$", - "typeString": "type(library IexecLib)" - } - }, - "id": 5187, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "ContributionStatusEnum", - "nodeType": "MemberAccess", - "referencedDeclaration": 2860, - "src": "10363:31:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_ContributionStatusEnum_$2860_$", - "typeString": "type(enum IexecLib.ContributionStatusEnum)" - } - }, - "id": 5188, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "UNSET", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10363:37:18", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", - "typeString": "enum IexecLib.ContributionStatusEnum" - } - }, - "src": "10340:60:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 5183, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "10332:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 5190, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10332:69:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5191, - "nodeType": "ExpressionStatement", - "src": "10332:69:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 5198, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5192, - "name": "contribution", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5138, - "src": "10405:12:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", - "typeString": "struct IexecLib.Contribution storage pointer" - } - }, - "id": 5194, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "status", - "nodeType": "MemberAccess", - "referencedDeclaration": 2862, - "src": "10405:19:18", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", - "typeString": "enum IexecLib.ContributionStatusEnum" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5195, - "name": "IexecLib", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2893, - "src": "10437:8:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IexecLib_$2893_$", - "typeString": "type(library IexecLib)" - } - }, - "id": 5196, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "ContributionStatusEnum", - "nodeType": "MemberAccess", - "referencedDeclaration": 2860, - "src": "10437:31:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_ContributionStatusEnum_$2860_$", - "typeString": "type(enum IexecLib.ContributionStatusEnum)" - } - }, - "id": 5197, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "AUTHORIZED", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10437:42:18", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", - "typeString": "enum IexecLib.ContributionStatusEnum" - } - }, - "src": "10405:74:18", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", - "typeString": "enum IexecLib.ContributionStatusEnum" - } - }, - "id": 5199, - "nodeType": "ExpressionStatement", - "src": "10405:74:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 5204, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5200, - "name": "contribution", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5138, - "src": "10483:12:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", - "typeString": "struct IexecLib.Contribution storage pointer" - } - }, - "id": 5202, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "enclaveChallenge", - "nodeType": "MemberAccess", - "referencedDeclaration": 2868, - "src": "10483:29:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5203, - "name": "_enclaveChallenge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5109, - "src": "10515:17:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "10483:49:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 5205, - "nodeType": "ExpressionStatement", - "src": "10483:49:18" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5207, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5105, - "src": "10566:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5208, - "name": "_worker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5107, - "src": "10573:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5209, - "name": "workerScore", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5164, - "src": "10582:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5206, - "name": "AllowWorkerToContribute", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4389, - "src": "10542:23:18", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 5210, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10542:52:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5211, - "nodeType": "EmitStatement", - "src": "10537:57:18" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 5212, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10605:4:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 5115, - "id": 5213, - "nodeType": "Return", - "src": "10598:11:18" - } - ] - }, - "documentation": null, - "id": 5215, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [], - "id": 5112, - "modifierName": { - "argumentTypes": null, - "id": 5111, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3700, - "src": "9772:9:18", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "9772:9:18" - } - ], - "name": "allowWorkerToContribute", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5110, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5105, - "name": "_woid", - "nodeType": "VariableDeclaration", - "scope": 5215, - "src": "9706:13:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5104, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9706:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5107, - "name": "_worker", - "nodeType": "VariableDeclaration", - "scope": 5215, - "src": "9721:15:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5106, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9721:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5109, - "name": "_enclaveChallenge", - "nodeType": "VariableDeclaration", - "scope": 5215, - "src": "9738:25:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5108, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9738:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9705:59:18" - }, - "payable": false, - "returnParameters": { - "id": 5115, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5114, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 5215, - "src": "9808:4:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5113, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "9808:4:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9807:6:18" - }, - "scope": 6097, - "src": "9673:940:18", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 5382, - "nodeType": "Block", - "src": "10765:1197:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5235, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5217, - "src": "10811:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 5233, - "name": "iexecHubInterface", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2441, - "src": "10777:17:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IexecHubInterface_$2802", - "typeString": "contract IexecHubInterface" - } - }, - "id": 5234, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "isWoidRegistred", - "nodeType": "MemberAccess", - "referencedDeclaration": 2570, - "src": "10777:33:18", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view external returns (bool)" - } - }, - "id": 5236, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10777:40:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 5232, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "10769:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 5237, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10769:49:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5238, - "nodeType": "ExpressionStatement", - "src": "10769:49:18" - }, - { - "assignments": [ - 5242 - ], - "declarations": [ - { - "constant": false, - "id": 5242, - "name": "consensus", - "nodeType": "VariableDeclaration", - "scope": 5383, - "src": "10822:39:18", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - }, - "typeName": { - "contractScope": null, - "id": 5241, - "name": "IexecLib.Consensus", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2854, - "src": "10822:18:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5246, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5243, - "name": "m_consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4341, - "src": "10867:11:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Consensus_$2854_storage_$", - "typeString": "mapping(address => struct IexecLib.Consensus storage ref)" - } - }, - "id": 5245, - "indexExpression": { - "argumentTypes": null, - "id": 5244, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5217, - "src": "10879:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10867:18:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage", - "typeString": "struct IexecLib.Consensus storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10822:63:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5251, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5248, - "name": "now", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7010, - "src": "10897:3:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5249, - "name": "consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5242, - "src": "10904:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - } - }, - "id": 5250, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "consensusTimeout", - "nodeType": "MemberAccess", - "referencedDeclaration": 2844, - "src": "10904:26:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10897:33:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 5247, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "10889:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 5252, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10889:42:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5253, - "nodeType": "ExpressionStatement", - "src": "10889:42:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", - "typeString": "enum IexecLib.WorkOrderStatusEnum" - }, - "id": 5263, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5256, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5217, - "src": "10953:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 5255, - "name": "WorkOrder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4299, - "src": "10943:9:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_WorkOrder_$4299_$", - "typeString": "type(contract WorkOrder)" - } - }, - "id": 5257, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10943:16:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkOrder_$4299", - "typeString": "contract WorkOrder" - } - }, - "id": 5258, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "m_status", - "nodeType": "MemberAccess", - "referencedDeclaration": 4040, - "src": "10943:25:18", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_enum$_WorkOrderStatusEnum_$2832_$", - "typeString": "function () view external returns (enum IexecLib.WorkOrderStatusEnum)" - } - }, - "id": 5259, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10943:27:18", - "typeDescriptions": { - "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", - "typeString": "enum IexecLib.WorkOrderStatusEnum" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5260, - "name": "IexecLib", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2893, - "src": "10974:8:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IexecLib_$2893_$", - "typeString": "type(library IexecLib)" - } - }, - "id": 5261, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "WorkOrderStatusEnum", - "nodeType": "MemberAccess", - "referencedDeclaration": 2832, - "src": "10974:28:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_WorkOrderStatusEnum_$2832_$", - "typeString": "type(enum IexecLib.WorkOrderStatusEnum)" - } - }, - "id": 5262, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "ACTIVE", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10974:35:18", - "typeDescriptions": { - "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", - "typeString": "enum IexecLib.WorkOrderStatusEnum" - } - }, - "src": "10943:66:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 5254, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "10935:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 5264, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10935:75:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5265, - "nodeType": "ExpressionStatement", - "src": "10935:75:18" - }, - { - "assignments": [ - 5269 - ], - "declarations": [ - { - "constant": false, - "id": 5269, - "name": "contribution", - "nodeType": "VariableDeclaration", - "scope": 5383, - "src": "11070:42:18", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", - "typeString": "struct IexecLib.Contribution storage pointer" - }, - "typeName": { - "contractScope": null, - "id": 5268, - "name": "IexecLib.Contribution", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2873, - "src": "11070:21:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", - "typeString": "struct IexecLib.Contribution storage pointer" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5276, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5270, - "name": "m_contributions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4347, - "src": "11115:15:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_Contribution_$2873_storage_$_$", - "typeString": "mapping(address => mapping(address => struct IexecLib.Contribution storage ref))" - } - }, - "id": 5272, - "indexExpression": { - "argumentTypes": null, - "id": 5271, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5217, - "src": "11131:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11115:22:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Contribution_$2873_storage_$", - "typeString": "mapping(address => struct IexecLib.Contribution storage ref)" - } - }, - "id": 5275, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5273, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "11138:3:18", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5274, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "11138:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11115:34:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Contribution_$2873_storage", - "typeString": "struct IexecLib.Contribution storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "11070:79:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "id": 5280, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5278, - "name": "_resultHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5219, - "src": "11189:11:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830", - "id": 5279, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11204:3:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0x0" - }, - "src": "11189:18:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 5277, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "11181:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 5281, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11181:27:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5282, - "nodeType": "ExpressionStatement", - "src": "11181:27:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "id": 5286, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5284, - "name": "_resultSign", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5221, - "src": "11220:11:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830", - "id": 5285, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11235:3:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0x0" - }, - "src": "11220:18:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 5283, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "11212:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 5287, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11212:27:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5288, - "nodeType": "ExpressionStatement", - "src": "11212:27:18" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 5294, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5289, - "name": "contribution", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5269, - "src": "11247:12:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", - "typeString": "struct IexecLib.Contribution storage pointer" - } - }, - "id": 5290, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "enclaveChallenge", - "nodeType": "MemberAccess", - "referencedDeclaration": 2868, - "src": "11247:29:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 5292, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11288:1:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 5291, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "11280:7:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 5293, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11280:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "11247:43:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 5312, - "nodeType": "IfStatement", - "src": "11243:197:18", - "trueBody": { - "id": 5311, - "nodeType": "Block", - "src": "11294:146:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 5308, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5296, - "name": "contribution", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5269, - "src": "11307:12:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", - "typeString": "struct IexecLib.Contribution storage pointer" - } - }, - "id": 5297, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "enclaveChallenge", - "nodeType": "MemberAccess", - "referencedDeclaration": 2868, - "src": "11307:29:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "19457468657265756d205369676e6564204d6573736167653a0a3634", - "id": 5300, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11360:34:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_9835cb014a61578493d8e56753fb400073be9e8b300198bc2d66711870e6f164", - "typeString": "literal_string \"\u0019Ethereum Signed Message:\n64\"" - }, - "value": "\u0019Ethereum Signed Message:\n64" - }, - { - "argumentTypes": null, - "id": 5301, - "name": "_resultHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5219, - "src": "11396:11:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 5302, - "name": "_resultSign", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5221, - "src": "11409:11:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_9835cb014a61578493d8e56753fb400073be9e8b300198bc2d66711870e6f164", - "typeString": "literal_string \"\u0019Ethereum Signed Message:\n64\"" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 5299, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7002, - "src": "11350:9:18", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 5303, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11350:71:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 5304, - "name": "_v", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5223, - "src": "11423:2:18", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "argumentTypes": null, - "id": 5305, - "name": "_r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5225, - "src": "11427:2:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 5306, - "name": "_s", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5227, - "src": "11431:2:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 5298, - "name": "ecrecover", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7000, - "src": "11340:9:18", - "typeDescriptions": { - "typeIdentifier": "t_function_ecrecover_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$", - "typeString": "function (bytes32,uint8,bytes32,bytes32) pure returns (address)" - } - }, - "id": 5307, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11340:94:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "11307:127:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 5295, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "11299:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 5309, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11299:136:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5310, - "nodeType": "ExpressionStatement", - "src": "11299:136:18" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", - "typeString": "enum IexecLib.ContributionStatusEnum" - }, - "id": 5319, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5314, - "name": "contribution", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5269, - "src": "11452:12:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", - "typeString": "struct IexecLib.Contribution storage pointer" - } - }, - "id": 5315, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "status", - "nodeType": "MemberAccess", - "referencedDeclaration": 2862, - "src": "11452:19:18", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", - "typeString": "enum IexecLib.ContributionStatusEnum" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5316, - "name": "IexecLib", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2893, - "src": "11475:8:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IexecLib_$2893_$", - "typeString": "type(library IexecLib)" - } - }, - "id": 5317, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "ContributionStatusEnum", - "nodeType": "MemberAccess", - "referencedDeclaration": 2860, - "src": "11475:31:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_ContributionStatusEnum_$2860_$", - "typeString": "type(enum IexecLib.ContributionStatusEnum)" - } - }, - "id": 5318, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "AUTHORIZED", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "11475:42:18", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", - "typeString": "enum IexecLib.ContributionStatusEnum" - } - }, - "src": "11452:65:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 5313, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "11444:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 5320, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11444:74:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5321, - "nodeType": "ExpressionStatement", - "src": "11444:74:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 5328, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5322, - "name": "contribution", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5269, - "src": "11522:12:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", - "typeString": "struct IexecLib.Contribution storage pointer" - } - }, - "id": 5324, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "status", - "nodeType": "MemberAccess", - "referencedDeclaration": 2862, - "src": "11522:19:18", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", - "typeString": "enum IexecLib.ContributionStatusEnum" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5325, - "name": "IexecLib", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2893, - "src": "11548:8:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IexecLib_$2893_$", - "typeString": "type(library IexecLib)" - } - }, - "id": 5326, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "ContributionStatusEnum", - "nodeType": "MemberAccess", - "referencedDeclaration": 2860, - "src": "11548:31:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_ContributionStatusEnum_$2860_$", - "typeString": "type(enum IexecLib.ContributionStatusEnum)" - } - }, - "id": 5327, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "CONTRIBUTED", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "11548:43:18", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", - "typeString": "enum IexecLib.ContributionStatusEnum" - } - }, - "src": "11522:69:18", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", - "typeString": "enum IexecLib.ContributionStatusEnum" - } - }, - "id": 5329, - "nodeType": "ExpressionStatement", - "src": "11522:69:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 5334, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5330, - "name": "contribution", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5269, - "src": "11595:12:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", - "typeString": "struct IexecLib.Contribution storage pointer" - } - }, - "id": 5332, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "resultHash", - "nodeType": "MemberAccess", - "referencedDeclaration": 2864, - "src": "11595:23:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5333, - "name": "_resultHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5219, - "src": "11621:11:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "11595:37:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "id": 5335, - "nodeType": "ExpressionStatement", - "src": "11595:37:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 5340, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5336, - "name": "contribution", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5269, - "src": "11636:12:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", - "typeString": "struct IexecLib.Contribution storage pointer" - } - }, - "id": 5338, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "resultSign", - "nodeType": "MemberAccess", - "referencedDeclaration": 2866, - "src": "11636:23:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5339, - "name": "_resultSign", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5221, - "src": "11662:11:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "11636:37:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "id": 5341, - "nodeType": "ExpressionStatement", - "src": "11636:37:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 5350, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5342, - "name": "contribution", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5269, - "src": "11677:12:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", - "typeString": "struct IexecLib.Contribution storage pointer" - } - }, - "id": 5344, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "score", - "nodeType": "MemberAccess", - "referencedDeclaration": 2870, - "src": "11677:18:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5347, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "11736:3:18", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5348, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "11736:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 5345, - "name": "iexecHubInterface", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2441, - "src": "11703:17:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IexecHubInterface_$2802", - "typeString": "contract IexecHubInterface" - } - }, - "id": 5346, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getWorkerScore", - "nodeType": "MemberAccess", - "referencedDeclaration": 2646, - "src": "11703:32:18", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 5349, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11703:44:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11677:70:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5351, - "nodeType": "ExpressionStatement", - "src": "11677:70:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5357, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "11779:3:18", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5358, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "11779:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5352, - "name": "consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5242, - "src": "11751:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - } - }, - "id": 5355, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "contributors", - "nodeType": "MemberAccess", - "referencedDeclaration": 2849, - "src": "11751:22:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 5356, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "11751:27:18", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) returns (uint256)" - } - }, - "id": 5359, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11751:39:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5360, - "nodeType": "ExpressionStatement", - "src": "11751:39:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5364, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5217, - "src": "11833:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5365, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "11840:3:18", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5366, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "11840:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5367, - "name": "consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5242, - "src": "11852:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - } - }, - "id": 5368, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "stakeAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 2836, - "src": "11852:21:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5362, - "name": "iexecHubInterface", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2441, - "src": "11803:17:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IexecHubInterface_$2802", - "typeString": "contract IexecHubInterface" - } - }, - "id": 5363, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "lockForWork", - "nodeType": "MemberAccess", - "referencedDeclaration": 2705, - "src": "11803:29:18", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256) external returns (bool)" - } - }, - "id": 5369, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11803:71:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 5361, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "11795:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 5370, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11795:80:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5371, - "nodeType": "ExpressionStatement", - "src": "11795:80:18" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5373, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5217, - "src": "11895:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5374, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "11902:3:18", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5375, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "11902:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5376, - "name": "_resultHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5219, - "src": "11914:11:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 5372, - "name": "Contribute", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4397, - "src": "11884:10:18", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$", - "typeString": "function (address,address,bytes32)" - } - }, - "id": 5377, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11884:42:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5378, - "nodeType": "EmitStatement", - "src": "11879:47:18" - }, - { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5379, - "name": "consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5242, - "src": "11937:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - } - }, - "id": 5380, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "stakeAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 2836, - "src": "11937:21:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 5231, - "id": 5381, - "nodeType": "Return", - "src": "11930:28:18" - } - ] - }, - "documentation": null, - "id": 5383, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "contribute", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5228, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5217, - "name": "_woid", - "nodeType": "VariableDeclaration", - "scope": 5383, - "src": "10636:13:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5216, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10636:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5219, - "name": "_resultHash", - "nodeType": "VariableDeclaration", - "scope": 5383, - "src": "10651:19:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5218, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "10651:7:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5221, - "name": "_resultSign", - "nodeType": "VariableDeclaration", - "scope": 5383, - "src": "10672:19:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5220, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "10672:7:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5223, - "name": "_v", - "nodeType": "VariableDeclaration", - "scope": 5383, - "src": "10693:8:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 5222, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "10693:5:18", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5225, - "name": "_r", - "nodeType": "VariableDeclaration", - "scope": 5383, - "src": "10703:10:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5224, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "10703:7:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5227, - "name": "_s", - "nodeType": "VariableDeclaration", - "scope": 5383, - "src": "10715:10:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5226, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "10715:7:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10635:91:18" - }, - "payable": false, - "returnParameters": { - "id": 5231, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5230, - "name": "workerStake", - "nodeType": "VariableDeclaration", - "scope": 5383, - "src": "10743:19:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5229, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10743:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10742:21:18" - }, - "scope": 6097, - "src": "10616:1346:18", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 5524, - "nodeType": "Block", - "src": "12075:1064:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5397, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5385, - "src": "12121:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 5395, - "name": "iexecHubInterface", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2441, - "src": "12087:17:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IexecHubInterface_$2802", - "typeString": "contract IexecHubInterface" - } - }, - "id": 5396, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "isWoidRegistred", - "nodeType": "MemberAccess", - "referencedDeclaration": 2570, - "src": "12087:33:18", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view external returns (bool)" - } - }, - "id": 5398, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12087:40:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 5394, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "12079:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 5399, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12079:49:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5400, - "nodeType": "ExpressionStatement", - "src": "12079:49:18" - }, - { - "assignments": [ - 5404 - ], - "declarations": [ - { - "constant": false, - "id": 5404, - "name": "consensus", - "nodeType": "VariableDeclaration", - "scope": 5525, - "src": "12132:36:18", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - }, - "typeName": { - "contractScope": null, - "id": 5403, - "name": "IexecLib.Consensus", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2854, - "src": "12132:18:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5408, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5405, - "name": "m_consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4341, - "src": "12171:11:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Consensus_$2854_storage_$", - "typeString": "mapping(address => struct IexecLib.Consensus storage ref)" - } - }, - "id": 5407, - "indexExpression": { - "argumentTypes": null, - "id": 5406, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5385, - "src": "12183:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12171:18:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage", - "typeString": "struct IexecLib.Consensus storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "12132:57:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5413, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5410, - "name": "now", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7010, - "src": "12201:3:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5411, - "name": "consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5404, - "src": "12208:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - } - }, - "id": 5412, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "consensusTimeout", - "nodeType": "MemberAccess", - "referencedDeclaration": 2844, - "src": "12208:26:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12201:33:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 5409, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "12193:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 5414, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12193:42:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5415, - "nodeType": "ExpressionStatement", - "src": "12193:42:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5418, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5385, - "src": "12257:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 5417, - "name": "WorkOrder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4299, - "src": "12247:9:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_WorkOrder_$4299_$", - "typeString": "type(contract WorkOrder)" - } - }, - "id": 5419, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12247:16:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkOrder_$4299", - "typeString": "contract WorkOrder" - } - }, - "id": 5420, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "startRevealingPhase", - "nodeType": "MemberAccess", - "referencedDeclaration": 4188, - "src": "12247:36:18", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$__$returns$_t_bool_$", - "typeString": "function () external returns (bool)" - } - }, - "id": 5421, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12247:38:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 5416, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "12239:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 5422, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12239:47:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5423, - "nodeType": "ExpressionStatement", - "src": "12239:47:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 5428, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5424, - "name": "consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5404, - "src": "12291:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - } - }, - "id": 5426, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "winnerCount", - "nodeType": "MemberAccess", - "referencedDeclaration": 2846, - "src": "12291:21:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30", - "id": 5427, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12315:1:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "12291:25:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5429, - "nodeType": "ExpressionStatement", - "src": "12291:25:18" - }, - { - "body": { - "id": 5480, - "nodeType": "Block", - "src": "12380:317:18", - "statements": [ - { - "assignments": [ - 5443 - ], - "declarations": [ - { - "constant": false, - "id": 5443, - "name": "w", - "nodeType": "VariableDeclaration", - "scope": 5525, - "src": "12385:9:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5442, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12385:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5448, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5444, - "name": "consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5404, - "src": "12397:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - } - }, - "id": 5445, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "contributors", - "nodeType": "MemberAccess", - "referencedDeclaration": 2849, - "src": "12397:22:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 5447, - "indexExpression": { - "argumentTypes": null, - "id": 5446, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5431, - "src": "12420:1:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12397:25:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "12385:37:18" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 5467, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "id": 5456, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5449, - "name": "m_contributions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4347, - "src": "12436:15:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_Contribution_$2873_storage_$_$", - "typeString": "mapping(address => mapping(address => struct IexecLib.Contribution storage ref))" - } - }, - "id": 5451, - "indexExpression": { - "argumentTypes": null, - "id": 5450, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5385, - "src": "12452:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12436:22:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Contribution_$2873_storage_$", - "typeString": "mapping(address => struct IexecLib.Contribution storage ref)" - } - }, - "id": 5453, - "indexExpression": { - "argumentTypes": null, - "id": 5452, - "name": "w", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5443, - "src": "12459:1:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12436:25:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Contribution_$2873_storage", - "typeString": "struct IexecLib.Contribution storage ref" - } - }, - "id": 5454, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "resultHash", - "nodeType": "MemberAccess", - "referencedDeclaration": 2864, - "src": "12436:36:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 5455, - "name": "_consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5387, - "src": "12476:10:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "12436:50:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", - "typeString": "enum IexecLib.ContributionStatusEnum" - }, - "id": 5466, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5457, - "name": "m_contributions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4347, - "src": "12498:15:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_Contribution_$2873_storage_$_$", - "typeString": "mapping(address => mapping(address => struct IexecLib.Contribution storage ref))" - } - }, - "id": 5459, - "indexExpression": { - "argumentTypes": null, - "id": 5458, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5385, - "src": "12514:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12498:22:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Contribution_$2873_storage_$", - "typeString": "mapping(address => struct IexecLib.Contribution storage ref)" - } - }, - "id": 5461, - "indexExpression": { - "argumentTypes": null, - "id": 5460, - "name": "w", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5443, - "src": "12521:1:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12498:25:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Contribution_$2873_storage", - "typeString": "struct IexecLib.Contribution storage ref" - } - }, - "id": 5462, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "status", - "nodeType": "MemberAccess", - "referencedDeclaration": 2862, - "src": "12498:32:18", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", - "typeString": "enum IexecLib.ContributionStatusEnum" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5463, - "name": "IexecLib", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2893, - "src": "12534:8:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IexecLib_$2893_$", - "typeString": "type(library IexecLib)" - } - }, - "id": 5464, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "ContributionStatusEnum", - "nodeType": "MemberAccess", - "referencedDeclaration": 2860, - "src": "12534:31:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_ContributionStatusEnum_$2860_$", - "typeString": "type(enum IexecLib.ContributionStatusEnum)" - } - }, - "id": 5465, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "CONTRIBUTED", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12534:43:18", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", - "typeString": "enum IexecLib.ContributionStatusEnum" - } - }, - "src": "12498:79:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "12436:141:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 5479, - "nodeType": "IfStatement", - "src": "12427:266:18", - "trueBody": { - "id": 5478, - "nodeType": "Block", - "src": "12629:64:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5476, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5468, - "name": "consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5404, - "src": "12635:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - } - }, - "id": 5470, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "winnerCount", - "nodeType": "MemberAccess", - "referencedDeclaration": 2846, - "src": "12635:21:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "31", - "id": 5474, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12685:1:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5471, - "name": "consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5404, - "src": "12659:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - } - }, - "id": 5472, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "winnerCount", - "nodeType": "MemberAccess", - "referencedDeclaration": 2846, - "src": "12659:21:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5473, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 3773, - "src": "12659:25:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5475, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12659:28:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12635:52:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5477, - "nodeType": "ExpressionStatement", - "src": "12635:52:18" - } - ] - } - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5438, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5434, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5431, - "src": "12340:1:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5435, - "name": "consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5404, - "src": "12342:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - } - }, - "id": 5436, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "contributors", - "nodeType": "MemberAccess", - "referencedDeclaration": 2849, - "src": "12342:22:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 5437, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12342:29:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12340:31:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 5481, - "initializationExpression": { - "assignments": [ - 5431 - ], - "declarations": [ - { - "constant": false, - "id": 5431, - "name": "i", - "nodeType": "VariableDeclaration", - "scope": 5525, - "src": "12325:9:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5430, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12325:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5433, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 5432, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12337:1:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "12325:13:18" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 5440, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": true, - "src": "12373:3:18", - "subExpression": { - "argumentTypes": null, - "id": 5439, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5431, - "src": "12375:1:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5441, - "nodeType": "ExpressionStatement", - "src": "12373:3:18" - }, - "nodeType": "ForStatement", - "src": "12320:377:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5486, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5483, - "name": "consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5404, - "src": "12708:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - } - }, - "id": 5484, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "winnerCount", - "nodeType": "MemberAccess", - "referencedDeclaration": 2846, - "src": "12708:21:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5485, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12732:1:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "12708:25:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 5482, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "12700:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 5487, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12700:34:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5488, - "nodeType": "ExpressionStatement", - "src": "12700:34:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 5493, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5489, - "name": "consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5404, - "src": "12811:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - } - }, - "id": 5491, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "consensus", - "nodeType": "MemberAccess", - "referencedDeclaration": 2838, - "src": "12811:19:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5492, - "name": "_consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5387, - "src": "12834:10:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "12811:33:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "id": 5494, - "nodeType": "ExpressionStatement", - "src": "12811:33:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 5515, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5495, - "name": "consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5404, - "src": "12848:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - } - }, - "id": 5497, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "revealDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 2840, - "src": "12848:20:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5513, - "name": "now", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7010, - "src": "13037:3:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5510, - "name": "REVEAL_PERIOD_DURATION_RATIO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4350, - "src": "13003:28:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5503, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5385, - "src": "12971:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 5502, - "name": "WorkOrder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4299, - "src": "12961:9:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_WorkOrder_$4299_$", - "typeString": "type(contract WorkOrder)" - } - }, - "id": 5504, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12961:16:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkOrder_$4299", - "typeString": "contract WorkOrder" - } - }, - "id": 5505, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "m_marketorderIdx", - "nodeType": "MemberAccess", - "referencedDeclaration": 4042, - "src": "12961:33:18", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", - "typeString": "function () view external returns (uint256)" - } - }, - "id": 5506, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12961:35:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5500, - "name": "marketplaceInterface", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3520, - "src": "12917:20:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MarketplaceInterface_$3620", - "typeString": "contract MarketplaceInterface" - } - }, - "id": 5501, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getMarketOrderCategory", - "nodeType": "MemberAccess", - "referencedDeclaration": 3593, - "src": "12917:43:18", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) view external returns (uint256)" - } - }, - "id": 5507, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12917:80:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5498, - "name": "iexecHubInterface", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2441, - "src": "12871:17:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IexecHubInterface_$2802", - "typeString": "contract IexecHubInterface" - } - }, - "id": 5499, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getCategoryWorkClockTimeRef", - "nodeType": "MemberAccess", - "referencedDeclaration": 2610, - "src": "12871:45:18", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) view external returns (uint256)" - } - }, - "id": 5508, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12871:127:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5509, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 3826, - "src": "12871:131:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5511, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12871:161:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5512, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 3773, - "src": "12871:165:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5514, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12871:170:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12848:193:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5516, - "nodeType": "ExpressionStatement", - "src": "12848:193:18" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5518, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5385, - "src": "13102:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5519, - "name": "_consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5387, - "src": "13109:10:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 5517, - "name": "RevealConsensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4403, - "src": "13086:15:18", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_bytes32_$returns$__$", - "typeString": "function (address,bytes32)" - } - }, - "id": 5520, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13086:34:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5521, - "nodeType": "EmitStatement", - "src": "13081:39:18" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 5522, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13131:4:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 5393, - "id": 5523, - "nodeType": "Return", - "src": "13124:11:18" - } - ] - }, - "documentation": null, - "id": 5525, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [], - "id": 5390, - "modifierName": { - "argumentTypes": null, - "id": 5389, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3700, - "src": "12032:9:18", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "12032:9:18" - } - ], - "name": "revealConsensus", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5388, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5385, - "name": "_woid", - "nodeType": "VariableDeclaration", - "scope": 5525, - "src": "11990:13:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5384, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11990:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5387, - "name": "_consensus", - "nodeType": "VariableDeclaration", - "scope": 5525, - "src": "12005:18:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5386, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "12005:7:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11989:35:18" - }, - "payable": false, - "returnParameters": { - "id": 5393, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5392, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 5525, - "src": "12068:4:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5391, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "12068:4:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12067:6:18" - }, - "scope": 6097, - "src": "11965:1174:18", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 5653, - "nodeType": "Block", - "src": "13213:964:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5537, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5527, - "src": "13259:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 5535, - "name": "iexecHubInterface", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2441, - "src": "13225:17:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IexecHubInterface_$2802", - "typeString": "contract IexecHubInterface" - } - }, - "id": 5536, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "isWoidRegistred", - "nodeType": "MemberAccess", - "referencedDeclaration": 2570, - "src": "13225:33:18", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view external returns (bool)" - } - }, - "id": 5538, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13225:40:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 5534, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "13217:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 5539, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13217:49:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5540, - "nodeType": "ExpressionStatement", - "src": "13217:49:18" - }, - { - "assignments": [ - 5544 - ], - "declarations": [ - { - "constant": false, - "id": 5544, - "name": "consensus", - "nodeType": "VariableDeclaration", - "scope": 5654, - "src": "13270:39:18", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - }, - "typeName": { - "contractScope": null, - "id": 5543, - "name": "IexecLib.Consensus", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2854, - "src": "13270:18:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5548, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5545, - "name": "m_consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4341, - "src": "13315:11:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Consensus_$2854_storage_$", - "typeString": "mapping(address => struct IexecLib.Consensus storage ref)" - } - }, - "id": 5547, - "indexExpression": { - "argumentTypes": null, - "id": 5546, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5527, - "src": "13327:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13315:18:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage", - "typeString": "struct IexecLib.Consensus storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "13270:63:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5553, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5550, - "name": "now", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7010, - "src": "13345:3:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5551, - "name": "consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5544, - "src": "13352:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - } - }, - "id": 5552, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "consensusTimeout", - "nodeType": "MemberAccess", - "referencedDeclaration": 2844, - "src": "13352:26:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13345:33:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 5549, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "13337:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 5554, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13337:42:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5555, - "nodeType": "ExpressionStatement", - "src": "13337:42:18" - }, - { - "assignments": [ - 5559 - ], - "declarations": [ - { - "constant": false, - "id": 5559, - "name": "contribution", - "nodeType": "VariableDeclaration", - "scope": 5654, - "src": "13383:42:18", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", - "typeString": "struct IexecLib.Contribution storage pointer" - }, - "typeName": { - "contractScope": null, - "id": 5558, - "name": "IexecLib.Contribution", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2873, - "src": "13383:21:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", - "typeString": "struct IexecLib.Contribution storage pointer" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5566, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5560, - "name": "m_contributions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4347, - "src": "13428:15:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_Contribution_$2873_storage_$_$", - "typeString": "mapping(address => mapping(address => struct IexecLib.Contribution storage ref))" - } - }, - "id": 5562, - "indexExpression": { - "argumentTypes": null, - "id": 5561, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5527, - "src": "13444:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13428:22:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Contribution_$2873_storage_$", - "typeString": "mapping(address => struct IexecLib.Contribution storage ref)" - } - }, - "id": 5565, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5563, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "13451:3:18", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5564, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "13451:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13428:34:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Contribution_$2873_storage", - "typeString": "struct IexecLib.Contribution storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "13383:79:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", - "typeString": "enum IexecLib.WorkOrderStatusEnum" - }, - "id": 5576, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5569, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5527, - "src": "13485:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 5568, - "name": "WorkOrder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4299, - "src": "13475:9:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_WorkOrder_$4299_$", - "typeString": "type(contract WorkOrder)" - } - }, - "id": 5570, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13475:16:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkOrder_$4299", - "typeString": "contract WorkOrder" - } - }, - "id": 5571, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "m_status", - "nodeType": "MemberAccess", - "referencedDeclaration": 4040, - "src": "13475:25:18", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_enum$_WorkOrderStatusEnum_$2832_$", - "typeString": "function () view external returns (enum IexecLib.WorkOrderStatusEnum)" - } - }, - "id": 5572, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13475:27:18", - "typeDescriptions": { - "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", - "typeString": "enum IexecLib.WorkOrderStatusEnum" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5573, - "name": "IexecLib", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2893, - "src": "13506:8:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IexecLib_$2893_$", - "typeString": "type(library IexecLib)" - } - }, - "id": 5574, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "WorkOrderStatusEnum", - "nodeType": "MemberAccess", - "referencedDeclaration": 2832, - "src": "13506:28:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_WorkOrderStatusEnum_$2832_$", - "typeString": "type(enum IexecLib.WorkOrderStatusEnum)" - } - }, - "id": 5575, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "REVEALING", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "13506:38:18", - "typeDescriptions": { - "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", - "typeString": "enum IexecLib.WorkOrderStatusEnum" - } - }, - "src": "13475:69:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 5567, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "13467:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 5577, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13467:83:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5578, - "nodeType": "ExpressionStatement", - "src": "13467:83:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5583, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5580, - "name": "consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5544, - "src": "13562:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - } - }, - "id": 5581, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "revealDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 2840, - "src": "13562:20:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 5582, - "name": "now", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7010, - "src": "13593:3:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13562:34:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 5579, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "13554:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 5584, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13554:83:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5585, - "nodeType": "ExpressionStatement", - "src": "13554:83:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", - "typeString": "enum IexecLib.ContributionStatusEnum" - }, - "id": 5592, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5587, - "name": "contribution", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5559, - "src": "13649:12:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", - "typeString": "struct IexecLib.Contribution storage pointer" - } - }, - "id": 5588, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "status", - "nodeType": "MemberAccess", - "referencedDeclaration": 2862, - "src": "13649:19:18", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", - "typeString": "enum IexecLib.ContributionStatusEnum" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5589, - "name": "IexecLib", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2893, - "src": "13680:8:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IexecLib_$2893_$", - "typeString": "type(library IexecLib)" - } - }, - "id": 5590, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "ContributionStatusEnum", - "nodeType": "MemberAccess", - "referencedDeclaration": 2860, - "src": "13680:31:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_ContributionStatusEnum_$2860_$", - "typeString": "type(enum IexecLib.ContributionStatusEnum)" - } - }, - "id": 5591, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "CONTRIBUTED", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "13680:43:18", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", - "typeString": "enum IexecLib.ContributionStatusEnum" - } - }, - "src": "13649:74:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 5586, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "13641:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 5593, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13641:83:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5594, - "nodeType": "ExpressionStatement", - "src": "13641:83:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "id": 5600, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5596, - "name": "contribution", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5559, - "src": "13736:12:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", - "typeString": "struct IexecLib.Contribution storage pointer" - } - }, - "id": 5597, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "resultHash", - "nodeType": "MemberAccess", - "referencedDeclaration": 2864, - "src": "13736:23:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5598, - "name": "consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5544, - "src": "13767:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - } - }, - "id": 5599, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "consensus", - "nodeType": "MemberAccess", - "referencedDeclaration": 2838, - "src": "13767:19:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "13736:50:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 5595, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "13728:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 5601, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13728:83:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5602, - "nodeType": "ExpressionStatement", - "src": "13728:83:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "id": 5609, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5604, - "name": "contribution", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5559, - "src": "13823:12:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", - "typeString": "struct IexecLib.Contribution storage pointer" - } - }, - "id": 5605, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "resultHash", - "nodeType": "MemberAccess", - "referencedDeclaration": 2864, - "src": "13823:23:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5607, - "name": "_result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5529, - "src": "13864:7:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 5606, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7002, - "src": "13854:9:18", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 5608, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13854:42:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "13823:73:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 5603, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "13815:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 5610, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13815:83:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5611, - "nodeType": "ExpressionStatement", - "src": "13815:83:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "id": 5623, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5613, - "name": "contribution", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5559, - "src": "13910:12:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", - "typeString": "struct IexecLib.Contribution storage pointer" - } - }, - "id": 5614, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "resultSign", - "nodeType": "MemberAccess", - "referencedDeclaration": 2866, - "src": "13910:23:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "id": 5621, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5616, - "name": "_result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5529, - "src": "13951:7:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "BinaryOperation", - "operator": "^", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5618, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "13971:3:18", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5619, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "13971:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 5617, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7002, - "src": "13961:9:18", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 5620, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13961:21:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "13951:31:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 5615, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7002, - "src": "13941:9:18", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 5622, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13941:42:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "13910:73:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 5612, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "13902:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 5624, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13902:83:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5625, - "nodeType": "ExpressionStatement", - "src": "13902:83:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 5632, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5626, - "name": "contribution", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5559, - "src": "13990:12:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", - "typeString": "struct IexecLib.Contribution storage pointer" - } - }, - "id": 5628, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "status", - "nodeType": "MemberAccess", - "referencedDeclaration": 2862, - "src": "13990:19:18", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", - "typeString": "enum IexecLib.ContributionStatusEnum" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5629, - "name": "IexecLib", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2893, - "src": "14016:8:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IexecLib_$2893_$", - "typeString": "type(library IexecLib)" - } - }, - "id": 5630, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "ContributionStatusEnum", - "nodeType": "MemberAccess", - "referencedDeclaration": 2860, - "src": "14016:31:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_ContributionStatusEnum_$2860_$", - "typeString": "type(enum IexecLib.ContributionStatusEnum)" - } - }, - "id": 5631, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "PROVED", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "14016:38:18", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", - "typeString": "enum IexecLib.ContributionStatusEnum" - } - }, - "src": "13990:64:18", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", - "typeString": "enum IexecLib.ContributionStatusEnum" - } - }, - "id": 5633, - "nodeType": "ExpressionStatement", - "src": "13990:64:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 5642, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5634, - "name": "consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5544, - "src": "14058:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - } - }, - "id": 5636, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "revealCounter", - "nodeType": "MemberAccess", - "referencedDeclaration": 2842, - "src": "14058:23:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "31", - "id": 5640, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14112:1:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5637, - "name": "consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5544, - "src": "14084:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - } - }, - "id": 5638, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "revealCounter", - "nodeType": "MemberAccess", - "referencedDeclaration": 2842, - "src": "14084:23:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5639, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 3773, - "src": "14084:27:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5641, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14084:30:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14058:56:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5643, - "nodeType": "ExpressionStatement", - "src": "14058:56:18" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5645, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5527, - "src": "14131:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5646, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "14138:3:18", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5647, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "14138:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5648, - "name": "_result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5529, - "src": "14150:7:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 5644, - "name": "Reveal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4411, - "src": "14124:6:18", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$", - "typeString": "function (address,address,bytes32)" - } - }, - "id": 5649, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14124:34:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5650, - "nodeType": "EmitStatement", - "src": "14119:39:18" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 5651, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14169:4:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 5533, - "id": 5652, - "nodeType": "Return", - "src": "14162:11:18" - } - ] - }, - "documentation": null, - "id": 5654, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "reveal", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5530, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5527, - "name": "_woid", - "nodeType": "VariableDeclaration", - "scope": 5654, - "src": "13158:13:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5526, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13158:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5529, - "name": "_result", - "nodeType": "VariableDeclaration", - "scope": 5654, - "src": "13173:15:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5528, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "13173:7:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13157:32:18" - }, - "payable": false, - "returnParameters": { - "id": 5533, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5532, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 5654, - "src": "13206:4:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5531, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "13206:4:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13205:6:18" - }, - "scope": 6097, - "src": "13142:1035:18", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 5772, - "nodeType": "Block", - "src": "14261:798:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5666, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5656, - "src": "14307:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 5664, - "name": "iexecHubInterface", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2441, - "src": "14273:17:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IexecHubInterface_$2802", - "typeString": "contract IexecHubInterface" - } - }, - "id": 5665, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "isWoidRegistred", - "nodeType": "MemberAccess", - "referencedDeclaration": 2570, - "src": "14273:33:18", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view external returns (bool)" - } - }, - "id": 5667, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14273:40:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 5663, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "14265:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 5668, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14265:49:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5669, - "nodeType": "ExpressionStatement", - "src": "14265:49:18" - }, - { - "assignments": [ - 5673 - ], - "declarations": [ - { - "constant": false, - "id": 5673, - "name": "consensus", - "nodeType": "VariableDeclaration", - "scope": 5773, - "src": "14318:36:18", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - }, - "typeName": { - "contractScope": null, - "id": 5672, - "name": "IexecLib.Consensus", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2854, - "src": "14318:18:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5677, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5674, - "name": "m_consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4341, - "src": "14357:11:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Consensus_$2854_storage_$", - "typeString": "mapping(address => struct IexecLib.Consensus storage ref)" - } - }, - "id": 5676, - "indexExpression": { - "argumentTypes": null, - "id": 5675, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5656, - "src": "14369:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14357:18:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage", - "typeString": "struct IexecLib.Consensus storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14318:57:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5682, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5679, - "name": "now", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7010, - "src": "14387:3:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5680, - "name": "consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5673, - "src": "14394:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - } - }, - "id": 5681, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "consensusTimeout", - "nodeType": "MemberAccess", - "referencedDeclaration": 2844, - "src": "14394:26:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14387:33:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 5678, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "14379:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 5683, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14379:42:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5684, - "nodeType": "ExpressionStatement", - "src": "14379:42:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 5694, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5689, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5686, - "name": "consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5673, - "src": "14433:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - } - }, - "id": 5687, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "revealDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 2840, - "src": "14433:20:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 5688, - "name": "now", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7010, - "src": "14457:3:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14433:27:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5693, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5690, - "name": "consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5673, - "src": "14464:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - } - }, - "id": 5691, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "revealCounter", - "nodeType": "MemberAccess", - "referencedDeclaration": 2842, - "src": "14464:23:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5692, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14491:1:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "14464:28:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "14433:59:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 5685, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "14425:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 5695, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14425:68:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5696, - "nodeType": "ExpressionStatement", - "src": "14425:68:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5699, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5656, - "src": "14515:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 5698, - "name": "WorkOrder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4299, - "src": "14505:9:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_WorkOrder_$4299_$", - "typeString": "type(contract WorkOrder)" - } - }, - "id": 5700, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14505:16:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkOrder_$4299", - "typeString": "contract WorkOrder" - } - }, - "id": 5701, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "reActivate", - "nodeType": "MemberAccess", - "referencedDeclaration": 4220, - "src": "14505:27:18", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$__$returns$_t_bool_$", - "typeString": "function () external returns (bool)" - } - }, - "id": 5702, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14505:29:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 5697, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "14497:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 5703, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14497:38:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5704, - "nodeType": "ExpressionStatement", - "src": "14497:38:18" - }, - { - "body": { - "id": 5746, - "nodeType": "Block", - "src": "14602:206:18", - "statements": [ - { - "assignments": [ - 5718 - ], - "declarations": [ - { - "constant": false, - "id": 5718, - "name": "w", - "nodeType": "VariableDeclaration", - "scope": 5773, - "src": "14607:9:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5717, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "14607:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5723, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5719, - "name": "consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5673, - "src": "14619:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - } - }, - "id": 5720, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "contributors", - "nodeType": "MemberAccess", - "referencedDeclaration": 2849, - "src": "14619:22:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 5722, - "indexExpression": { - "argumentTypes": null, - "id": 5721, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5706, - "src": "14642:1:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14619:25:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14607:37:18" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "id": 5732, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5724, - "name": "m_contributions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4347, - "src": "14653:15:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_Contribution_$2873_storage_$_$", - "typeString": "mapping(address => mapping(address => struct IexecLib.Contribution storage ref))" - } - }, - "id": 5726, - "indexExpression": { - "argumentTypes": null, - "id": 5725, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5656, - "src": "14669:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14653:22:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Contribution_$2873_storage_$", - "typeString": "mapping(address => struct IexecLib.Contribution storage ref)" - } - }, - "id": 5728, - "indexExpression": { - "argumentTypes": null, - "id": 5727, - "name": "w", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5718, - "src": "14676:1:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14653:25:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Contribution_$2873_storage", - "typeString": "struct IexecLib.Contribution storage ref" - } - }, - "id": 5729, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "resultHash", - "nodeType": "MemberAccess", - "referencedDeclaration": 2864, - "src": "14653:36:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5730, - "name": "consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5673, - "src": "14693:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - } - }, - "id": 5731, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "consensus", - "nodeType": "MemberAccess", - "referencedDeclaration": 2838, - "src": "14693:19:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "14653:59:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 5745, - "nodeType": "IfStatement", - "src": "14649:155:18", - "trueBody": { - "id": 5744, - "nodeType": "Block", - "src": "14717:87:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5742, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5733, - "name": "m_contributions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4347, - "src": "14723:15:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_Contribution_$2873_storage_$_$", - "typeString": "mapping(address => mapping(address => struct IexecLib.Contribution storage ref))" - } - }, - "id": 5736, - "indexExpression": { - "argumentTypes": null, - "id": 5734, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5656, - "src": "14739:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14723:22:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Contribution_$2873_storage_$", - "typeString": "mapping(address => struct IexecLib.Contribution storage ref)" - } - }, - "id": 5737, - "indexExpression": { - "argumentTypes": null, - "id": 5735, - "name": "w", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5718, - "src": "14746:1:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14723:25:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Contribution_$2873_storage", - "typeString": "struct IexecLib.Contribution storage ref" - } - }, - "id": 5738, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "status", - "nodeType": "MemberAccess", - "referencedDeclaration": 2862, - "src": "14723:32:18", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", - "typeString": "enum IexecLib.ContributionStatusEnum" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5739, - "name": "IexecLib", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2893, - "src": "14758:8:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IexecLib_$2893_$", - "typeString": "type(library IexecLib)" - } - }, - "id": 5740, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "ContributionStatusEnum", - "nodeType": "MemberAccess", - "referencedDeclaration": 2860, - "src": "14758:31:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_ContributionStatusEnum_$2860_$", - "typeString": "type(enum IexecLib.ContributionStatusEnum)" - } - }, - "id": 5741, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "REJECTED", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "14758:40:18", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", - "typeString": "enum IexecLib.ContributionStatusEnum" - } - }, - "src": "14723:75:18", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", - "typeString": "enum IexecLib.ContributionStatusEnum" - } - }, - "id": 5743, - "nodeType": "ExpressionStatement", - "src": "14723:75:18" - } - ] - } - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5713, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5709, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5706, - "src": "14560:1:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5710, - "name": "consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5673, - "src": "14564:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - } - }, - "id": 5711, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "contributors", - "nodeType": "MemberAccess", - "referencedDeclaration": 2849, - "src": "14564:22:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 5712, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "14564:29:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14560:33:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 5747, - "initializationExpression": { - "assignments": [ - 5706 - ], - "declarations": [ - { - "constant": false, - "id": 5706, - "name": "i", - "nodeType": "VariableDeclaration", - "scope": 5773, - "src": "14545:9:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5705, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14545:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5708, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 5707, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14557:1:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "14545:13:18" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 5715, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": true, - "src": "14595:3:18", - "subExpression": { - "argumentTypes": null, - "id": 5714, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5706, - "src": "14597:1:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5716, - "nodeType": "ExpressionStatement", - "src": "14595:3:18" - }, - "nodeType": "ForStatement", - "src": "14540:268:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 5752, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5748, - "name": "consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5673, - "src": "14933:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - } - }, - "id": 5750, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "winnerCount", - "nodeType": "MemberAccess", - "referencedDeclaration": 2846, - "src": "14933:21:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30", - "id": 5751, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14957:1:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "14933:25:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5753, - "nodeType": "ExpressionStatement", - "src": "14933:25:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 5758, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5754, - "name": "consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5673, - "src": "14962:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - } - }, - "id": 5756, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "consensus", - "nodeType": "MemberAccess", - "referencedDeclaration": 2838, - "src": "14962:19:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "307830", - "id": 5757, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14986:3:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0x0" - }, - "src": "14962:27:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "id": 5759, - "nodeType": "ExpressionStatement", - "src": "14962:27:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 5764, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5760, - "name": "consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5673, - "src": "14993:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - } - }, - "id": 5762, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "revealDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 2840, - "src": "14993:20:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30", - "id": 5763, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15017:1:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "14993:25:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5765, - "nodeType": "ExpressionStatement", - "src": "14993:25:18" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5767, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5656, - "src": "15034:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 5766, - "name": "Reopen", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4415, - "src": "15027:6:18", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 5768, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15027:13:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5769, - "nodeType": "EmitStatement", - "src": "15022:18:18" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 5770, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15051:4:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 5662, - "id": 5771, - "nodeType": "Return", - "src": "15044:11:18" - } - ] - }, - "documentation": null, - "id": 5773, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [], - "id": 5659, - "modifierName": { - "argumentTypes": null, - "id": 5658, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3700, - "src": "14218:9:18", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "14218:9:18" - } - ], - "name": "reopen", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5657, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5656, - "name": "_woid", - "nodeType": "VariableDeclaration", - "scope": 5773, - "src": "14196:13:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5655, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "14196:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14195:15:18" - }, - "payable": false, - "returnParameters": { - "id": 5662, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5661, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 5773, - "src": "14254:4:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5660, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "14254:4:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14253:6:18" - }, - "scope": 6097, - "src": "14180:879:18", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 5856, - "nodeType": "Block", - "src": "15296:612:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5791, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5775, - "src": "15342:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 5789, - "name": "iexecHubInterface", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2441, - "src": "15308:17:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IexecHubInterface_$2802", - "typeString": "contract IexecHubInterface" - } - }, - "id": 5790, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "isWoidRegistred", - "nodeType": "MemberAccess", - "referencedDeclaration": 2570, - "src": "15308:33:18", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view external returns (bool)" - } - }, - "id": 5792, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15308:40:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 5788, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "15300:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 5793, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15300:49:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5794, - "nodeType": "ExpressionStatement", - "src": "15300:49:18" - }, - { - "assignments": [ - 5798 - ], - "declarations": [ - { - "constant": false, - "id": 5798, - "name": "consensus", - "nodeType": "VariableDeclaration", - "scope": 5857, - "src": "15353:36:18", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - }, - "typeName": { - "contractScope": null, - "id": 5797, - "name": "IexecLib.Consensus", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2854, - "src": "15353:18:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5802, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5799, - "name": "m_consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4341, - "src": "15392:11:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Consensus_$2854_storage_$", - "typeString": "mapping(address => struct IexecLib.Consensus storage ref)" - } - }, - "id": 5801, - "indexExpression": { - "argumentTypes": null, - "id": 5800, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5775, - "src": "15404:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "15392:18:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage", - "typeString": "struct IexecLib.Consensus storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15353:57:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5807, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5804, - "name": "now", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7010, - "src": "15422:3:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5805, - "name": "consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5798, - "src": "15429:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - } - }, - "id": 5806, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "consensusTimeout", - "nodeType": "MemberAccess", - "referencedDeclaration": 2844, - "src": "15429:26:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15422:33:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 5803, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "15414:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 5808, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15414:42:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5809, - "nodeType": "ExpressionStatement", - "src": "15414:42:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 5827, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 5819, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5814, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5811, - "name": "consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5798, - "src": "15469:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - } - }, - "id": 5812, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "revealDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 2840, - "src": "15469:20:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 5813, - "name": "now", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7010, - "src": "15493:3:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15469:27:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5818, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5815, - "name": "consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5798, - "src": "15500:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - } - }, - "id": 5816, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "revealCounter", - "nodeType": "MemberAccess", - "referencedDeclaration": 2842, - "src": "15500:23:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5817, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15526:1:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "15500:27:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "15469:58:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 5820, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "15468:60:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5825, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5821, - "name": "consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5798, - "src": "15533:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - } - }, - "id": 5822, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "revealCounter", - "nodeType": "MemberAccess", - "referencedDeclaration": 2842, - "src": "15533:23:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5823, - "name": "consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5798, - "src": "15560:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - } - }, - "id": 5824, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "winnerCount", - "nodeType": "MemberAccess", - "referencedDeclaration": 2846, - "src": "15560:21:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15533:48:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 5826, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "15532:50:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "15468:114:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 5810, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "15460:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 5828, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15460:123:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5829, - "nodeType": "ExpressionStatement", - "src": "15460:123:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5832, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5775, - "src": "15742:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5833, - "name": "consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5798, - "src": "15749:9:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - } - ], - "id": 5831, - "name": "distributeRewards", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6096, - "src": "15724:17:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_struct$_Consensus_$2854_memory_ptr_$returns$_t_bool_$", - "typeString": "function (address,struct IexecLib.Consensus memory) returns (bool)" - } - }, - "id": 5834, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15724:35:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 5830, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "15716:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 5835, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15716:44:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5836, - "nodeType": "ExpressionStatement", - "src": "15716:44:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5840, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5775, - "src": "15809:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5841, - "name": "_stdout", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5777, - "src": "15816:7:18", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 5842, - "name": "_stderr", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5779, - "src": "15825:7:18", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 5843, - "name": "_uri", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5781, - "src": "15834:4:18", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 5838, - "name": "iexecHubInterface", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2441, - "src": "15773:17:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IexecHubInterface_$2802", - "typeString": "contract IexecHubInterface" - } - }, - "id": 5839, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "finalizeWorkOrder", - "nodeType": "MemberAccess", - "referencedDeclaration": 2603, - "src": "15773:35:18", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$", - "typeString": "function (address,string memory,string memory,string memory) external returns (bool)" - } - }, - "id": 5844, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15773:66:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 5837, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "15765:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 5845, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15765:75:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5846, - "nodeType": "ExpressionStatement", - "src": "15765:75:18" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5848, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5775, - "src": "15862:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5849, - "name": "_stdout", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5777, - "src": "15868:7:18", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 5850, - "name": "_stderr", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5779, - "src": "15876:7:18", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 5851, - "name": "_uri", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5781, - "src": "15884:4:18", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 5847, - "name": "FinalizeWork", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4425, - "src": "15849:12:18", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (address,string memory,string memory,string memory)" - } - }, - "id": 5852, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15849:40:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5853, - "nodeType": "EmitStatement", - "src": "15844:45:18" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 5854, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15900:4:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 5787, - "id": 5855, - "nodeType": "Return", - "src": "15893:11:18" - } - ] - }, - "documentation": null, - "id": 5857, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [], - "id": 5784, - "modifierName": { - "argumentTypes": null, - "id": 5783, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3700, - "src": "15253:9:18", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "15253:9:18" - } - ], - "name": "finalizeWork", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5782, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5775, - "name": "_woid", - "nodeType": "VariableDeclaration", - "scope": 5857, - "src": "15186:13:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5774, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "15186:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5777, - "name": "_stdout", - "nodeType": "VariableDeclaration", - "scope": 5857, - "src": "15201:14:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - "typeName": { - "id": 5776, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "15201:6:18", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5779, - "name": "_stderr", - "nodeType": "VariableDeclaration", - "scope": 5857, - "src": "15217:14:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - "typeName": { - "id": 5778, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "15217:6:18", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5781, - "name": "_uri", - "nodeType": "VariableDeclaration", - "scope": 5857, - "src": "15233:11:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - "typeName": { - "id": 5780, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "15233:6:18", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15185:60:18" - }, - "payable": false, - "returnParameters": { - "id": 5787, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5786, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 5857, - "src": "15289:4:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5785, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "15289:4:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15288:6:18" - }, - "scope": 6097, - "src": "15164:744:18", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 6095, - "nodeType": "Block", - "src": "16009:1934:18", - "statements": [ - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 5867, - "name": "i", - "nodeType": "VariableDeclaration", - "scope": 6096, - "src": "16013:9:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5866, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16013:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5868, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "16013:9:18" - }, - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 5870, - "name": "w", - "nodeType": "VariableDeclaration", - "scope": 6096, - "src": "16026:9:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5869, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "16026:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5871, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "16026:9:18" - }, - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 5873, - "name": "workerBonus", - "nodeType": "VariableDeclaration", - "scope": 6096, - "src": "16039:19:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5872, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16039:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5874, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "16039:19:18" - }, - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 5876, - "name": "workerWeight", - "nodeType": "VariableDeclaration", - "scope": 6096, - "src": "16062:20:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5875, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16062:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5877, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "16062:20:18" - }, - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 5879, - "name": "totalWeight", - "nodeType": "VariableDeclaration", - "scope": 6096, - "src": "16086:19:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5878, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16086:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5880, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "16086:19:18" - }, - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 5882, - "name": "individualWorkerReward", - "nodeType": "VariableDeclaration", - "scope": 6096, - "src": "16109:30:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5881, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16109:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5883, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "16109:30:18" - }, - { - "assignments": [ - 5885 - ], - "declarations": [ - { - "constant": false, - "id": 5885, - "name": "totalReward", - "nodeType": "VariableDeclaration", - "scope": 6096, - "src": "16143:19:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5884, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16143:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5888, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5886, - "name": "_consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5861, - "src": "16165:10:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_memory_ptr", - "typeString": "struct IexecLib.Consensus memory" - } - }, - "id": 5887, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "poolReward", - "nodeType": "MemberAccess", - "referencedDeclaration": 2834, - "src": "16165:21:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16143:43:18" - }, - { - "assignments": [ - 5892 - ], - "declarations": [ - { - "constant": false, - "id": 5892, - "name": "contributors", - "nodeType": "VariableDeclaration", - "scope": 6096, - "src": "16190:29:18", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - }, - "typeName": { - "baseType": { - "id": 5890, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "16190:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 5891, - "length": null, - "nodeType": "ArrayTypeName", - "src": "16190:9:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[] storage pointer" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5895, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5893, - "name": "_consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5861, - "src": "16222:10:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_memory_ptr", - "typeString": "struct IexecLib.Consensus memory" - } - }, - "id": 5894, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "contributors", - "nodeType": "MemberAccess", - "referencedDeclaration": 2849, - "src": "16222:23:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory", - "typeString": "address[] memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16190:55:18" - }, - { - "body": { - "id": 5978, - "nodeType": "Block", - "src": "16291:590:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5911, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5907, - "name": "w", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5870, - "src": "16296:1:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5908, - "name": "contributors", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5892, - "src": "16300:12:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 5910, - "indexExpression": { - "argumentTypes": null, - "id": 5909, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5867, - "src": "16313:1:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "16300:15:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "16296:19:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 5912, - "nodeType": "ExpressionStatement", - "src": "16296:19:18" - }, - { - "assignments": [ - 5916 - ], - "declarations": [ - { - "constant": false, - "id": 5916, - "name": "c", - "nodeType": "VariableDeclaration", - "scope": 6096, - "src": "16320:31:18", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", - "typeString": "struct IexecLib.Contribution storage pointer" - }, - "typeName": { - "contractScope": null, - "id": 5915, - "name": "IexecLib.Contribution", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2873, - "src": "16320:21:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", - "typeString": "struct IexecLib.Contribution storage pointer" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5922, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5917, - "name": "m_contributions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4347, - "src": "16354:15:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_Contribution_$2873_storage_$_$", - "typeString": "mapping(address => mapping(address => struct IexecLib.Contribution storage ref))" - } - }, - "id": 5919, - "indexExpression": { - "argumentTypes": null, - "id": 5918, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5859, - "src": "16370:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "16354:22:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Contribution_$2873_storage_$", - "typeString": "mapping(address => struct IexecLib.Contribution storage ref)" - } - }, - "id": 5921, - "indexExpression": { - "argumentTypes": null, - "id": 5920, - "name": "w", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5870, - "src": "16377:1:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "16354:25:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Contribution_$2873_storage", - "typeString": "struct IexecLib.Contribution storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16320:59:18" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", - "typeString": "enum IexecLib.ContributionStatusEnum" - }, - "id": 5928, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5923, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5916, - "src": "16388:1:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", - "typeString": "struct IexecLib.Contribution storage pointer" - } - }, - "id": 5924, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "status", - "nodeType": "MemberAccess", - "referencedDeclaration": 2862, - "src": "16388:8:18", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", - "typeString": "enum IexecLib.ContributionStatusEnum" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5925, - "name": "IexecLib", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2893, - "src": "16400:8:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IexecLib_$2893_$", - "typeString": "type(library IexecLib)" - } - }, - "id": 5926, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "ContributionStatusEnum", - "nodeType": "MemberAccess", - "referencedDeclaration": 2860, - "src": "16400:31:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_ContributionStatusEnum_$2860_$", - "typeString": "type(enum IexecLib.ContributionStatusEnum)" - } - }, - "id": 5927, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "PROVED", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "16400:38:18", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", - "typeString": "enum IexecLib.ContributionStatusEnum" - } - }, - "src": "16388:50:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 5976, - "nodeType": "Block", - "src": "16812:65:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5974, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5968, - "name": "totalReward", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5885, - "src": "16818:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5971, - "name": "_consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5861, - "src": "16848:10:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_memory_ptr", - "typeString": "struct IexecLib.Consensus memory" - } - }, - "id": 5972, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "stakeAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 2836, - "src": "16848:22:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5969, - "name": "totalReward", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5885, - "src": "16832:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5970, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 3773, - "src": "16832:15:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5973, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16832:39:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16818:53:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5975, - "nodeType": "ExpressionStatement", - "src": "16818:53:18" - } - ] - }, - "id": 5977, - "nodeType": "IfStatement", - "src": "16384:493:18", - "trueBody": { - "id": 5967, - "nodeType": "Block", - "src": "16443:271:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5940, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5929, - "name": "workerBonus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5873, - "src": "16449:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 5935, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5930, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5916, - "src": "16465:1:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", - "typeString": "struct IexecLib.Contribution storage pointer" - } - }, - "id": 5931, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "enclaveChallenge", - "nodeType": "MemberAccess", - "referencedDeclaration": 2868, - "src": "16465:18:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 5933, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16495:1:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 5932, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "16487:7:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 5934, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16487:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "16465:32:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 5936, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "16464:34:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 5938, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16505:1:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "id": 5939, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "16464:42:18", - "trueExpression": { - "argumentTypes": null, - "hexValue": "33", - "id": 5937, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16501:1:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "16449:57:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5941, - "nodeType": "ExpressionStatement", - "src": "16449:57:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 5952, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5942, - "name": "workerWeight", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5876, - "src": "16537:12:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5951, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 5943, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16552:1:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5947, - "name": "workerBonus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5873, - "src": "16568:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5944, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5916, - "src": "16556:1:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", - "typeString": "struct IexecLib.Contribution storage pointer" - } - }, - "id": 5945, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "score", - "nodeType": "MemberAccess", - "referencedDeclaration": 2870, - "src": "16556:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5946, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 3826, - "src": "16556:11:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5948, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16556:24:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5949, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "log", - "nodeType": "MemberAccess", - "referencedDeclaration": 3923, - "src": "16556:28:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 5950, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16556:30:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16552:34:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16537:49:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5953, - "nodeType": "ExpressionStatement", - "src": "16537:49:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 5959, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5954, - "name": "totalWeight", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5879, - "src": "16592:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5957, - "name": "workerWeight", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5876, - "src": "16623:12:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5955, - "name": "totalWeight", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5879, - "src": "16607:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5956, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 3773, - "src": "16607:15:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5958, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16607:29:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16592:44:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5960, - "nodeType": "ExpressionStatement", - "src": "16592:44:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 5965, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5961, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5916, - "src": "16642:1:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", - "typeString": "struct IexecLib.Contribution storage pointer" - } - }, - "id": 5963, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "weight", - "nodeType": "MemberAccess", - "referencedDeclaration": 2872, - "src": "16642:8:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5964, - "name": "workerWeight", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5876, - "src": "16657:12:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16642:27:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5966, - "nodeType": "ExpressionStatement", - "src": "16642:27:18" - } - ] - } - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5903, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5900, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5867, - "src": "16261:1:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5901, - "name": "contributors", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5892, - "src": "16263:12:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 5902, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "16263:19:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16261:21:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 5979, - "initializationExpression": { - "expression": { - "argumentTypes": null, - "id": 5898, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5896, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5867, - "src": "16254:1:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30", - "id": 5897, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16258:1:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "16254:5:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5899, - "nodeType": "ExpressionStatement", - "src": "16254:5:18" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 5905, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": true, - "src": "16284:3:18", - "subExpression": { - "argumentTypes": null, - "id": 5904, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5867, - "src": "16286:1:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5906, - "nodeType": "ExpressionStatement", - "src": "16284:3:18" - }, - "nodeType": "ForStatement", - "src": "16249:632:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5983, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5981, - "name": "totalWeight", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5879, - "src": "16892:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5982, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16906:1:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "16892:15:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 5980, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "16884:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 5984, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16884:24:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5985, - "nodeType": "ExpressionStatement", - "src": "16884:24:18" - }, - { - "assignments": [ - 5987 - ], - "declarations": [ - { - "constant": false, - "id": 5987, - "name": "totalWorkersReward", - "nodeType": "VariableDeclaration", - "scope": 6096, - "src": "16959:26:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5986, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16959:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5998, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5994, - "name": "_consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5861, - "src": "17028:10:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_memory_ptr", - "typeString": "struct IexecLib.Consensus memory" - } - }, - "id": 5995, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "schedulerRewardRatioPolicy", - "nodeType": "MemberAccess", - "referencedDeclaration": 2853, - "src": "17028:37:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "313030", - "id": 5991, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17019:3:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - } - ], - "id": 5990, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "17011:7:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, - "id": 5992, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17011:12:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5993, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 3793, - "src": "17011:16:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5996, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17011:55:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5988, - "name": "totalReward", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5885, - "src": "16988:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5989, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "percentage", - "nodeType": "MemberAccess", - "referencedDeclaration": 3914, - "src": "16988:22:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5997, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16988:79:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16959:108:18" - }, - { - "body": { - "id": 6080, - "nodeType": "Block", - "src": "17114:661:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 6014, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6010, - "name": "w", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5870, - "src": "17119:1:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6011, - "name": "contributors", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5892, - "src": "17123:12:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 6013, - "indexExpression": { - "argumentTypes": null, - "id": 6012, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5867, - "src": "17136:1:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "17123:15:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "17119:19:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 6015, - "nodeType": "ExpressionStatement", - "src": "17119:19:18" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", - "typeString": "enum IexecLib.ContributionStatusEnum" - }, - "id": 6025, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6016, - "name": "m_contributions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4347, - "src": "17147:15:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_Contribution_$2873_storage_$_$", - "typeString": "mapping(address => mapping(address => struct IexecLib.Contribution storage ref))" - } - }, - "id": 6018, - "indexExpression": { - "argumentTypes": null, - "id": 6017, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5859, - "src": "17163:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "17147:22:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Contribution_$2873_storage_$", - "typeString": "mapping(address => struct IexecLib.Contribution storage ref)" - } - }, - "id": 6020, - "indexExpression": { - "argumentTypes": null, - "id": 6019, - "name": "w", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5870, - "src": "17170:1:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "17147:25:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Contribution_$2873_storage", - "typeString": "struct IexecLib.Contribution storage ref" - } - }, - "id": 6021, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "status", - "nodeType": "MemberAccess", - "referencedDeclaration": 2862, - "src": "17147:32:18", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", - "typeString": "enum IexecLib.ContributionStatusEnum" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6022, - "name": "IexecLib", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2893, - "src": "17183:8:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IexecLib_$2893_$", - "typeString": "type(library IexecLib)" - } - }, - "id": 6023, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "ContributionStatusEnum", - "nodeType": "MemberAccess", - "referencedDeclaration": 2860, - "src": "17183:31:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_ContributionStatusEnum_$2860_$", - "typeString": "type(enum IexecLib.ContributionStatusEnum)" - } - }, - "id": 6024, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "PROVED", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "17183:38:18", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", - "typeString": "enum IexecLib.ContributionStatusEnum" - } - }, - "src": "17147:74:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 6078, - "nodeType": "Block", - "src": "17663:108:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6070, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5859, - "src": "17708:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6071, - "name": "w", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5870, - "src": "17715:1:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6072, - "name": "_consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5861, - "src": "17718:10:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_memory_ptr", - "typeString": "struct IexecLib.Consensus memory" - } - }, - "id": 6073, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "stakeAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 2836, - "src": "17718:22:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "74727565", - "id": 6074, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17742:4:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "expression": { - "argumentTypes": null, - "id": 6068, - "name": "iexecHubInterface", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2441, - "src": "17677:17:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IexecHubInterface_$2802", - "typeString": "contract IexecHubInterface" - } - }, - "id": 6069, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "seizeForWork", - "nodeType": "MemberAccess", - "referencedDeclaration": 2742, - "src": "17677:30:18", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bool_$returns$_t_bool_$", - "typeString": "function (address,address,uint256,bool) external returns (bool)" - } - }, - "id": 6075, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17677:70:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 6067, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "17669:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 6076, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17669:79:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6077, - "nodeType": "ExpressionStatement", - "src": "17669:79:18" - } - ] - }, - "id": 6079, - "nodeType": "IfStatement", - "src": "17143:628:18", - "trueBody": { - "id": 6066, - "nodeType": "Block", - "src": "17226:342:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 6037, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6026, - "name": "individualWorkerReward", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5882, - "src": "17232:22:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6029, - "name": "m_contributions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4347, - "src": "17290:15:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_Contribution_$2873_storage_$_$", - "typeString": "mapping(address => mapping(address => struct IexecLib.Contribution storage ref))" - } - }, - "id": 6031, - "indexExpression": { - "argumentTypes": null, - "id": 6030, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5859, - "src": "17306:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "17290:22:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Contribution_$2873_storage_$", - "typeString": "mapping(address => struct IexecLib.Contribution storage ref)" - } - }, - "id": 6033, - "indexExpression": { - "argumentTypes": null, - "id": 6032, - "name": "w", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5870, - "src": "17313:1:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "17290:25:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Contribution_$2873_storage", - "typeString": "struct IexecLib.Contribution storage ref" - } - }, - "id": 6034, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "weight", - "nodeType": "MemberAccess", - "referencedDeclaration": 2872, - "src": "17290:32:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6035, - "name": "totalWeight", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5879, - "src": "17324:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6027, - "name": "totalWorkersReward", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5987, - "src": "17257:18:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6028, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mulByFraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 3898, - "src": "17257:32:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" - } - }, - "id": 6036, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17257:79:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17232:104:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6038, - "nodeType": "ExpressionStatement", - "src": "17232:104:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 6044, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6039, - "name": "totalReward", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5885, - "src": "17342:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6042, - "name": "individualWorkerReward", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5882, - "src": "17373:22:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6040, - "name": "totalReward", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5885, - "src": "17357:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6041, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 3793, - "src": "17357:15:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6043, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17357:39:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17342:54:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6045, - "nodeType": "ExpressionStatement", - "src": "17342:54:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6049, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5859, - "src": "17442:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6050, - "name": "w", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5870, - "src": "17449:1:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6051, - "name": "_consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5861, - "src": "17452:10:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_memory_ptr", - "typeString": "struct IexecLib.Consensus memory" - } - }, - "id": 6052, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "stakeAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 2836, - "src": "17452:22:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6047, - "name": "iexecHubInterface", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2441, - "src": "17410:17:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IexecHubInterface_$2802", - "typeString": "contract IexecHubInterface" - } - }, - "id": 6048, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "unlockForWork", - "nodeType": "MemberAccess", - "referencedDeclaration": 2716, - "src": "17410:31:18", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256) external returns (bool)" - } - }, - "id": 6053, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17410:65:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 6046, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "17402:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 6054, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17402:74:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6055, - "nodeType": "ExpressionStatement", - "src": "17402:74:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6059, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5859, - "src": "17522:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6060, - "name": "w", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5870, - "src": "17529:1:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6061, - "name": "individualWorkerReward", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5882, - "src": "17532:22:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "74727565", - "id": 6062, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17556:4:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "expression": { - "argumentTypes": null, - "id": 6057, - "name": "iexecHubInterface", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2441, - "src": "17490:17:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IexecHubInterface_$2802", - "typeString": "contract IexecHubInterface" - } - }, - "id": 6058, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "rewardForWork", - "nodeType": "MemberAccess", - "referencedDeclaration": 2729, - "src": "17490:31:18", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bool_$returns$_t_bool_$", - "typeString": "function (address,address,uint256,bool) external returns (bool)" - } - }, - "id": 6063, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17490:71:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 6056, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "17482:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 6064, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17482:80:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6065, - "nodeType": "ExpressionStatement", - "src": "17482:80:18" - } - ] - } - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6006, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6003, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5867, - "src": "17084:1:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6004, - "name": "contributors", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5892, - "src": "17086:12:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 6005, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "17086:19:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17084:21:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 6081, - "initializationExpression": { - "expression": { - "argumentTypes": null, - "id": 6001, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5999, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5867, - "src": "17077:1:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30", - "id": 6000, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17081:1:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "17077:5:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6002, - "nodeType": "ExpressionStatement", - "src": "17077:5:18" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 6008, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": true, - "src": "17107:3:18", - "subExpression": { - "argumentTypes": null, - "id": 6007, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5867, - "src": "17109:1:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6009, - "nodeType": "ExpressionStatement", - "src": "17107:3:18" - }, - "nodeType": "ForStatement", - "src": "17072:703:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6085, - "name": "_woid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5859, - "src": "17868:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6086, - "name": "_consensus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5861, - "src": "17875:10:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_memory_ptr", - "typeString": "struct IexecLib.Consensus memory" - } - }, - "id": 6087, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "workerpoolOwner", - "nodeType": "MemberAccess", - "referencedDeclaration": 2851, - "src": "17875:26:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6088, - "name": "totalReward", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5885, - "src": "17903:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 6089, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17916:5:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "expression": { - "argumentTypes": null, - "id": 6083, - "name": "iexecHubInterface", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2441, - "src": "17836:17:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IexecHubInterface_$2802", - "typeString": "contract IexecHubInterface" - } - }, - "id": 6084, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "rewardForWork", - "nodeType": "MemberAccess", - "referencedDeclaration": 2729, - "src": "17836:31:18", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bool_$returns$_t_bool_$", - "typeString": "function (address,address,uint256,bool) external returns (bool)" - } - }, - "id": 6090, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17836:86:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 6082, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "17828:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 6091, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17828:95:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6092, - "nodeType": "ExpressionStatement", - "src": "17828:95:18" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 6093, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17935:4:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 5865, - "id": 6094, - "nodeType": "Return", - "src": "17928:11:18" - } - ] - }, - "documentation": null, - "id": 6096, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "distributeRewards", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5862, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5859, - "name": "_woid", - "nodeType": "VariableDeclaration", - "scope": 6096, - "src": "15938:13:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5858, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "15938:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5861, - "name": "_consensus", - "nodeType": "VariableDeclaration", - "scope": 6096, - "src": "15953:29:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_memory_ptr", - "typeString": "struct IexecLib.Consensus memory" - }, - "typeName": { - "contractScope": null, - "id": 5860, - "name": "IexecLib.Consensus", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2854, - "src": "15953:18:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", - "typeString": "struct IexecLib.Consensus storage pointer" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15937:46:18" - }, - "payable": false, - "returnParameters": { - "id": 5865, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5864, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 6096, - "src": "16002:4:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5863, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "16002:4:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16001:6:18" - }, - "scope": 6097, - "src": "15911:2032:18", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 6098, - "src": "253:17693:18" - } - ], - "src": "0:17947:18" - }, - "compiler": { - "name": "solc", - "version": "0.4.21+commit.dfe3193c.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "2.0.0", - "updatedAt": "2018-05-20T20:12:33.563Z" -} diff --git a/build/contracts/WorkerPoolHub.json b/build/contracts/WorkerPoolHub.json deleted file mode 100644 index a5b376cb..00000000 --- a/build/contracts/WorkerPoolHub.json +++ /dev/null @@ -1,6546 +0,0 @@ -{ - "contractName": "WorkerPoolHub", - "abi": [ - { - "constant": false, - "inputs": [ - { - "name": "_newOwner", - "type": "address" - } - ], - "name": "setImmutableOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "m_totalWorkerPoolCount", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "m_owner", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "m_changeable", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "constant": true, - "inputs": [ - { - "name": "_workerPool", - "type": "address" - } - ], - "name": "isWorkerPoolRegistered", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_owner", - "type": "address" - } - ], - "name": "getWorkerPoolsCount", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_owner", - "type": "address" - }, - { - "name": "_index", - "type": "uint256" - } - ], - "name": "getWorkerPool", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_index", - "type": "uint256" - } - ], - "name": "getWorkerPoolByIndex", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_worker", - "type": "address" - } - ], - "name": "getWorkerAffectation", - "outputs": [ - { - "name": "workerPool", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_description", - "type": "string" - }, - { - "name": "_subscriptionLockStakePolicy", - "type": "uint256" - }, - { - "name": "_subscriptionMinimumStakePolicy", - "type": "uint256" - }, - { - "name": "_subscriptionMinimumScorePolicy", - "type": "uint256" - }, - { - "name": "_marketplaceAddress", - "type": "address" - } - ], - "name": "createWorkerPool", - "outputs": [ - { - "name": "createdWorkerPool", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_workerPool", - "type": "address" - }, - { - "name": "_worker", - "type": "address" - } - ], - "name": "registerWorkerAffectation", - "outputs": [ - { - "name": "subscribed", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_workerPool", - "type": "address" - }, - { - "name": "_worker", - "type": "address" - } - ], - "name": "unregisterWorkerAffectation", - "outputs": [ - { - "name": "unsubscribed", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x6060604052341561000f57600080fd5b6000805474010000000000000000000000000000000000000000600160a060020a031990911633600160a060020a03161760a060020a60ff021916178155613a7d90819061005d90396000f3006060604052600436106100b95763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166301a08a8b81146100be5780630b00de8d146100fc5780631884c51714610135578063215bd3031461015a57806368c197dd1461018e57806369bee8a1146101ad578063bbac78a9146101de578063bc1013db146101ff578063d440c6f314610212578063dee3efb214610231578063deff41c114610247578063e21b9d081461025a575b600080fd5b34156100c957600080fd5b6100e0600160a060020a036004351660243561026d565b604051600160a060020a03909116815260200160405180910390f35b341561010757600080fd5b610121600160a060020a0360043581169060243516610295565b604051901515815260200160405180910390f35b341561014057600080fd5b610121600160a060020a0360043581169060243516610315565b341561016557600080fd5b6100e0602460048035828101929101359035604435606435600160a060020a0360843516610399565b341561019957600080fd5b610121600160a060020a0360043516610444565b34156101b857600080fd5b6101cc600160a060020a0360043516610462565b60405190815260200160405180910390f35b34156101e957600080fd5b6101fd600160a060020a036004351661047d565b005b341561020a57600080fd5b6101cc610559565b341561021d57600080fd5b6100e0600160a060020a036004351661055f565b341561023c57600080fd5b6100e060043561057d565b341561025257600080fd5b6100e0610598565b341561026557600080fd5b6101216105a7565b600160a060020a03918216600090815260036020908152604080832093835292905220541690565b6000805433600160a060020a039081169116146102b157600080fd5b600160a060020a038281166000908152600160205260409020548116908416146102da57600080fd5b50600160a060020a03166000908152600160208190526040909120805473ffffffffffffffffffffffffffffffffffffffff19169055919050565b6000805433600160a060020a0390811691161461033157600080fd5b600160a060020a03828116600090815260016020526040902054161561035657600080fd5b50600160a060020a039081166000908152600160208190526040909120805473ffffffffffffffffffffffffffffffffffffffff19169390921692909217905590565b60008054819033600160a060020a039081169116146103b757600080fd5b338888888888886103c66106a0565b600160a060020a038089168252604082018690526060820185905260808201849052821660a082015260c06020820181815290820187905260e08201888880828437820191505098505050505050505050604051809103906000f080151561042d57600080fd5b905061043932826105c8565b979650505050505050565b600160a060020a031660009081526004602052604090205460ff1690565b600160a060020a031660009081526002602052604090205490565b60005433600160a060020a0390811691161461049857600080fd5b60005474010000000000000000000000000000000000000000900460ff1615156104c157600080fd5b600160a060020a03811615156104d657600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911774ff000000000000000000000000000000000000000019169055565b60065481565b600160a060020a039081166000908152600160205260409020541690565b600090815260056020526040902054600160a060020a031690565b600054600160a060020a031681565b60005474010000000000000000000000000000000000000000900460ff1681565b600160a060020a0382166000908152600260205260408120546105f290600163ffffffff61068a16565b60065490915061060990600163ffffffff61068a16565b600681905560009081526005602090815260408083208054600160a060020a0396871673ffffffffffffffffffffffffffffffffffffffff199182168117909255969095168352600282528083208490556003825280832093835292815282822080549095168417909455918252600490925220805460ff19166001179055565b60008282018381101561069957fe5b9392505050565b6040516133a1806106b1833901905600606060405234156200001057600080fd5b604051620033a1380380620033a183398101604052808051919060200180518201919060200180519190602001805191906020018051919060200180516000805460a060020a60ff0219600160a060020a03338116600160a060020a031990931692909217167401000000000000000000000000000000000000000017909155909250829150879081161515620000a657600080fd5b60018054600160a060020a031916600160a060020a0392831617905581161515620000d057600080fd5b60028054600160a060020a03928316600160a060020a031991821681179092556003805490911690911790553281163390911614156200010f57600080fd5b6200012832640100000000620020476200017882021704565b60048580516200013d9291602001906200023c565b5050601e60055560016006556007929092556008556009555050600e8054600160a060020a03191633600160a060020a0316179055620002e1565b60005433600160a060020a039081169116146200019457600080fd5b60005474010000000000000000000000000000000000000000900460ff161515620001be57600080fd5b600160a060020a0381161515620001d457600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008054600160a060020a031916600160a060020a03929092169190911760a060020a60ff0219169055565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200027f57805160ff1916838001178555620002af565b82800160010185558215620002af579182015b82811115620002af57825182559160200191906001019062000292565b50620002bd929150620002c1565b5090565b620002de91905b80821115620002bd5760008155600101620002c8565b90565b6130b080620002f16000396000f3006060604052600436106101b35763ffffffff60e060020a600035041663031ee1c881146101b857806306021e7e146101fb5780630c6e29e3146102f2578063126eac431461030557806316ebf77d146103795780631f1e74061461039b5780632b8fd18a146104105780633ec6a4c41461044257806340f036051461046157806341cb01ad1461048657806345b99d28146104a55780635a628525146104b85780636ab6936a146104da5780637919233f146104ed5780637bd220bb1461050f5780637c60988514610534578063835436b41461059c57806387639c68146105bb57806389869163146105ce5780638d7db2f7146105ed578063900b7b6214610677578063b32ca9c51461068d578063bb7fb08b146106a0578063bbac78a9146106c2578063c6c5b072146106e3578063c6ced32b146106f6578063cc6f06a314610709578063dc988b401461071c578063deff41c114610747578063e21b9d081461075a578063e2d36ef51461076d578063e653ec6a14610780578063ec1847b614610793578063ef9cb474146107b2578063f20e56ec146107d1578063f4efa24c146107e4578063ff266d2614610852575b600080fd5b34156101c357600080fd5b6101e9600160a060020a036004351660243560443560ff6064351660843560a435610871565b60405190815260200160405180910390f35b341561020657600080fd5b6102de60048035600160a060020a03169060446024803590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528181529291906020840183838082843750949650610c4a95505050505050565b604051901515815260200160405180910390f35b34156102fd57600080fd5b6102de611168565b341561031057600080fd5b61032a600160a060020a0360043581169060243516611275565b6040518087600481111561033a57fe5b60ff168152602081019690965250604080860194909452600160a060020a039092166060850152608084015260a083015260c090910191505180910390f35b341561038457600080fd5b6102de600160a060020a03600435166024356112f1565b34156103a657600080fd5b6103ba600160a060020a036004351661166d565b60405198895260208901979097526040808901969096526060880194909452608087019290925260a086015260c0850152600160a060020a031660e0840152610100830191909152610120909101905180910390f35b341561041b57600080fd5b6104266004356116c1565b604051600160a060020a03909116815260200160405180910390f35b341561044d57600080fd5b6101e9600160a060020a03600435166116e9565b341561046c57600080fd5b6102de600160a060020a0360043581169060243516611707565b341561049157600080fd5b6101e9600160a060020a0360043516611747565b34156104b057600080fd5b6101e9611759565b34156104c357600080fd5b6102de600160a060020a036004351660243561175e565b34156104e557600080fd5b6101e96119b3565b34156104f857600080fd5b6102de600160a060020a03600435166024356119b9565b341561051a57600080fd5b61032a600160a060020a0360043581169060243516611bf1565b341561053f57600080fd5b6102de60048035600160a060020a031690604460248035908101908301358060208082020160405190810160405280939291908181526020018383602002808284375094965050509235600160a060020a03169250611c3f915050565b34156105a757600080fd5b6102de600160a060020a0360043516611ca8565b34156105c657600080fd5b6101e9611d88565b34156105d957600080fd5b6102de600160a060020a0360043516611d8e565b34156105f857600080fd5b610600611f2b565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561063c578082015183820152602001610624565b50505050905090810190601f1680156106695780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561068257600080fd5b610426600435611fc9565b341561069857600080fd5b610426611ff5565b34156106ab57600080fd5b610426600160a060020a0360043516602435612004565b34156106cd57600080fd5b6106e1600160a060020a0360043516612047565b005b34156106ee57600080fd5b6101e9612116565b341561070157600080fd5b6101e961211c565b341561071457600080fd5b6101e9612123565b341561072757600080fd5b6102de600160a060020a0360043581169060243581169060443516612129565b341561075257600080fd5b61042661238e565b341561076557600080fd5b6102de61239d565b341561077857600080fd5b6101e96123be565b341561078b57600080fd5b6102de6123c4565b341561079e57600080fd5b6101e9600160a060020a0360043516612489565b34156107bd57600080fd5b6106e16004356024356044356064356124d9565b34156107dc57600080fd5b6101e961258d565b34156107ef57600080fd5b610803600160a060020a0360043516612592565b60405197885260208801969096526040808801959095526060870193909352608086019190915260a085015260c0840152600160a060020a0390911660e0830152610100909101905180910390f35b341561085d57600080fd5b6102de600160a060020a03600435166125e4565b60015460009081908190600160a060020a03166332ca55878a60405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b15156108c857600080fd5b5af115156108d557600080fd5b5050506040518051905015156108ea57600080fd5b600160a060020a0389166000908152600c60205260409020600581015490925042111561091657600080fd5b600189600160a060020a031663e329c4786040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561095557600080fd5b5af1151561096257600080fd5b50505060405180519050600481111561097757fe5b1461098157600080fd5b50600160a060020a038089166000908152600d60209081526040808320339094168352929052208715156109b457600080fd5b8615156109c057600080fd5b6003810154600160a060020a031615610a8f57600188886040517f19457468657265756d205369676e6564204d6573736167653a0a3634000000008152601c810192909252603c820152605c0160405180910390208787876040516000815260200160405260405193845260ff9092166020808501919091526040808501929092526060840192909252608090920191516020810390808403906000865af11515610a6a57600080fd5b5050602060405103516003820154600160a060020a03908116911614610a8f57600080fd5b6001815460ff166004811115610aa157fe5b14610aab57600080fd5b805460ff19166002908117825560018083018a905590820188905554600160a060020a0316638c0f8e113360405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515610b1457600080fd5b5af11515610b2157600080fd5b505050604051805160048301555060078201805460018101610b43838261302f565b5060009182526020909120018054600160a060020a03191633600160a060020a03818116929092179092556001805490850154911691638981d077918c919060405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b1515610bd157600080fd5b5af11515610bde57600080fd5b505050604051805190501515610bf357600080fd5b33600160a060020a031689600160a060020a03167f1593a9a000265660fd299c9f8c9bbacfeb4d428861542e6c44b68615324225d48a60405190815260200160405180910390a35060010154979650505050505050565b60008054819033600160a060020a03908116911614610c6857600080fd5b600154600160a060020a03166332ca55878760405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515610cb857600080fd5b5af11515610cc557600080fd5b505050604051805190501515610cda57600080fd5b50600160a060020a0385166000908152600c602052604090206005810154421115610d0457600080fd5b42816003015411158015610d1c575060008160040154115b80610d2e575080600601548160040154145b1515610d3957600080fd5b610e1e8682610140604051908101604052908160008201548152602001600182015481526020016002820154600019166000191681526020016003820154815260200160048201548152602001600582015481526020016006820154815260200160078201805480602002602001604051908101604052809291908181526020018280548015610df257602002820191906000526020600020905b8154600160a060020a03168152600190910190602001808311610dd4575b50505091835250506008820154600160a060020a03166020820152600990910154604090910152612818565b1515610e2957600080fd5b600154600160a060020a031663b6b57ebd878787876040518563ffffffff1660e060020a0281526004018085600160a060020a0316600160a060020a03168152602001806020018060200180602001848103845287818151815260200191508051906020019080838360005b83811015610ead578082015183820152602001610e95565b50505050905090810190601f168015610eda5780820380516001836020036101000a031916815260200191505b50848103835286818151815260200191508051906020019080838360005b83811015610f10578082015183820152602001610ef8565b50505050905090810190601f168015610f3d5780820380516001836020036101000a031916815260200191505b50848103825285818151815260200191508051906020019080838360005b83811015610f73578082015183820152602001610f5b565b50505050905090810190601f168015610fa05780820380516001836020036101000a031916815260200191505b50975050505050505050602060405180830381600087803b1515610fc357600080fd5b5af11515610fd057600080fd5b505050604051805190501515610fe557600080fd5b85600160a060020a03167f4bfecaabd22e1b95e9aa9eb161b19f645b3460e7533d5e0f6349faf8dc0a724486868660405180806020018060200180602001848103845287818151815260200191508051906020019080838360005b83811015611058578082015183820152602001611040565b50505050905090810190601f1680156110855780820380516001836020036101000a031916815260200191505b50848103835286818151815260200191508051906020019080838360005b838110156110bb5780820151838201526020016110a3565b50505050905090810190601f1680156110e85780820380516001836020036101000a031916815260200191505b50848103825285818151815260200191508051906020019080838360005b8381101561111e578082015183820152602001611106565b50505050905090810190601f16801561114b5780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390a250600195945050505050565b6001546000908190600160a060020a031663b218cf153360405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b15156111bd57600080fd5b5af115156111ca57600080fd5b5050506040518051905015156111df57600080fd5b600a8054600181016111f1838261302f565b60009283526020909220018054600160a060020a03191633600160a060020a03161790559050611222816001612c92565b600160a060020a0333166000818152600b60205260409081902092909255907f67799bb3ec4a3491a0c1c4e6d02ec99927df7ba7fa268c216672c0c5ecc1e8f8905160405180910390a2600191505b5090565b600080600080600080600061128a8989611707565b151561129557600080fd5b50505050600160a060020a039485166000908152600d602090815260408083209688168352959052939093208054600182015460028301546003840154600485015460059095015460ff90941699929891975016945091925090565b6000805481908190819033600160a060020a0390811691161461131357600080fd5b600154600160a060020a03166332ca55878760405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151561136357600080fd5b5af1151561137057600080fd5b50505060405180519050151561138557600080fd5b600160a060020a0386166000908152600c6020526040902060058101549093504211156113b157600080fd5b85600160a060020a0316632d4d671f6040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156113ee57600080fd5b5af115156113fb57600080fd5b50505060405180519050151561141057600080fd5b60006006840181905591505b60078301548210156114dc576007830180548390811061143857fe5b6000918252602080832090910154600160a060020a038981168452600d8352604080852091909216808552925290912060010154909150851480156114b057506002600160a060020a038088166000908152600d602090815260408083209386168352929052205460ff1660048111156114ae57fe5b145b156114d15760068301546114cb90600163ffffffff612ca416565b60068401555b81600101915061141c565b6006830154600090116114ee57600080fd5b600280840186905560015460035461161f92429261161392600160a060020a0391821691631f87172691811690634cfddcfb908e1663ecc40f646040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561155657600080fd5b5af1151561156357600080fd5b5050506040518051905060405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b15156115a357600080fd5b5af115156115b057600080fd5b5050506040518051905060405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b15156115f057600080fd5b5af115156115fd57600080fd5b505050604051805191905063ffffffff612cbe16565b9063ffffffff612ca416565b6003840155600160a060020a0386167fa1b9f527f9799a46d54103401c99dc62f3744afe1d095a1c53620758dc38b2868660405190815260200160405180910390a250600195945050505050565b600c602052600090815260409020805460018201546002830154600384015460048501546005860154600687015460088801546009909801549697959694959394929391929091600160a060020a03169089565b600a8054829081106116cf57fe5b600091825260209091200154600160a060020a0316905081565b600160a060020a03166000908152600c602052604090206007015490565b600080600160a060020a038085166000908152600d602090815260408083209387168352929052205460ff16600481111561173e57fe5b14159392505050565b600b6020526000908152604090205481565b600a81565b60015460009081908190600160a060020a03166332ca55878660405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b15156117b557600080fd5b5af115156117c257600080fd5b5050506040518051905015156117d757600080fd5b600160a060020a0385166000908152600c60205260409020600581015490925042111561180357600080fd5b50600160a060020a038085166000908152600d6020908152604080832033909416835292905220600285600160a060020a031663e329c4786040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561186957600080fd5b5af1151561187657600080fd5b50505060405180519050600481111561188b57fe5b1461189557600080fd5b60038201544290116118a657600080fd5b6002815460ff1660048111156118b857fe5b146118c257600080fd5b60028201546001820154146118d657600080fd5b836040519081526020016040519081900390206001820154146118f857600080fd5b33604051600160a060020a03919091166c010000000000000000000000000281526014016040518091039020841860405190815260200160405190819003902060028201541461194757600080fd5b805460ff191660031781556004820154611962906001612ca4565b6004830155600160a060020a033381169086167f4f5df7005a83b6f11e90ead1268eb534656169a5034e8d239c763471294be3d58660405190815260200160405180910390a3506001949350505050565b60085481565b60015460009081908190819033600160a060020a039081169116146119dd57600080fd5b600354600160a060020a0316634cfddcfb8660405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b1515611a2557600080fd5b5af11515611a3257600080fd5b5050506040518051600154909450611a939150429061161390600a90600160a060020a0316631f8717268860405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b15156115f057600080fd5b600160a060020a038088166000908152600c60205260409081902060035493955093509116906338c4090b9087905160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b1515611af557600080fd5b5af11515611b0257600080fd5b5050506040518051825550600354600160a060020a03166355d66c3e8660405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b1515611b5557600080fd5b5af11515611b6257600080fd5b5050506040518051600883018054600160a060020a031916600160a060020a0392909216919091179055506005548154611b9b91612ce9565b6001820155600581018290556006546009820155600160a060020a0386167f9c081174ce28e85a62530b1102b0df58428b8da5027e81fbb4984aa1dc03310760405160405180910390a250600195945050505050565b600d60209081526000928352604080842090915290825290208054600182015460028301546003840154600485015460059095015460ff9094169492939192600160a060020a039091169186565b60008054819033600160a060020a03908116911614611c5d57600080fd5b5060005b8351811015611c9d57611c8a85858381518110611c7a57fe5b9060200190602002015185612129565b1515611c9557600080fd5b600101611c61565b506001949350505050565b6000805433600160a060020a03908116911614611cc457600080fd5b600154600160a060020a031663835436b48360405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515611d1457600080fd5b5af11515611d2157600080fd5b505050604051805190501515611d3657600080fd5b611d3f82612cfe565b1515611d4a57600080fd5b81600160a060020a03167fb22288215ec8cbd28148d7ffa053c6e6e23c62b58d0eb71a6387b59fad33a01960405160405180910390a2506001919050565b60065481565b60015460009081908190819033600160a060020a03908116911614611db257600080fd5b600160a060020a0385166000908152600c6020526040902060058101549093504211611ddd57600080fd5b600091505b6007830154821015611eea5760078301805483908110611dfe57fe5b600091825260209091200154600160a060020a031690506001600160a060020a038087166000908152600d602090815260408083209386168352929052205460ff166004811115611e4b57fe5b14611edf576001805490840154600160a060020a0390911690636b4f6865908790849060405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b1515611ebd57600080fd5b5af11515611eca57600080fd5b505050604051805190501515611edf57600080fd5b816001019150611de2565b84600160a060020a03167f8d8d47a5d5034ce9c01a2308543fdaa83d60863e4b735b7d57361987cdc8ed9460405160405180910390a2506001949350505050565b60048054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611fc15780601f10611f9657610100808354040283529160200191611fc1565b820191906000526020600020905b815481529060010190602001808311611fa457829003601f168201915b505050505081565b6000600a82815481101515611fda57fe5b600091825260209091200154600160a060020a031692915050565b600e54600160a060020a031681565b600160a060020a0382166000908152600c6020526040812060070180548390811061202b57fe5b600091825260209091200154600160a060020a03169392505050565b60005433600160a060020a0390811691161461206257600080fd5b60005474010000000000000000000000000000000000000000900460ff16151561208b57600080fd5b600160a060020a03811615156120a057600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008054600160a060020a031916600160a060020a03929092169190911774ff000000000000000000000000000000000000000019169055565b60055481565b600a545b90565b60095481565b60008054819081908190819033600160a060020a0390811691161461214d57600080fd5b600154600160a060020a03166332ca55878960405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151561219d57600080fd5b5af115156121aa57600080fd5b5050506040518051905015156121bf57600080fd5b600188600160a060020a031663e329c4786040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156121fe57600080fd5b5af1151561220b57600080fd5b50505060405180519050600481111561222057fe5b1461222a57600080fd5b600160a060020a038089166000818152600d60209081526040808320948c168352938152838220928252600c9052919091206005810154919550935042111561227257600080fd5b600154600160a060020a031663f69f190c8860405160e060020a63ffffffff8416028152600160a060020a0390911660048201526024016040805180830381600087803b15156122c157600080fd5b5af115156122ce57600080fd5b50505060405180519060200180519193509091505030600160a060020a03908116908316146122fc57600080fd5b6000845460ff16600481111561230e57fe5b1461231857600080fd5b835460ff19166001178455600384018054600160a060020a03888116600160a060020a0319909216919091179091558781169089167f9cade22a92ceb705fefd1c03e9ac4dbbf787cd493ec63a9f2b078cbc859c06298360405190815260200160405180910390a3506001979650505050505050565b600054600160a060020a031681565b60005474010000000000000000000000000000000000000000900460ff1681565b60075481565b600154600090600160a060020a0316631708d7253360405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151561241757600080fd5b5af1151561242457600080fd5b50505060405180519050151561243957600080fd5b61244233612cfe565b151561244d57600080fd5b33600160a060020a03167fd08d61a9c25ada3385d23554bae10e5d15c9518d4bfd27571c190558f7030f6e60405160405180910390a250600190565b600160a060020a0381166000818152600b6020526040812054600a805492939192839081106124b457fe5b600091825260209091200154600160a060020a0316146124d357600080fd5b92915050565b60005433600160a060020a039081169116146124f457600080fd5b7f52bb55d3097463659f724f9b420d259719787a8563b48eb82368680999bfea0760055485600654866008548760095488604051808981526020018881526020018781526020018681526020018581526020018481526020018381526020018281526020019850505050505050505060405180910390a1606483111561257957600080fd5b600593909355600691909155600855600955565b600281565b600160a060020a039081166000908152600c6020526040902080546001820154600283015460038401546004850154600586015460068701546008909701549598949793969295919490939190911690565b6000805481908190819033600160a060020a0390811691161461260657600080fd5b600154600160a060020a03166332ca55878660405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151561265657600080fd5b5af1151561266357600080fd5b50505060405180519050151561267857600080fd5b600160a060020a0385166000908152600c6020526040902060058101549093504211156126a457600080fd5b428360030154111580156126ba57506004830154155b15156126c557600080fd5b84600160a060020a0316631a514d976040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561270257600080fd5b5af1151561270f57600080fd5b50505060405180519050151561272457600080fd5b600091505b60078301548210156127c2576007830180548390811061274557fe5b60009182526020808320909101546002860154600160a060020a038981168552600d8452604080862091909316808652935292206001015490925014156127b757600160a060020a038581166000908152600d60209081526040808320938516835292905220805460ff191660041790555b816001019150612729565b600060068401819055600284018190556003840155600160a060020a0385167f631055693b4cbe13143279bc507432c42de858b6d04b3ba4e1ff3d2c88a7e52b60405160405180910390a2506001949350505050565b60008060008060008060008061282c613058565b6000808b5193508b60e001519250600099505b82518a101561292857828a8151811061285457fe5b90602001906020020151600160a060020a03808f166000908152600d6020908152604080832093851683529290522090995091506003825460ff16600481111561289a57fe5b1415612905576003820154600160a060020a031615156128bb5760016128be565b60035b60ff1697506128e26128dd898460040154612cbe90919063ffffffff16565b612de2565b60010196506128f7868863ffffffff612ca416565b60058301889055955061291d565b61291a8c60200151859063ffffffff612ca416565b93505b89600101995061283f565b6000861161293557600080fd5b61295c61294f8d610120015160649063ffffffff612c9216565b859063ffffffff612ce916565b9050600099505b82518a1015612bee57828a8151811061297857fe5b9060200190602002015198506003600160a060020a03808f166000908152600d60209081526040808320938e168352929052205460ff1660048111156129ba57fe5b1415612b4057600160a060020a03808e166000908152600d60209081526040808320938d16835292905220600501546129fb9082908863ffffffff612ffb16565b9450612a0d848663ffffffff612c9216565b9350600160009054906101000a9004600160a060020a0316600160a060020a0316636b4f68658e8b8f6020015160405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b1515612a8957600080fd5b5af11515612a9657600080fd5b505050604051805190501515612aab57600080fd5b60018054600160a060020a031690630c91f2d0908f908c90899060405160e060020a63ffffffff8716028152600160a060020a03948516600482015292909316602483015260448201529015156064820152608401602060405180830381600087803b1515612b1957600080fd5b5af11515612b2657600080fd5b505050604051805190501515612b3b57600080fd5b612be3565b600160009054906101000a9004600160a060020a0316600160a060020a0316639fdf96258e8b8f60200151600160405160e060020a63ffffffff8716028152600160a060020a03948516600482015292909316602483015260448201529015156064820152608401602060405180830381600087803b1515612bc157600080fd5b5af11515612bce57600080fd5b505050604051805190501515612be357600080fd5b896001019950612963565b600154600160a060020a0316630c91f2d08e6101008f015187600060405160e060020a63ffffffff8716028152600160a060020a03948516600482015292909316602483015260448201529015156064820152608401602060405180830381600087803b1515612c5d57600080fd5b5af11515612c6a57600080fd5b505050604051805190501515612c7f57600080fd5b5060019c9b505050505050505050505050565b600082821115612c9e57fe5b50900390565b600082820183811015612cb357fe5b8091505b5092915050565b600080831515612cd15760009150612cb7565b50828202828482811515612ce157fe5b0414612cb357fe5b6000612cf783836064612ffb565b9392505050565b6000806000612d0c84612489565b600a805491935090612d2590600163ffffffff612c9216565b81548110612d2f57fe5b600091825260209091200154600a8054600160a060020a039092169250829184908110612d5857fe5b60009182526020808320919091018054600160a060020a031916600160a060020a039485161790559183168152600b90915260409020829055600a8054612da0906001612c92565b81548110612daa57fe5b60009182526020909120018054600160a060020a0319169055600a54612dd790600163ffffffff612c9216565b611c9d600a8261302f565b700100000000000000000000000000000000680100000000000000006401000000006201000061010060106004600260001989019081041790810417908104179081041790810417908104179081041790810417600101906000906040517ff8f9cbfae6cc78fbefe7cdc3a1793dfcf4f0e8bbd8cec470b6a28a7a5a3e1efd81527ff5ecf1b3e9debc68e1d9cfabc5997135bfb7a7a3938b7b606b5b4b3f2f1f0ffe60208201527ff6e4ed9ff2d6b458eadcdf97bd91692de2d4da8fd2d0ac50c6ae9a827252361660408201527fc8c0b887b0a8a4489c948c7f847c6125746c645c544c444038302820181008ff60608201527ff7cae577eec2a03cf3bad76fb589591debb2dd67e0aa9834bea6925f6a4a2e0e60808201527fe39ed557db96902cd38ed14fad815115c786af479b7e8324736353433727170760a08201527fc976c13bb96e881cb166a933a55e490d9d56952b8d4e801485467d236242260660c08201527f753a6d1b65325d0c552a4d1345224105391a310b29122104190a11030902010060e082015261010081016040527e818283848586878898a8b8c8d8e8f929395969799a9b9d9e9faaeb6bedeeff7f01000000000000000000000000000000000000000000000000000000000000008082870204818160ff038501510495507f8000000000000000000000000000000000000000000000000000000000000000851161010002860195505050505050919050565b600061301061300a8585612cbe565b83613018565b949350505050565b600080828481151561302657fe5b04949350505050565b8154818355818115116130535760008381526020902061305391810190830161306a565b505050565b60206040519081016040526000815290565b61212091905b8082111561127157600081556001016130705600a165627a7a7230582065611159d17657b023295e8fc204391c05e93b9c80a240e60da82d1ef90187460029a165627a7a7230582018491756121f6b226383a623fe544defbd2a5bc7ce85acc3e6d9bbf4fd37eb310029", - "deployedBytecode": "0x6060604052600436106100b95763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166301a08a8b81146100be5780630b00de8d146100fc5780631884c51714610135578063215bd3031461015a57806368c197dd1461018e57806369bee8a1146101ad578063bbac78a9146101de578063bc1013db146101ff578063d440c6f314610212578063dee3efb214610231578063deff41c114610247578063e21b9d081461025a575b600080fd5b34156100c957600080fd5b6100e0600160a060020a036004351660243561026d565b604051600160a060020a03909116815260200160405180910390f35b341561010757600080fd5b610121600160a060020a0360043581169060243516610295565b604051901515815260200160405180910390f35b341561014057600080fd5b610121600160a060020a0360043581169060243516610315565b341561016557600080fd5b6100e0602460048035828101929101359035604435606435600160a060020a0360843516610399565b341561019957600080fd5b610121600160a060020a0360043516610444565b34156101b857600080fd5b6101cc600160a060020a0360043516610462565b60405190815260200160405180910390f35b34156101e957600080fd5b6101fd600160a060020a036004351661047d565b005b341561020a57600080fd5b6101cc610559565b341561021d57600080fd5b6100e0600160a060020a036004351661055f565b341561023c57600080fd5b6100e060043561057d565b341561025257600080fd5b6100e0610598565b341561026557600080fd5b6101216105a7565b600160a060020a03918216600090815260036020908152604080832093835292905220541690565b6000805433600160a060020a039081169116146102b157600080fd5b600160a060020a038281166000908152600160205260409020548116908416146102da57600080fd5b50600160a060020a03166000908152600160208190526040909120805473ffffffffffffffffffffffffffffffffffffffff19169055919050565b6000805433600160a060020a0390811691161461033157600080fd5b600160a060020a03828116600090815260016020526040902054161561035657600080fd5b50600160a060020a039081166000908152600160208190526040909120805473ffffffffffffffffffffffffffffffffffffffff19169390921692909217905590565b60008054819033600160a060020a039081169116146103b757600080fd5b338888888888886103c66106a0565b600160a060020a038089168252604082018690526060820185905260808201849052821660a082015260c06020820181815290820187905260e08201888880828437820191505098505050505050505050604051809103906000f080151561042d57600080fd5b905061043932826105c8565b979650505050505050565b600160a060020a031660009081526004602052604090205460ff1690565b600160a060020a031660009081526002602052604090205490565b60005433600160a060020a0390811691161461049857600080fd5b60005474010000000000000000000000000000000000000000900460ff1615156104c157600080fd5b600160a060020a03811615156104d657600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911774ff000000000000000000000000000000000000000019169055565b60065481565b600160a060020a039081166000908152600160205260409020541690565b600090815260056020526040902054600160a060020a031690565b600054600160a060020a031681565b60005474010000000000000000000000000000000000000000900460ff1681565b600160a060020a0382166000908152600260205260408120546105f290600163ffffffff61068a16565b60065490915061060990600163ffffffff61068a16565b600681905560009081526005602090815260408083208054600160a060020a0396871673ffffffffffffffffffffffffffffffffffffffff199182168117909255969095168352600282528083208490556003825280832093835292815282822080549095168417909455918252600490925220805460ff19166001179055565b60008282018381101561069957fe5b9392505050565b6040516133a1806106b1833901905600606060405234156200001057600080fd5b604051620033a1380380620033a183398101604052808051919060200180518201919060200180519190602001805191906020018051919060200180516000805460a060020a60ff0219600160a060020a03338116600160a060020a031990931692909217167401000000000000000000000000000000000000000017909155909250829150879081161515620000a657600080fd5b60018054600160a060020a031916600160a060020a0392831617905581161515620000d057600080fd5b60028054600160a060020a03928316600160a060020a031991821681179092556003805490911690911790553281163390911614156200010f57600080fd5b6200012832640100000000620020476200017882021704565b60048580516200013d9291602001906200023c565b5050601e60055560016006556007929092556008556009555050600e8054600160a060020a03191633600160a060020a0316179055620002e1565b60005433600160a060020a039081169116146200019457600080fd5b60005474010000000000000000000000000000000000000000900460ff161515620001be57600080fd5b600160a060020a0381161515620001d457600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008054600160a060020a031916600160a060020a03929092169190911760a060020a60ff0219169055565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200027f57805160ff1916838001178555620002af565b82800160010185558215620002af579182015b82811115620002af57825182559160200191906001019062000292565b50620002bd929150620002c1565b5090565b620002de91905b80821115620002bd5760008155600101620002c8565b90565b6130b080620002f16000396000f3006060604052600436106101b35763ffffffff60e060020a600035041663031ee1c881146101b857806306021e7e146101fb5780630c6e29e3146102f2578063126eac431461030557806316ebf77d146103795780631f1e74061461039b5780632b8fd18a146104105780633ec6a4c41461044257806340f036051461046157806341cb01ad1461048657806345b99d28146104a55780635a628525146104b85780636ab6936a146104da5780637919233f146104ed5780637bd220bb1461050f5780637c60988514610534578063835436b41461059c57806387639c68146105bb57806389869163146105ce5780638d7db2f7146105ed578063900b7b6214610677578063b32ca9c51461068d578063bb7fb08b146106a0578063bbac78a9146106c2578063c6c5b072146106e3578063c6ced32b146106f6578063cc6f06a314610709578063dc988b401461071c578063deff41c114610747578063e21b9d081461075a578063e2d36ef51461076d578063e653ec6a14610780578063ec1847b614610793578063ef9cb474146107b2578063f20e56ec146107d1578063f4efa24c146107e4578063ff266d2614610852575b600080fd5b34156101c357600080fd5b6101e9600160a060020a036004351660243560443560ff6064351660843560a435610871565b60405190815260200160405180910390f35b341561020657600080fd5b6102de60048035600160a060020a03169060446024803590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528181529291906020840183838082843750949650610c4a95505050505050565b604051901515815260200160405180910390f35b34156102fd57600080fd5b6102de611168565b341561031057600080fd5b61032a600160a060020a0360043581169060243516611275565b6040518087600481111561033a57fe5b60ff168152602081019690965250604080860194909452600160a060020a039092166060850152608084015260a083015260c090910191505180910390f35b341561038457600080fd5b6102de600160a060020a03600435166024356112f1565b34156103a657600080fd5b6103ba600160a060020a036004351661166d565b60405198895260208901979097526040808901969096526060880194909452608087019290925260a086015260c0850152600160a060020a031660e0840152610100830191909152610120909101905180910390f35b341561041b57600080fd5b6104266004356116c1565b604051600160a060020a03909116815260200160405180910390f35b341561044d57600080fd5b6101e9600160a060020a03600435166116e9565b341561046c57600080fd5b6102de600160a060020a0360043581169060243516611707565b341561049157600080fd5b6101e9600160a060020a0360043516611747565b34156104b057600080fd5b6101e9611759565b34156104c357600080fd5b6102de600160a060020a036004351660243561175e565b34156104e557600080fd5b6101e96119b3565b34156104f857600080fd5b6102de600160a060020a03600435166024356119b9565b341561051a57600080fd5b61032a600160a060020a0360043581169060243516611bf1565b341561053f57600080fd5b6102de60048035600160a060020a031690604460248035908101908301358060208082020160405190810160405280939291908181526020018383602002808284375094965050509235600160a060020a03169250611c3f915050565b34156105a757600080fd5b6102de600160a060020a0360043516611ca8565b34156105c657600080fd5b6101e9611d88565b34156105d957600080fd5b6102de600160a060020a0360043516611d8e565b34156105f857600080fd5b610600611f2b565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561063c578082015183820152602001610624565b50505050905090810190601f1680156106695780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561068257600080fd5b610426600435611fc9565b341561069857600080fd5b610426611ff5565b34156106ab57600080fd5b610426600160a060020a0360043516602435612004565b34156106cd57600080fd5b6106e1600160a060020a0360043516612047565b005b34156106ee57600080fd5b6101e9612116565b341561070157600080fd5b6101e961211c565b341561071457600080fd5b6101e9612123565b341561072757600080fd5b6102de600160a060020a0360043581169060243581169060443516612129565b341561075257600080fd5b61042661238e565b341561076557600080fd5b6102de61239d565b341561077857600080fd5b6101e96123be565b341561078b57600080fd5b6102de6123c4565b341561079e57600080fd5b6101e9600160a060020a0360043516612489565b34156107bd57600080fd5b6106e16004356024356044356064356124d9565b34156107dc57600080fd5b6101e961258d565b34156107ef57600080fd5b610803600160a060020a0360043516612592565b60405197885260208801969096526040808801959095526060870193909352608086019190915260a085015260c0840152600160a060020a0390911660e0830152610100909101905180910390f35b341561085d57600080fd5b6102de600160a060020a03600435166125e4565b60015460009081908190600160a060020a03166332ca55878a60405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b15156108c857600080fd5b5af115156108d557600080fd5b5050506040518051905015156108ea57600080fd5b600160a060020a0389166000908152600c60205260409020600581015490925042111561091657600080fd5b600189600160a060020a031663e329c4786040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561095557600080fd5b5af1151561096257600080fd5b50505060405180519050600481111561097757fe5b1461098157600080fd5b50600160a060020a038089166000908152600d60209081526040808320339094168352929052208715156109b457600080fd5b8615156109c057600080fd5b6003810154600160a060020a031615610a8f57600188886040517f19457468657265756d205369676e6564204d6573736167653a0a3634000000008152601c810192909252603c820152605c0160405180910390208787876040516000815260200160405260405193845260ff9092166020808501919091526040808501929092526060840192909252608090920191516020810390808403906000865af11515610a6a57600080fd5b5050602060405103516003820154600160a060020a03908116911614610a8f57600080fd5b6001815460ff166004811115610aa157fe5b14610aab57600080fd5b805460ff19166002908117825560018083018a905590820188905554600160a060020a0316638c0f8e113360405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515610b1457600080fd5b5af11515610b2157600080fd5b505050604051805160048301555060078201805460018101610b43838261302f565b5060009182526020909120018054600160a060020a03191633600160a060020a03818116929092179092556001805490850154911691638981d077918c919060405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b1515610bd157600080fd5b5af11515610bde57600080fd5b505050604051805190501515610bf357600080fd5b33600160a060020a031689600160a060020a03167f1593a9a000265660fd299c9f8c9bbacfeb4d428861542e6c44b68615324225d48a60405190815260200160405180910390a35060010154979650505050505050565b60008054819033600160a060020a03908116911614610c6857600080fd5b600154600160a060020a03166332ca55878760405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515610cb857600080fd5b5af11515610cc557600080fd5b505050604051805190501515610cda57600080fd5b50600160a060020a0385166000908152600c602052604090206005810154421115610d0457600080fd5b42816003015411158015610d1c575060008160040154115b80610d2e575080600601548160040154145b1515610d3957600080fd5b610e1e8682610140604051908101604052908160008201548152602001600182015481526020016002820154600019166000191681526020016003820154815260200160048201548152602001600582015481526020016006820154815260200160078201805480602002602001604051908101604052809291908181526020018280548015610df257602002820191906000526020600020905b8154600160a060020a03168152600190910190602001808311610dd4575b50505091835250506008820154600160a060020a03166020820152600990910154604090910152612818565b1515610e2957600080fd5b600154600160a060020a031663b6b57ebd878787876040518563ffffffff1660e060020a0281526004018085600160a060020a0316600160a060020a03168152602001806020018060200180602001848103845287818151815260200191508051906020019080838360005b83811015610ead578082015183820152602001610e95565b50505050905090810190601f168015610eda5780820380516001836020036101000a031916815260200191505b50848103835286818151815260200191508051906020019080838360005b83811015610f10578082015183820152602001610ef8565b50505050905090810190601f168015610f3d5780820380516001836020036101000a031916815260200191505b50848103825285818151815260200191508051906020019080838360005b83811015610f73578082015183820152602001610f5b565b50505050905090810190601f168015610fa05780820380516001836020036101000a031916815260200191505b50975050505050505050602060405180830381600087803b1515610fc357600080fd5b5af11515610fd057600080fd5b505050604051805190501515610fe557600080fd5b85600160a060020a03167f4bfecaabd22e1b95e9aa9eb161b19f645b3460e7533d5e0f6349faf8dc0a724486868660405180806020018060200180602001848103845287818151815260200191508051906020019080838360005b83811015611058578082015183820152602001611040565b50505050905090810190601f1680156110855780820380516001836020036101000a031916815260200191505b50848103835286818151815260200191508051906020019080838360005b838110156110bb5780820151838201526020016110a3565b50505050905090810190601f1680156110e85780820380516001836020036101000a031916815260200191505b50848103825285818151815260200191508051906020019080838360005b8381101561111e578082015183820152602001611106565b50505050905090810190601f16801561114b5780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390a250600195945050505050565b6001546000908190600160a060020a031663b218cf153360405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b15156111bd57600080fd5b5af115156111ca57600080fd5b5050506040518051905015156111df57600080fd5b600a8054600181016111f1838261302f565b60009283526020909220018054600160a060020a03191633600160a060020a03161790559050611222816001612c92565b600160a060020a0333166000818152600b60205260409081902092909255907f67799bb3ec4a3491a0c1c4e6d02ec99927df7ba7fa268c216672c0c5ecc1e8f8905160405180910390a2600191505b5090565b600080600080600080600061128a8989611707565b151561129557600080fd5b50505050600160a060020a039485166000908152600d602090815260408083209688168352959052939093208054600182015460028301546003840154600485015460059095015460ff90941699929891975016945091925090565b6000805481908190819033600160a060020a0390811691161461131357600080fd5b600154600160a060020a03166332ca55878760405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151561136357600080fd5b5af1151561137057600080fd5b50505060405180519050151561138557600080fd5b600160a060020a0386166000908152600c6020526040902060058101549093504211156113b157600080fd5b85600160a060020a0316632d4d671f6040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156113ee57600080fd5b5af115156113fb57600080fd5b50505060405180519050151561141057600080fd5b60006006840181905591505b60078301548210156114dc576007830180548390811061143857fe5b6000918252602080832090910154600160a060020a038981168452600d8352604080852091909216808552925290912060010154909150851480156114b057506002600160a060020a038088166000908152600d602090815260408083209386168352929052205460ff1660048111156114ae57fe5b145b156114d15760068301546114cb90600163ffffffff612ca416565b60068401555b81600101915061141c565b6006830154600090116114ee57600080fd5b600280840186905560015460035461161f92429261161392600160a060020a0391821691631f87172691811690634cfddcfb908e1663ecc40f646040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561155657600080fd5b5af1151561156357600080fd5b5050506040518051905060405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b15156115a357600080fd5b5af115156115b057600080fd5b5050506040518051905060405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b15156115f057600080fd5b5af115156115fd57600080fd5b505050604051805191905063ffffffff612cbe16565b9063ffffffff612ca416565b6003840155600160a060020a0386167fa1b9f527f9799a46d54103401c99dc62f3744afe1d095a1c53620758dc38b2868660405190815260200160405180910390a250600195945050505050565b600c602052600090815260409020805460018201546002830154600384015460048501546005860154600687015460088801546009909801549697959694959394929391929091600160a060020a03169089565b600a8054829081106116cf57fe5b600091825260209091200154600160a060020a0316905081565b600160a060020a03166000908152600c602052604090206007015490565b600080600160a060020a038085166000908152600d602090815260408083209387168352929052205460ff16600481111561173e57fe5b14159392505050565b600b6020526000908152604090205481565b600a81565b60015460009081908190600160a060020a03166332ca55878660405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b15156117b557600080fd5b5af115156117c257600080fd5b5050506040518051905015156117d757600080fd5b600160a060020a0385166000908152600c60205260409020600581015490925042111561180357600080fd5b50600160a060020a038085166000908152600d6020908152604080832033909416835292905220600285600160a060020a031663e329c4786040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561186957600080fd5b5af1151561187657600080fd5b50505060405180519050600481111561188b57fe5b1461189557600080fd5b60038201544290116118a657600080fd5b6002815460ff1660048111156118b857fe5b146118c257600080fd5b60028201546001820154146118d657600080fd5b836040519081526020016040519081900390206001820154146118f857600080fd5b33604051600160a060020a03919091166c010000000000000000000000000281526014016040518091039020841860405190815260200160405190819003902060028201541461194757600080fd5b805460ff191660031781556004820154611962906001612ca4565b6004830155600160a060020a033381169086167f4f5df7005a83b6f11e90ead1268eb534656169a5034e8d239c763471294be3d58660405190815260200160405180910390a3506001949350505050565b60085481565b60015460009081908190819033600160a060020a039081169116146119dd57600080fd5b600354600160a060020a0316634cfddcfb8660405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b1515611a2557600080fd5b5af11515611a3257600080fd5b5050506040518051600154909450611a939150429061161390600a90600160a060020a0316631f8717268860405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b15156115f057600080fd5b600160a060020a038088166000908152600c60205260409081902060035493955093509116906338c4090b9087905160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b1515611af557600080fd5b5af11515611b0257600080fd5b5050506040518051825550600354600160a060020a03166355d66c3e8660405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b1515611b5557600080fd5b5af11515611b6257600080fd5b5050506040518051600883018054600160a060020a031916600160a060020a0392909216919091179055506005548154611b9b91612ce9565b6001820155600581018290556006546009820155600160a060020a0386167f9c081174ce28e85a62530b1102b0df58428b8da5027e81fbb4984aa1dc03310760405160405180910390a250600195945050505050565b600d60209081526000928352604080842090915290825290208054600182015460028301546003840154600485015460059095015460ff9094169492939192600160a060020a039091169186565b60008054819033600160a060020a03908116911614611c5d57600080fd5b5060005b8351811015611c9d57611c8a85858381518110611c7a57fe5b9060200190602002015185612129565b1515611c9557600080fd5b600101611c61565b506001949350505050565b6000805433600160a060020a03908116911614611cc457600080fd5b600154600160a060020a031663835436b48360405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515611d1457600080fd5b5af11515611d2157600080fd5b505050604051805190501515611d3657600080fd5b611d3f82612cfe565b1515611d4a57600080fd5b81600160a060020a03167fb22288215ec8cbd28148d7ffa053c6e6e23c62b58d0eb71a6387b59fad33a01960405160405180910390a2506001919050565b60065481565b60015460009081908190819033600160a060020a03908116911614611db257600080fd5b600160a060020a0385166000908152600c6020526040902060058101549093504211611ddd57600080fd5b600091505b6007830154821015611eea5760078301805483908110611dfe57fe5b600091825260209091200154600160a060020a031690506001600160a060020a038087166000908152600d602090815260408083209386168352929052205460ff166004811115611e4b57fe5b14611edf576001805490840154600160a060020a0390911690636b4f6865908790849060405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b1515611ebd57600080fd5b5af11515611eca57600080fd5b505050604051805190501515611edf57600080fd5b816001019150611de2565b84600160a060020a03167f8d8d47a5d5034ce9c01a2308543fdaa83d60863e4b735b7d57361987cdc8ed9460405160405180910390a2506001949350505050565b60048054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611fc15780601f10611f9657610100808354040283529160200191611fc1565b820191906000526020600020905b815481529060010190602001808311611fa457829003601f168201915b505050505081565b6000600a82815481101515611fda57fe5b600091825260209091200154600160a060020a031692915050565b600e54600160a060020a031681565b600160a060020a0382166000908152600c6020526040812060070180548390811061202b57fe5b600091825260209091200154600160a060020a03169392505050565b60005433600160a060020a0390811691161461206257600080fd5b60005474010000000000000000000000000000000000000000900460ff16151561208b57600080fd5b600160a060020a03811615156120a057600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008054600160a060020a031916600160a060020a03929092169190911774ff000000000000000000000000000000000000000019169055565b60055481565b600a545b90565b60095481565b60008054819081908190819033600160a060020a0390811691161461214d57600080fd5b600154600160a060020a03166332ca55878960405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151561219d57600080fd5b5af115156121aa57600080fd5b5050506040518051905015156121bf57600080fd5b600188600160a060020a031663e329c4786040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156121fe57600080fd5b5af1151561220b57600080fd5b50505060405180519050600481111561222057fe5b1461222a57600080fd5b600160a060020a038089166000818152600d60209081526040808320948c168352938152838220928252600c9052919091206005810154919550935042111561227257600080fd5b600154600160a060020a031663f69f190c8860405160e060020a63ffffffff8416028152600160a060020a0390911660048201526024016040805180830381600087803b15156122c157600080fd5b5af115156122ce57600080fd5b50505060405180519060200180519193509091505030600160a060020a03908116908316146122fc57600080fd5b6000845460ff16600481111561230e57fe5b1461231857600080fd5b835460ff19166001178455600384018054600160a060020a03888116600160a060020a0319909216919091179091558781169089167f9cade22a92ceb705fefd1c03e9ac4dbbf787cd493ec63a9f2b078cbc859c06298360405190815260200160405180910390a3506001979650505050505050565b600054600160a060020a031681565b60005474010000000000000000000000000000000000000000900460ff1681565b60075481565b600154600090600160a060020a0316631708d7253360405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151561241757600080fd5b5af1151561242457600080fd5b50505060405180519050151561243957600080fd5b61244233612cfe565b151561244d57600080fd5b33600160a060020a03167fd08d61a9c25ada3385d23554bae10e5d15c9518d4bfd27571c190558f7030f6e60405160405180910390a250600190565b600160a060020a0381166000818152600b6020526040812054600a805492939192839081106124b457fe5b600091825260209091200154600160a060020a0316146124d357600080fd5b92915050565b60005433600160a060020a039081169116146124f457600080fd5b7f52bb55d3097463659f724f9b420d259719787a8563b48eb82368680999bfea0760055485600654866008548760095488604051808981526020018881526020018781526020018681526020018581526020018481526020018381526020018281526020019850505050505050505060405180910390a1606483111561257957600080fd5b600593909355600691909155600855600955565b600281565b600160a060020a039081166000908152600c6020526040902080546001820154600283015460038401546004850154600586015460068701546008909701549598949793969295919490939190911690565b6000805481908190819033600160a060020a0390811691161461260657600080fd5b600154600160a060020a03166332ca55878660405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151561265657600080fd5b5af1151561266357600080fd5b50505060405180519050151561267857600080fd5b600160a060020a0385166000908152600c6020526040902060058101549093504211156126a457600080fd5b428360030154111580156126ba57506004830154155b15156126c557600080fd5b84600160a060020a0316631a514d976040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561270257600080fd5b5af1151561270f57600080fd5b50505060405180519050151561272457600080fd5b600091505b60078301548210156127c2576007830180548390811061274557fe5b60009182526020808320909101546002860154600160a060020a038981168552600d8452604080862091909316808652935292206001015490925014156127b757600160a060020a038581166000908152600d60209081526040808320938516835292905220805460ff191660041790555b816001019150612729565b600060068401819055600284018190556003840155600160a060020a0385167f631055693b4cbe13143279bc507432c42de858b6d04b3ba4e1ff3d2c88a7e52b60405160405180910390a2506001949350505050565b60008060008060008060008061282c613058565b6000808b5193508b60e001519250600099505b82518a101561292857828a8151811061285457fe5b90602001906020020151600160a060020a03808f166000908152600d6020908152604080832093851683529290522090995091506003825460ff16600481111561289a57fe5b1415612905576003820154600160a060020a031615156128bb5760016128be565b60035b60ff1697506128e26128dd898460040154612cbe90919063ffffffff16565b612de2565b60010196506128f7868863ffffffff612ca416565b60058301889055955061291d565b61291a8c60200151859063ffffffff612ca416565b93505b89600101995061283f565b6000861161293557600080fd5b61295c61294f8d610120015160649063ffffffff612c9216565b859063ffffffff612ce916565b9050600099505b82518a1015612bee57828a8151811061297857fe5b9060200190602002015198506003600160a060020a03808f166000908152600d60209081526040808320938e168352929052205460ff1660048111156129ba57fe5b1415612b4057600160a060020a03808e166000908152600d60209081526040808320938d16835292905220600501546129fb9082908863ffffffff612ffb16565b9450612a0d848663ffffffff612c9216565b9350600160009054906101000a9004600160a060020a0316600160a060020a0316636b4f68658e8b8f6020015160405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b1515612a8957600080fd5b5af11515612a9657600080fd5b505050604051805190501515612aab57600080fd5b60018054600160a060020a031690630c91f2d0908f908c90899060405160e060020a63ffffffff8716028152600160a060020a03948516600482015292909316602483015260448201529015156064820152608401602060405180830381600087803b1515612b1957600080fd5b5af11515612b2657600080fd5b505050604051805190501515612b3b57600080fd5b612be3565b600160009054906101000a9004600160a060020a0316600160a060020a0316639fdf96258e8b8f60200151600160405160e060020a63ffffffff8716028152600160a060020a03948516600482015292909316602483015260448201529015156064820152608401602060405180830381600087803b1515612bc157600080fd5b5af11515612bce57600080fd5b505050604051805190501515612be357600080fd5b896001019950612963565b600154600160a060020a0316630c91f2d08e6101008f015187600060405160e060020a63ffffffff8716028152600160a060020a03948516600482015292909316602483015260448201529015156064820152608401602060405180830381600087803b1515612c5d57600080fd5b5af11515612c6a57600080fd5b505050604051805190501515612c7f57600080fd5b5060019c9b505050505050505050505050565b600082821115612c9e57fe5b50900390565b600082820183811015612cb357fe5b8091505b5092915050565b600080831515612cd15760009150612cb7565b50828202828482811515612ce157fe5b0414612cb357fe5b6000612cf783836064612ffb565b9392505050565b6000806000612d0c84612489565b600a805491935090612d2590600163ffffffff612c9216565b81548110612d2f57fe5b600091825260209091200154600a8054600160a060020a039092169250829184908110612d5857fe5b60009182526020808320919091018054600160a060020a031916600160a060020a039485161790559183168152600b90915260409020829055600a8054612da0906001612c92565b81548110612daa57fe5b60009182526020909120018054600160a060020a0319169055600a54612dd790600163ffffffff612c9216565b611c9d600a8261302f565b700100000000000000000000000000000000680100000000000000006401000000006201000061010060106004600260001989019081041790810417908104179081041790810417908104179081041790810417600101906000906040517ff8f9cbfae6cc78fbefe7cdc3a1793dfcf4f0e8bbd8cec470b6a28a7a5a3e1efd81527ff5ecf1b3e9debc68e1d9cfabc5997135bfb7a7a3938b7b606b5b4b3f2f1f0ffe60208201527ff6e4ed9ff2d6b458eadcdf97bd91692de2d4da8fd2d0ac50c6ae9a827252361660408201527fc8c0b887b0a8a4489c948c7f847c6125746c645c544c444038302820181008ff60608201527ff7cae577eec2a03cf3bad76fb589591debb2dd67e0aa9834bea6925f6a4a2e0e60808201527fe39ed557db96902cd38ed14fad815115c786af479b7e8324736353433727170760a08201527fc976c13bb96e881cb166a933a55e490d9d56952b8d4e801485467d236242260660c08201527f753a6d1b65325d0c552a4d1345224105391a310b29122104190a11030902010060e082015261010081016040527e818283848586878898a8b8c8d8e8f929395969799a9b9d9e9faaeb6bedeeff7f01000000000000000000000000000000000000000000000000000000000000008082870204818160ff038501510495507f8000000000000000000000000000000000000000000000000000000000000000851161010002860195505050505050919050565b600061301061300a8585612cbe565b83613018565b949350505050565b600080828481151561302657fe5b04949350505050565b8154818355818115116130535760008381526020902061305391810190830161306a565b505050565b60206040519081016040526000815290565b61212091905b8082111561127157600081556001016130705600a165627a7a7230582065611159d17657b023295e8fc204391c05e93b9c80a240e60da82d1ef90187460029a165627a7a7230582018491756121f6b226383a623fe544defbd2a5bc7ce85acc3e6d9bbf4fd37eb310029", - "sourceMap": "107:3240:19:-;;;899:37;;;;;;;;667:7:14;:25;;696:19;-1:-1:-1;;;;;;667:25:14;;;682:10;-1:-1:-1;;;;;667:25:14;;-1:-1:-1;;;;;;696:19:14;;;;107:3240:19;;;;;;;;", - "deployedSourceMap": "107:3240:19:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1219:143;;;;;;;;;;-1:-1:-1;;;;;1219:143:19;;;;;;;;;;-1:-1:-1;;;;;1219:143:19;;;;;;;;;;;;;;3082:263;;;;;;;;;;-1:-1:-1;;;;;3082:263:19;;;;;;;;;;;;;;;;;;;;;;;;;;;2756:323;;;;;;;;;;-1:-1:-1;;;;;2756:323:19;;;;;;;;;;2064:689;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2064:689:19;;;;;961:131;;;;;;;;;;-1:-1:-1;;;;;961:131:19;;;;;1094:123;;;;;;;;;;-1:-1:-1;;;;;1094:123:19;;;;;;;;;;;;;;;;;;;;876:234:14;;;;;;;;;;-1:-1:-1;;;;;876:234:14;;;;;;;797:70:19;;;;;;;;;;;;1485:132;;;;;;;;;;-1:-1:-1;;;;;1485:132:19;;;;;1364:119;;;;;;;;;;;;;;238:22:14;;;;;;;;;;;;263:27;;;;;;;;;;;;1219:143:19;-1:-1:-1;;;;;1316:34:19;;;1295:7;1316:34;;;:26;:34;;;;;;;;:42;;;;;;;;;;1219:143::o;3082:263::-;3205:17;502:7:14;;488:10;-1:-1:-1;;;;;488:21:14;;;502:7;;488:21;480:30;;;;;;-1:-1:-1;;;;;3237:28:19;;;;;;;:19;:28;;;;;;;;:43;;;;3229:52;;;;;;-1:-1:-1;;;;;;3285:28:19;3324:1;3285:28;;;:19;:28;;;;;;;;:41;;-1:-1:-1;;3285:41:19;;;:19;3082:263;-1:-1:-1;3082:263:19:o;2756:323::-;2877:15;502:7:14;;488:10;-1:-1:-1;;;;;488:21:14;;;502:7;;488:21;480:30;;;;;;-1:-1:-1;;;;;2971:28:19;;;3011:1;2971:28;;;:19;:28;;;;;;;:42;2963:51;;;;;;-1:-1:-1;;;;;;3018:28:19;;;;;;;:19;:28;;;;;;;;:42;;-1:-1:-1;;3018:42:19;;;;;;;;;;;:19;2756:323::o;2064:689::-;2322:25;502:7:14;;2322:25:19;;488:10:14;-1:-1:-1;;;;;488:21:14;;;502:7;;488:21;480:30;;;;;;2503:10:19;2537:12;;2554:28;2587:31;2623;2659:19;2484:198;;:::i;:::-;-1:-1:-1;;;;;2484:198:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2460:222;;2686:39;2700:9;2711:13;2686;:39::i;:::-;2736:13;2064:689;-1:-1:-1;;;;;;;2064:689:19:o;961:131::-;-1:-1:-1;;;;;1053:35:19;1035:4;1053:35;;;:22;:35;;;;;;;;;961:131::o;1094:123::-;-1:-1:-1;;;;;1181:32:19;1160:7;1181:32;;;:24;:32;;;;;;;1094:123::o;876:234:14:-;502:7;;488:10;-1:-1:-1;;;;;488:21:14;;;502:7;;488:21;480:30;;;;;;956:12;;;;;;;948:21;;;;;;;;-1:-1:-1;;;;;981:23:14;;;;973:32;;;;;;1035:7;;-1:-1:-1;;;;;1014:40:14;;;;1035:7;1014:40;;;;;;;;;;1058:7;:24;;-1:-1:-1;;1058:24:14;-1:-1:-1;;;;;1058:24:14;;;;;;;;-1:-1:-1;;1086:20:14;;;876:234::o;797:70:19:-;;;;:::o;1485:132::-;-1:-1:-1;;;;;1585:28:19;;;1553:18;1585:28;;;:19;:28;;;;;;;;1485:132::o;1364:119::-;1431:7;1452:27;;;:19;:27;;;;;;-1:-1:-1;;;;;1452:27:19;;1364:119::o;238:22:14:-;;;-1:-1:-1;;;;;238:22:14;;:::o;263:27::-;;;;;;;;;:::o;1620:441:19:-;-1:-1:-1;;;;;1704:32:19;;1694:7;1704:32;;;:24;:32;;;;;;:39;;1741:1;1704:39;:36;:39;:::i;:::-;1772:22;;1694:49;;-1:-1:-1;1772:29:19;;1799:1;1772:29;:26;:29;:::i;:::-;1747:22;:54;;;1805:50;;;;:19;:50;;;;;;;;:64;;-1:-1:-1;;;;;1805:64:19;;;-1:-1:-1;;1805:64:19;;;;;;;;1873:34;;;;;;:24;:34;;;;;:55;;;1932:26;:34;;;;;:38;;;;;;;;;:64;;;;;;;;;;2000:39;;;:22;:39;;;;:57;;-1:-1:-1;;2000:57:19;1805:64;2000:57;;;1620:441::o;405:123:15:-;463:7;489:5;;;505:6;;;;498:14;;;;523:1;405:123;-1:-1:-1;;;405:123:15:o;107:3240:19:-;;;;;;;;;;:::o", - "source": "pragma solidity ^0.4.21;\n\nimport './WorkerPool.sol';\nimport \"./OwnableOZ.sol\";\nimport \"./SafeMathOZ.sol\";\n\ncontract WorkerPoolHub is OwnableOZ // is Owned by IexecHub\n{\n\n\tusing SafeMathOZ for uint256;\n\n\t/**\n\t * Members\n\t */\n\t// worker => workerPool\n\tmapping(address => address) m_workerAffectation;\n\t// owner => index\n\tmapping(address => uint256) m_workerPoolCountByOwner;\n\t// owner => index => workerPool\n\tmapping(address => mapping(uint256 => address)) m_workerPoolByOwnerByIndex;\n\t// workerPool => owner // stored in the workerPool\n\t/* mapping(address => address) m_ownerByWorkerPool; */\n\tmapping(address => bool) m_workerPoolRegistered;\n\n\tmapping(uint256 => address) m_workerPoolByIndex;\n\tuint256 public m_totalWorkerPoolCount;\n\n\n\n\t/**\n\t * Constructor\n\t */\n\tfunction WorkerPoolHub() public\n\t{\n\t}\n\n\t/**\n\t * Methods\n\t */\n\tfunction isWorkerPoolRegistered(address _workerPool) public view returns (bool)\n\t{\n\t\treturn m_workerPoolRegistered[_workerPool];\n\t}\n\tfunction getWorkerPoolsCount(address _owner) public view returns (uint256)\n\t{\n\t\treturn m_workerPoolCountByOwner[_owner];\n\t}\n\tfunction getWorkerPool(address _owner, uint256 _index) public view returns (address)\n\t{\n\t\treturn m_workerPoolByOwnerByIndex[_owner][_index];\n\t}\n\tfunction getWorkerPoolByIndex(uint256 _index) public view returns (address)\n\t{\n\t\treturn m_workerPoolByIndex[_index];\n\t}\n\tfunction getWorkerAffectation(address _worker) public view returns (address workerPool)\n\t{\n\t\treturn m_workerAffectation[_worker];\n\t}\n\n\tfunction addWorkerPool(address _owner, address _workerPool) internal\n\t{\n\t\tuint id = m_workerPoolCountByOwner[_owner].add(1);\n\t\tm_totalWorkerPoolCount = m_totalWorkerPoolCount.add(1);\n\t\tm_workerPoolByIndex [m_totalWorkerPoolCount] = _workerPool;\n\t\tm_workerPoolCountByOwner [_owner] = id;\n\t\tm_workerPoolByOwnerByIndex[_owner][id] = _workerPool;\n\t\tm_workerPoolRegistered [_workerPool] = true;\n\t}\n\n\tfunction createWorkerPool(\n\t\tstring _description,\n\t\tuint256 _subscriptionLockStakePolicy,\n\t\tuint256 _subscriptionMinimumStakePolicy,\n\t\tuint256 _subscriptionMinimumScorePolicy,\n\t\taddress _marketplaceAddress)\n\texternal onlyOwner /*owner == IexecHub*/ returns (address createdWorkerPool)\n\t{\n\t\t// tx.origin == owner\n\t\t// msg.sender == IexecHub\n\t\t// At creating ownership is transfered to tx.origin\n\t\taddress newWorkerPool = new WorkerPool(\n\t\t\tmsg.sender, // iexecHubAddress\n\t\t\t_description,\n\t\t\t_subscriptionLockStakePolicy,\n\t\t\t_subscriptionMinimumStakePolicy,\n\t\t\t_subscriptionMinimumScorePolicy,\n\t\t\t_marketplaceAddress\n\t\t);\n\t\taddWorkerPool(tx.origin, newWorkerPool);\n\t\treturn newWorkerPool;\n\t}\n\n\tfunction registerWorkerAffectation(address _workerPool, address _worker) public onlyOwner /*owner == IexecHub*/ returns (bool subscribed)\n\t{\n\t\t// you must have no cuurent affectation on others worker Pool\n\t\trequire(m_workerAffectation[_worker] == address(0));\n\t\tm_workerAffectation[_worker] = _workerPool;\n\t\treturn true;\n\t}\n\n\tfunction unregisterWorkerAffectation(address _workerPool, address _worker) public onlyOwner /*owner == IexecHub*/ returns (bool unsubscribed)\n\t{\n\t\trequire(m_workerAffectation[_worker] == _workerPool);\n\t\tm_workerAffectation[_worker] = address(0);\n\t\treturn true;\n\t}\n}\n", - "sourcePath": "/Users/fbranci/iexecdev/PoCo/contracts/WorkerPoolHub.sol", - "ast": { - "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/WorkerPoolHub.sol", - "exportedSymbols": { - "WorkerPoolHub": [ - 6349 - ] - }, - "id": 6350, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 6099, - "literals": [ - "solidity", - "^", - "0.4", - ".21" - ], - "nodeType": "PragmaDirective", - "src": "0:24:19" - }, - { - "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/WorkerPool.sol", - "file": "./WorkerPool.sol", - "id": 6100, - "nodeType": "ImportDirective", - "scope": 6350, - "sourceUnit": 6098, - "src": "26:26:19", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/OwnableOZ.sol", - "file": "./OwnableOZ.sol", - "id": 6101, - "nodeType": "ImportDirective", - "scope": 6350, - "sourceUnit": 3748, - "src": "53:25:19", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/SafeMathOZ.sol", - "file": "./SafeMathOZ.sol", - "id": 6102, - "nodeType": "ImportDirective", - "scope": 6350, - "sourceUnit": 3925, - "src": "79:26:19", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [ - { - "arguments": [], - "baseName": { - "contractScope": null, - "id": 6103, - "name": "OwnableOZ", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 3747, - "src": "133:9:19", - "typeDescriptions": { - "typeIdentifier": "t_contract$_OwnableOZ_$3747", - "typeString": "contract OwnableOZ" - } - }, - "id": 6104, - "nodeType": "InheritanceSpecifier", - "src": "133:9:19" - } - ], - "contractDependencies": [ - 3747, - 6097 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 6349, - "linearizedBaseContracts": [ - 6349, - 3747 - ], - "name": "WorkerPoolHub", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 6107, - "libraryName": { - "contractScope": null, - "id": 6105, - "name": "SafeMathOZ", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 3924, - "src": "177:10:19", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMathOZ_$3924", - "typeString": "library SafeMathOZ" - } - }, - "nodeType": "UsingForDirective", - "src": "171:29:19", - "typeName": { - "id": 6106, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "192:7:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "constant": false, - "id": 6111, - "name": "m_workerAffectation", - "nodeType": "VariableDeclaration", - "scope": 6349, - "src": "250:67:19", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_address_$", - "typeString": "mapping(address => address)" - }, - "typeName": { - "id": 6110, - "keyType": { - "id": 6108, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "258:7:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "250:27:19", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_address_$", - "typeString": "mapping(address => address)" - }, - "valueType": { - "id": 6109, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "269:7:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6115, - "name": "m_workerPoolCountByOwner", - "nodeType": "VariableDeclaration", - "scope": 6349, - "src": "339:72:19", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 6114, - "keyType": { - "id": 6112, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "347:7:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "339:27:19", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 6113, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "358:7:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6121, - "name": "m_workerPoolByOwnerByIndex", - "nodeType": "VariableDeclaration", - "scope": 6349, - "src": "447:74:19", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_address_$_$", - "typeString": "mapping(address => mapping(uint256 => address))" - }, - "typeName": { - "id": 6120, - "keyType": { - "id": 6116, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "455:7:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "447:47:19", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_address_$_$", - "typeString": "mapping(address => mapping(uint256 => address))" - }, - "valueType": { - "id": 6119, - "keyType": { - "id": 6117, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "474:7:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "466:27:19", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - }, - "valueType": { - "id": 6118, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "485:7:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6125, - "name": "m_workerPoolRegistered", - "nodeType": "VariableDeclaration", - "scope": 6349, - "src": "653:70:19", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - }, - "typeName": { - "id": 6124, - "keyType": { - "id": 6122, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "661:7:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "653:24:19", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - }, - "valueType": { - "id": 6123, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "672:4:19", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6129, - "name": "m_workerPoolByIndex", - "nodeType": "VariableDeclaration", - "scope": 6349, - "src": "727:67:19", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - }, - "typeName": { - "id": 6128, - "keyType": { - "id": 6126, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "735:7:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "727:27:19", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - }, - "valueType": { - "id": 6127, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "746:7:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6131, - "name": "m_totalWorkerPoolCount", - "nodeType": "VariableDeclaration", - "scope": 6349, - "src": "797:70:19", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6130, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "797:7:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "body": { - "id": 6134, - "nodeType": "Block", - "src": "932:4:19", - "statements": [] - }, - "documentation": "Constructor", - "id": 6135, - "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, - "modifiers": [], - "name": "WorkerPoolHub", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6132, - "nodeType": "ParameterList", - "parameters": [], - "src": "921:2:19" - }, - "payable": false, - "returnParameters": { - "id": 6133, - "nodeType": "ParameterList", - "parameters": [], - "src": "932:0:19" - }, - "scope": 6349, - "src": "899:37:19", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 6146, - "nodeType": "Block", - "src": "1042:50:19", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6142, - "name": "m_workerPoolRegistered", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6125, - "src": "1053:22:19", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 6144, - "indexExpression": { - "argumentTypes": null, - "id": 6143, - "name": "_workerPool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6137, - "src": "1076:11:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1053:35:19", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 6141, - "id": 6145, - "nodeType": "Return", - "src": "1046:42:19" - } - ] - }, - "documentation": "Methods", - "id": 6147, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "isWorkerPoolRegistered", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6138, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6137, - "name": "_workerPool", - "nodeType": "VariableDeclaration", - "scope": 6147, - "src": "993:19:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6136, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "993:7:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "992:21:19" - }, - "payable": false, - "returnParameters": { - "id": 6141, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6140, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 6147, - "src": "1035:4:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 6139, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1035:4:19", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1034:6:19" - }, - "scope": 6349, - "src": "961:131:19", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 6158, - "nodeType": "Block", - "src": "1170:47:19", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6154, - "name": "m_workerPoolCountByOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6115, - "src": "1181:24:19", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 6156, - "indexExpression": { - "argumentTypes": null, - "id": 6155, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6149, - "src": "1206:6:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1181:32:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 6153, - "id": 6157, - "nodeType": "Return", - "src": "1174:39:19" - } - ] - }, - "documentation": null, - "id": 6159, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getWorkerPoolsCount", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6150, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6149, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 6159, - "src": "1123:14:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6148, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1123:7:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1122:16:19" - }, - "payable": false, - "returnParameters": { - "id": 6153, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6152, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 6159, - "src": "1160:7:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6151, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1160:7:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1159:9:19" - }, - "scope": 6349, - "src": "1094:123:19", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 6174, - "nodeType": "Block", - "src": "1305:57:19", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6168, - "name": "m_workerPoolByOwnerByIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6121, - "src": "1316:26:19", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_address_$_$", - "typeString": "mapping(address => mapping(uint256 => address))" - } - }, - "id": 6170, - "indexExpression": { - "argumentTypes": null, - "id": 6169, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6161, - "src": "1343:6:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1316:34:19", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - } - }, - "id": 6172, - "indexExpression": { - "argumentTypes": null, - "id": 6171, - "name": "_index", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6163, - "src": "1351:6:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1316:42:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 6167, - "id": 6173, - "nodeType": "Return", - "src": "1309:49:19" - } - ] - }, - "documentation": null, - "id": 6175, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getWorkerPool", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6164, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6161, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 6175, - "src": "1242:14:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6160, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1242:7:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6163, - "name": "_index", - "nodeType": "VariableDeclaration", - "scope": 6175, - "src": "1258:14:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6162, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1258:7:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1241:32:19" - }, - "payable": false, - "returnParameters": { - "id": 6167, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6166, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 6175, - "src": "1295:7:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6165, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1295:7:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1294:9:19" - }, - "scope": 6349, - "src": "1219:143:19", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 6186, - "nodeType": "Block", - "src": "1441:42:19", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6182, - "name": "m_workerPoolByIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6129, - "src": "1452:19:19", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - } - }, - "id": 6184, - "indexExpression": { - "argumentTypes": null, - "id": 6183, - "name": "_index", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6177, - "src": "1472:6:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1452:27:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 6181, - "id": 6185, - "nodeType": "Return", - "src": "1445:34:19" - } - ] - }, - "documentation": null, - "id": 6187, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getWorkerPoolByIndex", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6178, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6177, - "name": "_index", - "nodeType": "VariableDeclaration", - "scope": 6187, - "src": "1394:14:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6176, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1394:7:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1393:16:19" - }, - "payable": false, - "returnParameters": { - "id": 6181, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6180, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 6187, - "src": "1431:7:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6179, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1431:7:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1430:9:19" - }, - "scope": 6349, - "src": "1364:119:19", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 6198, - "nodeType": "Block", - "src": "1574:43:19", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6194, - "name": "m_workerAffectation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6111, - "src": "1585:19:19", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_address_$", - "typeString": "mapping(address => address)" - } - }, - "id": 6196, - "indexExpression": { - "argumentTypes": null, - "id": 6195, - "name": "_worker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6189, - "src": "1605:7:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1585:28:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 6193, - "id": 6197, - "nodeType": "Return", - "src": "1578:35:19" - } - ] - }, - "documentation": null, - "id": 6199, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getWorkerAffectation", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6190, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6189, - "name": "_worker", - "nodeType": "VariableDeclaration", - "scope": 6199, - "src": "1515:15:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6188, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1515:7:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1514:17:19" - }, - "payable": false, - "returnParameters": { - "id": 6193, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6192, - "name": "workerPool", - "nodeType": "VariableDeclaration", - "scope": 6199, - "src": "1553:18:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6191, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1553:7:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1552:20:19" - }, - "scope": 6349, - "src": "1485:132:19", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 6248, - "nodeType": "Block", - "src": "1690:371:19", - "statements": [ - { - "assignments": [ - 6207 - ], - "declarations": [ - { - "constant": false, - "id": 6207, - "name": "id", - "nodeType": "VariableDeclaration", - "scope": 6249, - "src": "1694:7:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6206, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1694:4:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6214, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "31", - "id": 6212, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1741:1:19", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6208, - "name": "m_workerPoolCountByOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6115, - "src": "1704:24:19", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 6210, - "indexExpression": { - "argumentTypes": null, - "id": 6209, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6201, - "src": "1729:6:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1704:32:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6211, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 3773, - "src": "1704:36:19", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6213, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1704:39:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1694:49:19" - }, - { - "expression": { - "argumentTypes": null, - "id": 6220, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6215, - "name": "m_totalWorkerPoolCount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6131, - "src": "1747:22:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "31", - "id": 6218, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1799:1:19", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - } - ], - "expression": { - "argumentTypes": null, - "id": 6216, - "name": "m_totalWorkerPoolCount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6131, - "src": "1772:22:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6217, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 3773, - "src": "1772:26:19", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6219, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1772:29:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1747:54:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6221, - "nodeType": "ExpressionStatement", - "src": "1747:54:19" - }, - { - "expression": { - "argumentTypes": null, - "id": 6226, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6222, - "name": "m_workerPoolByIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6129, - "src": "1805:19:19", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - } - }, - "id": 6224, - "indexExpression": { - "argumentTypes": null, - "id": 6223, - "name": "m_totalWorkerPoolCount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6131, - "src": "1832:22:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1805:50:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6225, - "name": "_workerPool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6203, - "src": "1858:11:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1805:64:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 6227, - "nodeType": "ExpressionStatement", - "src": "1805:64:19" - }, - { - "expression": { - "argumentTypes": null, - "id": 6232, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6228, - "name": "m_workerPoolCountByOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6115, - "src": "1873:24:19", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 6230, - "indexExpression": { - "argumentTypes": null, - "id": 6229, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6201, - "src": "1900:6:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1873:34:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6231, - "name": "id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6207, - "src": "1926:2:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1873:55:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6233, - "nodeType": "ExpressionStatement", - "src": "1873:55:19" - }, - { - "expression": { - "argumentTypes": null, - "id": 6240, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6234, - "name": "m_workerPoolByOwnerByIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6121, - "src": "1932:26:19", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_address_$_$", - "typeString": "mapping(address => mapping(uint256 => address))" - } - }, - "id": 6237, - "indexExpression": { - "argumentTypes": null, - "id": 6235, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6201, - "src": "1959:6:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1932:34:19", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - } - }, - "id": 6238, - "indexExpression": { - "argumentTypes": null, - "id": 6236, - "name": "id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6207, - "src": "1967:2:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1932:38:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6239, - "name": "_workerPool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6203, - "src": "1985:11:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1932:64:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 6241, - "nodeType": "ExpressionStatement", - "src": "1932:64:19" - }, - { - "expression": { - "argumentTypes": null, - "id": 6246, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6242, - "name": "m_workerPoolRegistered", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6125, - "src": "2000:22:19", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 6244, - "indexExpression": { - "argumentTypes": null, - "id": 6243, - "name": "_workerPool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6203, - "src": "2027:11:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2000:39:19", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 6245, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2053:4:19", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "2000:57:19", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 6247, - "nodeType": "ExpressionStatement", - "src": "2000:57:19" - } - ] - }, - "documentation": null, - "id": 6249, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "addWorkerPool", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6204, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6201, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 6249, - "src": "1643:14:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6200, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1643:7:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6203, - "name": "_workerPool", - "nodeType": "VariableDeclaration", - "scope": 6249, - "src": "1659:19:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6202, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1659:7:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1642:37:19" - }, - "payable": false, - "returnParameters": { - "id": 6205, - "nodeType": "ParameterList", - "parameters": [], - "src": "1690:0:19" - }, - "scope": 6349, - "src": "1620:441:19", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 6287, - "nodeType": "Block", - "src": "2350:403:19", - "statements": [ - { - "assignments": [ - 6267 - ], - "declarations": [ - { - "constant": false, - "id": 6267, - "name": "newWorkerPool", - "nodeType": "VariableDeclaration", - "scope": 6288, - "src": "2460:21:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6266, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2460:7:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6278, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6270, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "2503:3:19", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6271, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2503:10:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6272, - "name": "_description", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6251, - "src": "2537:12:19", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - }, - { - "argumentTypes": null, - "id": 6273, - "name": "_subscriptionLockStakePolicy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6253, - "src": "2554:28:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6274, - "name": "_subscriptionMinimumStakePolicy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6255, - "src": "2587:31:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6275, - "name": "_subscriptionMinimumScorePolicy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6257, - "src": "2623:31:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6276, - "name": "_marketplaceAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6259, - "src": "2659:19:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6269, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "2484:14:19", - "typeDescriptions": { - "typeIdentifier": "t_function_creation_nonpayable$_t_address_$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$returns$_t_contract$_WorkerPool_$6097_$", - "typeString": "function (address,string memory,uint256,uint256,uint256,address) returns (contract WorkerPool)" - }, - "typeName": { - "contractScope": null, - "id": 6268, - "name": "WorkerPool", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6097, - "src": "2488:10:19", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkerPool_$6097", - "typeString": "contract WorkerPool" - } - } - }, - "id": 6277, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2484:198:19", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkerPool_$6097", - "typeString": "contract WorkerPool" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2460:222:19" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6280, - "name": "tx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7018, - "src": "2700:2:19", - "typeDescriptions": { - "typeIdentifier": "t_magic_transaction", - "typeString": "tx" - } - }, - "id": 6281, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "origin", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2700:9:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6282, - "name": "newWorkerPool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6267, - "src": "2711:13:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6279, - "name": "addWorkerPool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6249, - "src": "2686:13:19", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$returns$__$", - "typeString": "function (address,address)" - } - }, - "id": 6283, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2686:39:19", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6284, - "nodeType": "ExpressionStatement", - "src": "2686:39:19" - }, - { - "expression": { - "argumentTypes": null, - "id": 6285, - "name": "newWorkerPool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6267, - "src": "2736:13:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 6265, - "id": 6286, - "nodeType": "Return", - "src": "2729:20:19" - } - ] - }, - "documentation": null, - "id": 6288, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [], - "id": 6262, - "modifierName": { - "argumentTypes": null, - "id": 6261, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3700, - "src": "2281:9:19", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "2281:9:19" - } - ], - "name": "createWorkerPool", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6260, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6251, - "name": "_description", - "nodeType": "VariableDeclaration", - "scope": 6288, - "src": "2093:19:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - }, - "typeName": { - "id": 6250, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2093:6:19", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6253, - "name": "_subscriptionLockStakePolicy", - "nodeType": "VariableDeclaration", - "scope": 6288, - "src": "2116:36:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6252, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2116:7:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6255, - "name": "_subscriptionMinimumStakePolicy", - "nodeType": "VariableDeclaration", - "scope": 6288, - "src": "2156:39:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6254, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2156:7:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6257, - "name": "_subscriptionMinimumScorePolicy", - "nodeType": "VariableDeclaration", - "scope": 6288, - "src": "2199:39:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6256, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2199:7:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6259, - "name": "_marketplaceAddress", - "nodeType": "VariableDeclaration", - "scope": 6288, - "src": "2242:27:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6258, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2242:7:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2089:181:19" - }, - "payable": false, - "returnParameters": { - "id": 6265, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6264, - "name": "createdWorkerPool", - "nodeType": "VariableDeclaration", - "scope": 6288, - "src": "2322:25:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6263, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2322:7:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2321:27:19" - }, - "scope": 6349, - "src": "2064:689:19", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 6317, - "nodeType": "Block", - "src": "2895:184:19", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 6306, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6300, - "name": "m_workerAffectation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6111, - "src": "2971:19:19", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_address_$", - "typeString": "mapping(address => address)" - } - }, - "id": 6302, - "indexExpression": { - "argumentTypes": null, - "id": 6301, - "name": "_worker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6292, - "src": "2991:7:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2971:28:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 6304, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3011:1:19", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 6303, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3003:7:19", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 6305, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3003:10:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "2971:42:19", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 6299, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "2963:7:19", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 6307, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2963:51:19", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6308, - "nodeType": "ExpressionStatement", - "src": "2963:51:19" - }, - { - "expression": { - "argumentTypes": null, - "id": 6313, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6309, - "name": "m_workerAffectation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6111, - "src": "3018:19:19", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_address_$", - "typeString": "mapping(address => address)" - } - }, - "id": 6311, - "indexExpression": { - "argumentTypes": null, - "id": 6310, - "name": "_worker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6292, - "src": "3038:7:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3018:28:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6312, - "name": "_workerPool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6290, - "src": "3049:11:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "3018:42:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 6314, - "nodeType": "ExpressionStatement", - "src": "3018:42:19" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 6315, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3071:4:19", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 6298, - "id": 6316, - "nodeType": "Return", - "src": "3064:11:19" - } - ] - }, - "documentation": null, - "id": 6318, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [], - "id": 6295, - "modifierName": { - "argumentTypes": null, - "id": 6294, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3700, - "src": "2836:9:19", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "2836:9:19" - } - ], - "name": "registerWorkerAffectation", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6293, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6290, - "name": "_workerPool", - "nodeType": "VariableDeclaration", - "scope": 6318, - "src": "2791:19:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6289, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2791:7:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6292, - "name": "_worker", - "nodeType": "VariableDeclaration", - "scope": 6318, - "src": "2812:15:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6291, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2812:7:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2790:38:19" - }, - "payable": false, - "returnParameters": { - "id": 6298, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6297, - "name": "subscribed", - "nodeType": "VariableDeclaration", - "scope": 6318, - "src": "2877:15:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 6296, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2877:4:19", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2876:17:19" - }, - "scope": 6349, - "src": "2756:323:19", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 6347, - "nodeType": "Block", - "src": "3225:120:19", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 6334, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6330, - "name": "m_workerAffectation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6111, - "src": "3237:19:19", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_address_$", - "typeString": "mapping(address => address)" - } - }, - "id": 6332, - "indexExpression": { - "argumentTypes": null, - "id": 6331, - "name": "_worker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6322, - "src": "3257:7:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3237:28:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 6333, - "name": "_workerPool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6320, - "src": "3269:11:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "3237:43:19", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 6329, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "3229:7:19", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 6335, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3229:52:19", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6336, - "nodeType": "ExpressionStatement", - "src": "3229:52:19" - }, - { - "expression": { - "argumentTypes": null, - "id": 6343, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6337, - "name": "m_workerAffectation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6111, - "src": "3285:19:19", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_address_$", - "typeString": "mapping(address => address)" - } - }, - "id": 6339, - "indexExpression": { - "argumentTypes": null, - "id": 6338, - "name": "_worker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6322, - "src": "3305:7:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3285:28:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 6341, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3324:1:19", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 6340, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3316:7:19", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 6342, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3316:10:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "3285:41:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 6344, - "nodeType": "ExpressionStatement", - "src": "3285:41:19" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 6345, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3337:4:19", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 6328, - "id": 6346, - "nodeType": "Return", - "src": "3330:11:19" - } - ] - }, - "documentation": null, - "id": 6348, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [], - "id": 6325, - "modifierName": { - "argumentTypes": null, - "id": 6324, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3700, - "src": "3164:9:19", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "3164:9:19" - } - ], - "name": "unregisterWorkerAffectation", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6323, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6320, - "name": "_workerPool", - "nodeType": "VariableDeclaration", - "scope": 6348, - "src": "3119:19:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6319, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3119:7:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6322, - "name": "_worker", - "nodeType": "VariableDeclaration", - "scope": 6348, - "src": "3140:15:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6321, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3140:7:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3118:38:19" - }, - "payable": false, - "returnParameters": { - "id": 6328, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6327, - "name": "unsubscribed", - "nodeType": "VariableDeclaration", - "scope": 6348, - "src": "3205:17:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 6326, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3205:4:19", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3204:19:19" - }, - "scope": 6349, - "src": "3082:263:19", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 6350, - "src": "107:3240:19" - } - ], - "src": "0:3348:19" - }, - "legacyAST": { - "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/WorkerPoolHub.sol", - "exportedSymbols": { - "WorkerPoolHub": [ - 6349 - ] - }, - "id": 6350, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 6099, - "literals": [ - "solidity", - "^", - "0.4", - ".21" - ], - "nodeType": "PragmaDirective", - "src": "0:24:19" - }, - { - "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/WorkerPool.sol", - "file": "./WorkerPool.sol", - "id": 6100, - "nodeType": "ImportDirective", - "scope": 6350, - "sourceUnit": 6098, - "src": "26:26:19", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/OwnableOZ.sol", - "file": "./OwnableOZ.sol", - "id": 6101, - "nodeType": "ImportDirective", - "scope": 6350, - "sourceUnit": 3748, - "src": "53:25:19", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/SafeMathOZ.sol", - "file": "./SafeMathOZ.sol", - "id": 6102, - "nodeType": "ImportDirective", - "scope": 6350, - "sourceUnit": 3925, - "src": "79:26:19", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [ - { - "arguments": [], - "baseName": { - "contractScope": null, - "id": 6103, - "name": "OwnableOZ", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 3747, - "src": "133:9:19", - "typeDescriptions": { - "typeIdentifier": "t_contract$_OwnableOZ_$3747", - "typeString": "contract OwnableOZ" - } - }, - "id": 6104, - "nodeType": "InheritanceSpecifier", - "src": "133:9:19" - } - ], - "contractDependencies": [ - 3747, - 6097 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 6349, - "linearizedBaseContracts": [ - 6349, - 3747 - ], - "name": "WorkerPoolHub", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 6107, - "libraryName": { - "contractScope": null, - "id": 6105, - "name": "SafeMathOZ", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 3924, - "src": "177:10:19", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMathOZ_$3924", - "typeString": "library SafeMathOZ" - } - }, - "nodeType": "UsingForDirective", - "src": "171:29:19", - "typeName": { - "id": 6106, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "192:7:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "constant": false, - "id": 6111, - "name": "m_workerAffectation", - "nodeType": "VariableDeclaration", - "scope": 6349, - "src": "250:67:19", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_address_$", - "typeString": "mapping(address => address)" - }, - "typeName": { - "id": 6110, - "keyType": { - "id": 6108, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "258:7:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "250:27:19", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_address_$", - "typeString": "mapping(address => address)" - }, - "valueType": { - "id": 6109, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "269:7:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6115, - "name": "m_workerPoolCountByOwner", - "nodeType": "VariableDeclaration", - "scope": 6349, - "src": "339:72:19", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 6114, - "keyType": { - "id": 6112, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "347:7:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "339:27:19", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 6113, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "358:7:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6121, - "name": "m_workerPoolByOwnerByIndex", - "nodeType": "VariableDeclaration", - "scope": 6349, - "src": "447:74:19", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_address_$_$", - "typeString": "mapping(address => mapping(uint256 => address))" - }, - "typeName": { - "id": 6120, - "keyType": { - "id": 6116, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "455:7:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "447:47:19", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_address_$_$", - "typeString": "mapping(address => mapping(uint256 => address))" - }, - "valueType": { - "id": 6119, - "keyType": { - "id": 6117, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "474:7:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "466:27:19", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - }, - "valueType": { - "id": 6118, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "485:7:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6125, - "name": "m_workerPoolRegistered", - "nodeType": "VariableDeclaration", - "scope": 6349, - "src": "653:70:19", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - }, - "typeName": { - "id": 6124, - "keyType": { - "id": 6122, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "661:7:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "653:24:19", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - }, - "valueType": { - "id": 6123, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "672:4:19", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6129, - "name": "m_workerPoolByIndex", - "nodeType": "VariableDeclaration", - "scope": 6349, - "src": "727:67:19", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - }, - "typeName": { - "id": 6128, - "keyType": { - "id": 6126, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "735:7:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "727:27:19", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - }, - "valueType": { - "id": 6127, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "746:7:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6131, - "name": "m_totalWorkerPoolCount", - "nodeType": "VariableDeclaration", - "scope": 6349, - "src": "797:70:19", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6130, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "797:7:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "body": { - "id": 6134, - "nodeType": "Block", - "src": "932:4:19", - "statements": [] - }, - "documentation": "Constructor", - "id": 6135, - "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, - "modifiers": [], - "name": "WorkerPoolHub", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6132, - "nodeType": "ParameterList", - "parameters": [], - "src": "921:2:19" - }, - "payable": false, - "returnParameters": { - "id": 6133, - "nodeType": "ParameterList", - "parameters": [], - "src": "932:0:19" - }, - "scope": 6349, - "src": "899:37:19", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 6146, - "nodeType": "Block", - "src": "1042:50:19", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6142, - "name": "m_workerPoolRegistered", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6125, - "src": "1053:22:19", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 6144, - "indexExpression": { - "argumentTypes": null, - "id": 6143, - "name": "_workerPool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6137, - "src": "1076:11:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1053:35:19", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 6141, - "id": 6145, - "nodeType": "Return", - "src": "1046:42:19" - } - ] - }, - "documentation": "Methods", - "id": 6147, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "isWorkerPoolRegistered", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6138, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6137, - "name": "_workerPool", - "nodeType": "VariableDeclaration", - "scope": 6147, - "src": "993:19:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6136, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "993:7:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "992:21:19" - }, - "payable": false, - "returnParameters": { - "id": 6141, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6140, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 6147, - "src": "1035:4:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 6139, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1035:4:19", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1034:6:19" - }, - "scope": 6349, - "src": "961:131:19", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 6158, - "nodeType": "Block", - "src": "1170:47:19", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6154, - "name": "m_workerPoolCountByOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6115, - "src": "1181:24:19", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 6156, - "indexExpression": { - "argumentTypes": null, - "id": 6155, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6149, - "src": "1206:6:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1181:32:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 6153, - "id": 6157, - "nodeType": "Return", - "src": "1174:39:19" - } - ] - }, - "documentation": null, - "id": 6159, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getWorkerPoolsCount", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6150, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6149, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 6159, - "src": "1123:14:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6148, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1123:7:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1122:16:19" - }, - "payable": false, - "returnParameters": { - "id": 6153, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6152, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 6159, - "src": "1160:7:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6151, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1160:7:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1159:9:19" - }, - "scope": 6349, - "src": "1094:123:19", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 6174, - "nodeType": "Block", - "src": "1305:57:19", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6168, - "name": "m_workerPoolByOwnerByIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6121, - "src": "1316:26:19", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_address_$_$", - "typeString": "mapping(address => mapping(uint256 => address))" - } - }, - "id": 6170, - "indexExpression": { - "argumentTypes": null, - "id": 6169, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6161, - "src": "1343:6:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1316:34:19", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - } - }, - "id": 6172, - "indexExpression": { - "argumentTypes": null, - "id": 6171, - "name": "_index", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6163, - "src": "1351:6:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1316:42:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 6167, - "id": 6173, - "nodeType": "Return", - "src": "1309:49:19" - } - ] - }, - "documentation": null, - "id": 6175, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getWorkerPool", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6164, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6161, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 6175, - "src": "1242:14:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6160, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1242:7:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6163, - "name": "_index", - "nodeType": "VariableDeclaration", - "scope": 6175, - "src": "1258:14:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6162, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1258:7:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1241:32:19" - }, - "payable": false, - "returnParameters": { - "id": 6167, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6166, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 6175, - "src": "1295:7:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6165, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1295:7:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1294:9:19" - }, - "scope": 6349, - "src": "1219:143:19", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 6186, - "nodeType": "Block", - "src": "1441:42:19", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6182, - "name": "m_workerPoolByIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6129, - "src": "1452:19:19", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - } - }, - "id": 6184, - "indexExpression": { - "argumentTypes": null, - "id": 6183, - "name": "_index", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6177, - "src": "1472:6:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1452:27:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 6181, - "id": 6185, - "nodeType": "Return", - "src": "1445:34:19" - } - ] - }, - "documentation": null, - "id": 6187, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getWorkerPoolByIndex", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6178, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6177, - "name": "_index", - "nodeType": "VariableDeclaration", - "scope": 6187, - "src": "1394:14:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6176, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1394:7:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1393:16:19" - }, - "payable": false, - "returnParameters": { - "id": 6181, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6180, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 6187, - "src": "1431:7:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6179, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1431:7:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1430:9:19" - }, - "scope": 6349, - "src": "1364:119:19", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 6198, - "nodeType": "Block", - "src": "1574:43:19", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6194, - "name": "m_workerAffectation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6111, - "src": "1585:19:19", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_address_$", - "typeString": "mapping(address => address)" - } - }, - "id": 6196, - "indexExpression": { - "argumentTypes": null, - "id": 6195, - "name": "_worker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6189, - "src": "1605:7:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1585:28:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 6193, - "id": 6197, - "nodeType": "Return", - "src": "1578:35:19" - } - ] - }, - "documentation": null, - "id": 6199, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getWorkerAffectation", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6190, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6189, - "name": "_worker", - "nodeType": "VariableDeclaration", - "scope": 6199, - "src": "1515:15:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6188, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1515:7:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1514:17:19" - }, - "payable": false, - "returnParameters": { - "id": 6193, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6192, - "name": "workerPool", - "nodeType": "VariableDeclaration", - "scope": 6199, - "src": "1553:18:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6191, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1553:7:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1552:20:19" - }, - "scope": 6349, - "src": "1485:132:19", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 6248, - "nodeType": "Block", - "src": "1690:371:19", - "statements": [ - { - "assignments": [ - 6207 - ], - "declarations": [ - { - "constant": false, - "id": 6207, - "name": "id", - "nodeType": "VariableDeclaration", - "scope": 6249, - "src": "1694:7:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6206, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1694:4:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6214, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "31", - "id": 6212, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1741:1:19", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6208, - "name": "m_workerPoolCountByOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6115, - "src": "1704:24:19", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 6210, - "indexExpression": { - "argumentTypes": null, - "id": 6209, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6201, - "src": "1729:6:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1704:32:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6211, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 3773, - "src": "1704:36:19", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6213, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1704:39:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1694:49:19" - }, - { - "expression": { - "argumentTypes": null, - "id": 6220, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6215, - "name": "m_totalWorkerPoolCount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6131, - "src": "1747:22:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "31", - "id": 6218, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1799:1:19", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - } - ], - "expression": { - "argumentTypes": null, - "id": 6216, - "name": "m_totalWorkerPoolCount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6131, - "src": "1772:22:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6217, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 3773, - "src": "1772:26:19", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6219, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1772:29:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1747:54:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6221, - "nodeType": "ExpressionStatement", - "src": "1747:54:19" - }, - { - "expression": { - "argumentTypes": null, - "id": 6226, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6222, - "name": "m_workerPoolByIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6129, - "src": "1805:19:19", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - } - }, - "id": 6224, - "indexExpression": { - "argumentTypes": null, - "id": 6223, - "name": "m_totalWorkerPoolCount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6131, - "src": "1832:22:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1805:50:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6225, - "name": "_workerPool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6203, - "src": "1858:11:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1805:64:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 6227, - "nodeType": "ExpressionStatement", - "src": "1805:64:19" - }, - { - "expression": { - "argumentTypes": null, - "id": 6232, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6228, - "name": "m_workerPoolCountByOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6115, - "src": "1873:24:19", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 6230, - "indexExpression": { - "argumentTypes": null, - "id": 6229, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6201, - "src": "1900:6:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1873:34:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6231, - "name": "id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6207, - "src": "1926:2:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1873:55:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6233, - "nodeType": "ExpressionStatement", - "src": "1873:55:19" - }, - { - "expression": { - "argumentTypes": null, - "id": 6240, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6234, - "name": "m_workerPoolByOwnerByIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6121, - "src": "1932:26:19", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_address_$_$", - "typeString": "mapping(address => mapping(uint256 => address))" - } - }, - "id": 6237, - "indexExpression": { - "argumentTypes": null, - "id": 6235, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6201, - "src": "1959:6:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1932:34:19", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - } - }, - "id": 6238, - "indexExpression": { - "argumentTypes": null, - "id": 6236, - "name": "id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6207, - "src": "1967:2:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1932:38:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6239, - "name": "_workerPool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6203, - "src": "1985:11:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1932:64:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 6241, - "nodeType": "ExpressionStatement", - "src": "1932:64:19" - }, - { - "expression": { - "argumentTypes": null, - "id": 6246, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6242, - "name": "m_workerPoolRegistered", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6125, - "src": "2000:22:19", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 6244, - "indexExpression": { - "argumentTypes": null, - "id": 6243, - "name": "_workerPool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6203, - "src": "2027:11:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2000:39:19", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 6245, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2053:4:19", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "2000:57:19", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 6247, - "nodeType": "ExpressionStatement", - "src": "2000:57:19" - } - ] - }, - "documentation": null, - "id": 6249, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "addWorkerPool", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6204, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6201, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 6249, - "src": "1643:14:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6200, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1643:7:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6203, - "name": "_workerPool", - "nodeType": "VariableDeclaration", - "scope": 6249, - "src": "1659:19:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6202, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1659:7:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1642:37:19" - }, - "payable": false, - "returnParameters": { - "id": 6205, - "nodeType": "ParameterList", - "parameters": [], - "src": "1690:0:19" - }, - "scope": 6349, - "src": "1620:441:19", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 6287, - "nodeType": "Block", - "src": "2350:403:19", - "statements": [ - { - "assignments": [ - 6267 - ], - "declarations": [ - { - "constant": false, - "id": 6267, - "name": "newWorkerPool", - "nodeType": "VariableDeclaration", - "scope": 6288, - "src": "2460:21:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6266, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2460:7:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6278, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6270, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "2503:3:19", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6271, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2503:10:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6272, - "name": "_description", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6251, - "src": "2537:12:19", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - }, - { - "argumentTypes": null, - "id": 6273, - "name": "_subscriptionLockStakePolicy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6253, - "src": "2554:28:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6274, - "name": "_subscriptionMinimumStakePolicy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6255, - "src": "2587:31:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6275, - "name": "_subscriptionMinimumScorePolicy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6257, - "src": "2623:31:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6276, - "name": "_marketplaceAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6259, - "src": "2659:19:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6269, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "2484:14:19", - "typeDescriptions": { - "typeIdentifier": "t_function_creation_nonpayable$_t_address_$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$returns$_t_contract$_WorkerPool_$6097_$", - "typeString": "function (address,string memory,uint256,uint256,uint256,address) returns (contract WorkerPool)" - }, - "typeName": { - "contractScope": null, - "id": 6268, - "name": "WorkerPool", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6097, - "src": "2488:10:19", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkerPool_$6097", - "typeString": "contract WorkerPool" - } - } - }, - "id": 6277, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2484:198:19", - "typeDescriptions": { - "typeIdentifier": "t_contract$_WorkerPool_$6097", - "typeString": "contract WorkerPool" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2460:222:19" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6280, - "name": "tx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7018, - "src": "2700:2:19", - "typeDescriptions": { - "typeIdentifier": "t_magic_transaction", - "typeString": "tx" - } - }, - "id": 6281, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "origin", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2700:9:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6282, - "name": "newWorkerPool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6267, - "src": "2711:13:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6279, - "name": "addWorkerPool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6249, - "src": "2686:13:19", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$returns$__$", - "typeString": "function (address,address)" - } - }, - "id": 6283, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2686:39:19", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6284, - "nodeType": "ExpressionStatement", - "src": "2686:39:19" - }, - { - "expression": { - "argumentTypes": null, - "id": 6285, - "name": "newWorkerPool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6267, - "src": "2736:13:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 6265, - "id": 6286, - "nodeType": "Return", - "src": "2729:20:19" - } - ] - }, - "documentation": null, - "id": 6288, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [], - "id": 6262, - "modifierName": { - "argumentTypes": null, - "id": 6261, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3700, - "src": "2281:9:19", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "2281:9:19" - } - ], - "name": "createWorkerPool", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6260, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6251, - "name": "_description", - "nodeType": "VariableDeclaration", - "scope": 6288, - "src": "2093:19:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - }, - "typeName": { - "id": 6250, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2093:6:19", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6253, - "name": "_subscriptionLockStakePolicy", - "nodeType": "VariableDeclaration", - "scope": 6288, - "src": "2116:36:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6252, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2116:7:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6255, - "name": "_subscriptionMinimumStakePolicy", - "nodeType": "VariableDeclaration", - "scope": 6288, - "src": "2156:39:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6254, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2156:7:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6257, - "name": "_subscriptionMinimumScorePolicy", - "nodeType": "VariableDeclaration", - "scope": 6288, - "src": "2199:39:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6256, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2199:7:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6259, - "name": "_marketplaceAddress", - "nodeType": "VariableDeclaration", - "scope": 6288, - "src": "2242:27:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6258, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2242:7:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2089:181:19" - }, - "payable": false, - "returnParameters": { - "id": 6265, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6264, - "name": "createdWorkerPool", - "nodeType": "VariableDeclaration", - "scope": 6288, - "src": "2322:25:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6263, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2322:7:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2321:27:19" - }, - "scope": 6349, - "src": "2064:689:19", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 6317, - "nodeType": "Block", - "src": "2895:184:19", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 6306, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6300, - "name": "m_workerAffectation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6111, - "src": "2971:19:19", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_address_$", - "typeString": "mapping(address => address)" - } - }, - "id": 6302, - "indexExpression": { - "argumentTypes": null, - "id": 6301, - "name": "_worker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6292, - "src": "2991:7:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2971:28:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 6304, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3011:1:19", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 6303, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3003:7:19", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 6305, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3003:10:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "2971:42:19", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 6299, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "2963:7:19", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 6307, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2963:51:19", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6308, - "nodeType": "ExpressionStatement", - "src": "2963:51:19" - }, - { - "expression": { - "argumentTypes": null, - "id": 6313, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6309, - "name": "m_workerAffectation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6111, - "src": "3018:19:19", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_address_$", - "typeString": "mapping(address => address)" - } - }, - "id": 6311, - "indexExpression": { - "argumentTypes": null, - "id": 6310, - "name": "_worker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6292, - "src": "3038:7:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3018:28:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6312, - "name": "_workerPool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6290, - "src": "3049:11:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "3018:42:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 6314, - "nodeType": "ExpressionStatement", - "src": "3018:42:19" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 6315, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3071:4:19", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 6298, - "id": 6316, - "nodeType": "Return", - "src": "3064:11:19" - } - ] - }, - "documentation": null, - "id": 6318, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [], - "id": 6295, - "modifierName": { - "argumentTypes": null, - "id": 6294, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3700, - "src": "2836:9:19", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "2836:9:19" - } - ], - "name": "registerWorkerAffectation", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6293, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6290, - "name": "_workerPool", - "nodeType": "VariableDeclaration", - "scope": 6318, - "src": "2791:19:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6289, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2791:7:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6292, - "name": "_worker", - "nodeType": "VariableDeclaration", - "scope": 6318, - "src": "2812:15:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6291, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2812:7:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2790:38:19" - }, - "payable": false, - "returnParameters": { - "id": 6298, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6297, - "name": "subscribed", - "nodeType": "VariableDeclaration", - "scope": 6318, - "src": "2877:15:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 6296, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2877:4:19", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2876:17:19" - }, - "scope": 6349, - "src": "2756:323:19", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 6347, - "nodeType": "Block", - "src": "3225:120:19", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 6334, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6330, - "name": "m_workerAffectation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6111, - "src": "3237:19:19", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_address_$", - "typeString": "mapping(address => address)" - } - }, - "id": 6332, - "indexExpression": { - "argumentTypes": null, - "id": 6331, - "name": "_worker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6322, - "src": "3257:7:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3237:28:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 6333, - "name": "_workerPool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6320, - "src": "3269:11:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "3237:43:19", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 6329, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7011, - "src": "3229:7:19", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 6335, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3229:52:19", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6336, - "nodeType": "ExpressionStatement", - "src": "3229:52:19" - }, - { - "expression": { - "argumentTypes": null, - "id": 6343, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6337, - "name": "m_workerAffectation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6111, - "src": "3285:19:19", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_address_$", - "typeString": "mapping(address => address)" - } - }, - "id": 6339, - "indexExpression": { - "argumentTypes": null, - "id": 6338, - "name": "_worker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6322, - "src": "3305:7:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3285:28:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 6341, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3324:1:19", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 6340, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3316:7:19", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 6342, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3316:10:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "3285:41:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 6344, - "nodeType": "ExpressionStatement", - "src": "3285:41:19" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 6345, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3337:4:19", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 6328, - "id": 6346, - "nodeType": "Return", - "src": "3330:11:19" - } - ] - }, - "documentation": null, - "id": 6348, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [], - "id": 6325, - "modifierName": { - "argumentTypes": null, - "id": 6324, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3700, - "src": "3164:9:19", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "3164:9:19" - } - ], - "name": "unregisterWorkerAffectation", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6323, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6320, - "name": "_workerPool", - "nodeType": "VariableDeclaration", - "scope": 6348, - "src": "3119:19:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6319, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3119:7:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6322, - "name": "_worker", - "nodeType": "VariableDeclaration", - "scope": 6348, - "src": "3140:15:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6321, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3140:7:19", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3118:38:19" - }, - "payable": false, - "returnParameters": { - "id": 6328, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6327, - "name": "unsubscribed", - "nodeType": "VariableDeclaration", - "scope": 6348, - "src": "3205:17:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 6326, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3205:4:19", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3204:19:19" - }, - "scope": 6349, - "src": "3082:263:19", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 6350, - "src": "107:3240:19" - } - ], - "src": "0:3348:19" - }, - "compiler": { - "name": "solc", - "version": "0.4.21+commit.dfe3193c.Emscripten.clang" - }, - "networks": { - "3": { - "events": { - "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - } - }, - "links": {}, - "address": "0x01bfbda0f357bf06eb2f802e3a82bba55b05fe61", - "transactionHash": "0xbcb71fdaeffca3c751bd7348662f5c3ee6e5389e7df6b645b695e4a3bd2190a5" - }, - "4": { - "events": { - "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - } - }, - "links": {}, - "address": "0x6d7d0371923f655a35169c1a0cb1675ac0129c12", - "transactionHash": "0xcc0424367839e17c43c85a7cb3aa574d19e00706856e70b0a4e4d0c02dc8c6a7" - }, - "42": { - "events": { - "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - } - }, - "links": {}, - "address": "0x6fbb19d1e0c43a46bdf6b5087207b1ea1744dfb3", - "transactionHash": "0xf2468a671436eff3c5b9988d4f89c4bac98e7ed9537f822951684f480d77e014" - } - }, - "schemaVersion": "2.0.0", - "updatedAt": "2018-05-21T11:48:56.460Z" -} From 33837102572a3daa35a20fc23440eace8511fd58 Mon Sep 17 00:00:00 2001 From: francois branciard Date: Wed, 13 Jun 2018 11:01:35 +0200 Subject: [PATCH 3/6] add deployed contracts in a new folder deployed #40 --- contractsCompacted/AppHub.sol | 599 + contractsCompacted/DatasetHub.sol | 602 + contractsCompacted/IexecHub.sol | 2324 + contractsCompacted/Marketplace.sol | 2344 + contractsCompacted/WorkerPoolHub.sol | 2343 + deployed/contracts/App.json | 1508 + deployed/contracts/AppHub.json | 4341 ++ deployed/contracts/Dataset.json | 1508 + deployed/contracts/DatasetHub.json | 4341 ++ deployed/contracts/ERC20.json | 1799 + deployed/contracts/IexecAPI.json | 6854 +++ .../contracts/IexecCallbackInterface.json | 726 + deployed/contracts/IexecHub.json | 47559 +++++++++++++++ deployed/contracts/IexecHubAccessor.json | 1067 + deployed/contracts/IexecHubInterface.json | 8665 +++ deployed/contracts/IexecLib.json | 2145 + deployed/contracts/Marketplace.json | 16689 ++++++ deployed/contracts/MarketplaceAccessor.json | 879 + deployed/contracts/MarketplaceInterface.json | 2041 + deployed/contracts/Migrations.json | 1387 + deployed/contracts/Ownable.json | 1010 + deployed/contracts/OwnableOZ.json | 1825 + deployed/contracts/RLC.json | 8723 +++ deployed/contracts/SafeMath.json | 4979 ++ deployed/contracts/SafeMathOZ.json | 5037 ++ deployed/contracts/TestSha.json | 2782 + deployed/contracts/TokenSpender.json | 394 + deployed/contracts/WorkOrder.json | 7228 +++ deployed/contracts/WorkerPool.json | 48222 ++++++++++++++++ deployed/contracts/WorkerPoolHub.json | 6498 +++ truffle-hdwallet.js | 77 +- 31 files changed, 196495 insertions(+), 1 deletion(-) create mode 100644 contractsCompacted/AppHub.sol create mode 100644 contractsCompacted/DatasetHub.sol create mode 100644 contractsCompacted/IexecHub.sol create mode 100644 contractsCompacted/Marketplace.sol create mode 100644 contractsCompacted/WorkerPoolHub.sol create mode 100644 deployed/contracts/App.json create mode 100644 deployed/contracts/AppHub.json create mode 100644 deployed/contracts/Dataset.json create mode 100644 deployed/contracts/DatasetHub.json create mode 100644 deployed/contracts/ERC20.json create mode 100644 deployed/contracts/IexecAPI.json create mode 100644 deployed/contracts/IexecCallbackInterface.json create mode 100644 deployed/contracts/IexecHub.json create mode 100644 deployed/contracts/IexecHubAccessor.json create mode 100644 deployed/contracts/IexecHubInterface.json create mode 100644 deployed/contracts/IexecLib.json create mode 100644 deployed/contracts/Marketplace.json create mode 100644 deployed/contracts/MarketplaceAccessor.json create mode 100644 deployed/contracts/MarketplaceInterface.json create mode 100644 deployed/contracts/Migrations.json create mode 100644 deployed/contracts/Ownable.json create mode 100644 deployed/contracts/OwnableOZ.json create mode 100644 deployed/contracts/RLC.json create mode 100644 deployed/contracts/SafeMath.json create mode 100644 deployed/contracts/SafeMathOZ.json create mode 100644 deployed/contracts/TestSha.json create mode 100644 deployed/contracts/TokenSpender.json create mode 100644 deployed/contracts/WorkOrder.json create mode 100644 deployed/contracts/WorkerPool.json create mode 100644 deployed/contracts/WorkerPoolHub.json diff --git a/contractsCompacted/AppHub.sol b/contractsCompacted/AppHub.sol new file mode 100644 index 00000000..c7f354c4 --- /dev/null +++ b/contractsCompacted/AppHub.sol @@ -0,0 +1,599 @@ +//v1.0.14 +//License: Apache2.0 +pragma solidity ^0.4.8; + +contract TokenSpender { + function receiveApproval(address _from, uint256 _value, address _token, bytes _extraData); +} + +pragma solidity ^0.4.8; + +contract ERC20 { + uint public totalSupply; + function balanceOf(address who) constant returns (uint); + function allowance(address owner, address spender) constant returns (uint); + + function transfer(address to, uint value) returns (bool ok); + function transferFrom(address from, address to, uint value) returns (bool ok); + function approve(address spender, uint value) returns (bool ok); + event Transfer(address indexed from, address indexed to, uint value); + event Approval(address indexed owner, address indexed spender, uint value); +} + +pragma solidity ^0.4.8; + +contract SafeMath { + function safeMul(uint a, uint b) internal returns (uint) { + uint c = a * b; + assert(a == 0 || c / a == b); + return c; + } + + function safeDiv(uint a, uint b) internal returns (uint) { + assert(b > 0); + uint c = a / b; + assert(a == b * c + a % b); + return c; + } + + function safeSub(uint a, uint b) internal returns (uint) { + assert(b <= a); + return a - b; + } + + function safeAdd(uint a, uint b) internal returns (uint) { + uint c = a + b; + assert(c>=a && c>=b); + return c; + } + + function max64(uint64 a, uint64 b) internal constant returns (uint64) { + return a >= b ? a : b; + } + + function min64(uint64 a, uint64 b) internal constant returns (uint64) { + return a < b ? a : b; + } + + function max256(uint256 a, uint256 b) internal constant returns (uint256) { + return a >= b ? a : b; + } + + function min256(uint256 a, uint256 b) internal constant returns (uint256) { + return a < b ? a : b; + } + + function assert(bool assertion) internal { + if (!assertion) { + throw; + } + } +} + +pragma solidity ^0.4.21; + + +/** + * @title SafeMath + * @dev Math operations with safety checks that throw on error + * last open zepplin version used for : add sub mul div function : https://github.com/OpenZeppelin/zeppelin-solidity/blob/master/contracts/math/SafeMath.sol +* commit : https://github.com/OpenZeppelin/zeppelin-solidity/commit/815d9e1f457f57cfbb1b4e889f2255c9a517f661 + */ +library SafeMathOZ +{ + function add(uint256 a, uint256 b) internal pure returns (uint256) + { + uint256 c = a + b; + assert(c >= a); + return c; + } + + function sub(uint256 a, uint256 b) internal pure returns (uint256) + { + assert(b <= a); + return a - b; + } + + function mul(uint256 a, uint256 b) internal pure returns (uint256) + { + if (a == 0) + { + return 0; + } + uint256 c = a * b; + assert(c / a == b); + return c; + } + + function div(uint256 a, uint256 b) internal pure returns (uint256) + { + // assert(b > 0); // Solidity automatically throws when dividing by 0 + uint256 c = a / b; + // assert(a == b * c + a % b); // There is no case in which this doesn't hold + return c; + } + + function max(uint256 a, uint256 b) internal pure returns (uint256) + { + return a >= b ? a : b; + } + + function min(uint256 a, uint256 b) internal pure returns (uint256) + { + return a < b ? a : b; + } + + function mulByFraction(uint256 a, uint256 b, uint256 c) internal pure returns (uint256) + { + return div(mul(a, b), c); + } + + function percentage(uint256 a, uint256 b) internal pure returns (uint256) + { + return mulByFraction(a, b, 100); + } + // Source : https://ethereum.stackexchange.com/questions/8086/logarithm-math-operation-in-solidity + function log(uint x) internal pure returns (uint y) + { + assembly + { + let arg := x + x := sub(x,1) + x := or(x, div(x, 0x02)) + x := or(x, div(x, 0x04)) + x := or(x, div(x, 0x10)) + x := or(x, div(x, 0x100)) + x := or(x, div(x, 0x10000)) + x := or(x, div(x, 0x100000000)) + x := or(x, div(x, 0x10000000000000000)) + x := or(x, div(x, 0x100000000000000000000000000000000)) + x := add(x, 1) + let m := mload(0x40) + mstore(m, 0xf8f9cbfae6cc78fbefe7cdc3a1793dfcf4f0e8bbd8cec470b6a28a7a5a3e1efd) + mstore(add(m,0x20), 0xf5ecf1b3e9debc68e1d9cfabc5997135bfb7a7a3938b7b606b5b4b3f2f1f0ffe) + mstore(add(m,0x40), 0xf6e4ed9ff2d6b458eadcdf97bd91692de2d4da8fd2d0ac50c6ae9a8272523616) + mstore(add(m,0x60), 0xc8c0b887b0a8a4489c948c7f847c6125746c645c544c444038302820181008ff) + mstore(add(m,0x80), 0xf7cae577eec2a03cf3bad76fb589591debb2dd67e0aa9834bea6925f6a4a2e0e) + mstore(add(m,0xa0), 0xe39ed557db96902cd38ed14fad815115c786af479b7e83247363534337271707) + mstore(add(m,0xc0), 0xc976c13bb96e881cb166a933a55e490d9d56952b8d4e801485467d2362422606) + mstore(add(m,0xe0), 0x753a6d1b65325d0c552a4d1345224105391a310b29122104190a110309020100) + mstore(0x40, add(m, 0x100)) + let magic := 0x818283848586878898a8b8c8d8e8f929395969799a9b9d9e9faaeb6bedeeff + let shift := 0x100000000000000000000000000000000000000000000000000000000000000 + let a := div(mul(x, magic), shift) + y := div(mload(add(m,sub(255,a))), shift) + y := add(y, mul(256, gt(arg, 0x8000000000000000000000000000000000000000000000000000000000000000))) + } + } +} + + +pragma solidity ^0.4.8; + +contract Ownable { + address public owner; + + function Ownable() { + owner = msg.sender; + } + + modifier onlyOwner() { + if (msg.sender == owner) + _; + } + + function transferOwnership(address newOwner) onlyOwner { + if (newOwner != address(0)) owner = newOwner; + } + +} + +pragma solidity ^0.4.21; + +/** + * @title Ownable + * @dev The Ownable contract has an owner address, and provides basic authorization control + * functions, this simplifies the implementation of "user permissions". + */ +contract OwnableOZ +{ + address public m_owner; + bool public m_changeable; + + event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); + + /** + * @dev Throws if called by any account other than the owner. + */ + modifier onlyOwner() + { + require(msg.sender == m_owner); + _; + } + + /** + * @dev The Ownable constructor sets the original `owner` of the contract to the sender + * account. + */ + function OwnableOZ() public + { + m_owner = msg.sender; + m_changeable = true; + } + + /** + * @dev Allows the current owner to transfer control of the contract to a newOwner. + * @param _newOwner The address to transfer ownership to. + */ + function setImmutableOwnership(address _newOwner) public onlyOwner + { + require(m_changeable); + require(_newOwner != address(0)); + emit OwnershipTransferred(m_owner, _newOwner); + m_owner = _newOwner; + m_changeable = false; + } + +} + + +pragma solidity ^0.4.8; + +contract RLC is ERC20, SafeMath, Ownable { + + /* Public variables of the token */ + string public name; //fancy name + string public symbol; + uint8 public decimals; //How many decimals to show. + string public version = 'v0.1'; + uint public initialSupply; + uint public totalSupply; + bool public locked; + //uint public unlockBlock; + + mapping(address => uint) balances; + mapping (address => mapping (address => uint)) allowed; + + // lock transfer during the ICO + modifier onlyUnlocked() { + if (msg.sender != owner && locked) throw; + _; + } + + /* + * The RLC Token created with the time at which the crowdsale end + */ + + function RLC() { + // lock the transfer function during the crowdsale + locked = true; + //unlockBlock= now + 45 days; // (testnet) - for mainnet put the block number + + initialSupply = 87000000000000000; + totalSupply = initialSupply; + balances[msg.sender] = initialSupply;// Give the creator all initial tokens + name = 'iEx.ec Network Token'; // Set the name for display purposes + symbol = 'RLC'; // Set the symbol for display purposes + decimals = 9; // Amount of decimals for display purposes + } + + function unlock() onlyOwner { + locked = false; + } + + function burn(uint256 _value) returns (bool){ + balances[msg.sender] = safeSub(balances[msg.sender], _value) ; + totalSupply = safeSub(totalSupply, _value); + Transfer(msg.sender, 0x0, _value); + return true; + } + + function transfer(address _to, uint _value) onlyUnlocked returns (bool) { + balances[msg.sender] = safeSub(balances[msg.sender], _value); + balances[_to] = safeAdd(balances[_to], _value); + Transfer(msg.sender, _to, _value); + return true; + } + + function transferFrom(address _from, address _to, uint _value) onlyUnlocked returns (bool) { + var _allowance = allowed[_from][msg.sender]; + + balances[_to] = safeAdd(balances[_to], _value); + balances[_from] = safeSub(balances[_from], _value); + allowed[_from][msg.sender] = safeSub(_allowance, _value); + Transfer(_from, _to, _value); + return true; + } + + function balanceOf(address _owner) constant returns (uint balance) { + return balances[_owner]; + } + + function approve(address _spender, uint _value) returns (bool) { + allowed[msg.sender][_spender] = _value; + Approval(msg.sender, _spender, _value); + return true; + } + + /* Approve and then comunicate the approved contract in a single tx */ + function approveAndCall(address _spender, uint256 _value, bytes _extraData){ + TokenSpender spender = TokenSpender(_spender); + if (approve(_spender, _value)) { + spender.receiveApproval(msg.sender, _value, this, _extraData); + } + } + + function allowance(address _owner, address _spender) constant returns (uint remaining) { + return allowed[_owner][_spender]; + } + +} + + +pragma solidity ^0.4.21; + + +contract IexecHubInterface +{ + RLC public rlc; + + function attachContracts( + address _tokenAddress, + address _marketplaceAddress, + address _workerPoolHubAddress, + address _appHubAddress, + address _datasetHubAddress) + public; + + function setCategoriesCreator( + address _categoriesCreator) + public; + + function createCategory( + string _name, + string _description, + uint256 _workClockTimeRef) + public returns (uint256 catid); + + function createWorkerPool( + string _description, + uint256 _subscriptionLockStakePolicy, + uint256 _subscriptionMinimumStakePolicy, + uint256 _subscriptionMinimumScorePolicy) + external returns (address createdWorkerPool); + + function createApp( + string _appName, + uint256 _appPrice, + string _appParams) + external returns (address createdApp); + + function createDataset( + string _datasetName, + uint256 _datasetPrice, + string _datasetParams) + external returns (address createdDataset); + + function buyForWorkOrder( + uint256 _marketorderIdx, + address _workerpool, + address _app, + address _dataset, + string _params, + address _callback, + address _beneficiary) + external returns (address); + + function isWoidRegistred( + address _woid) + public view returns (bool); + + function lockWorkOrderCost( + address _requester, + address _workerpool, // Address of a smartcontract + address _app, // Address of a smartcontract + address _dataset) // Address of a smartcontract + internal returns (uint256); + + function claimFailedConsensus( + address _woid) + public returns (bool); + + function finalizeWorkOrder( + address _woid, + string _stdout, + string _stderr, + string _uri) + public returns (bool); + + function getCategoryWorkClockTimeRef( + uint256 _catId) + public view returns (uint256 workClockTimeRef); + + function existingCategory( + uint256 _catId) + public view returns (bool categoryExist); + + function getCategory( + uint256 _catId) + public view returns (uint256 catid, string name, string description, uint256 workClockTimeRef); + + function getWorkerStatus( + address _worker) + public view returns (address workerPool, uint256 workerScore); + + function getWorkerScore(address _worker) public view returns (uint256 workerScore); + + function registerToPool(address _worker) public returns (bool subscribed); + + function unregisterFromPool(address _worker) public returns (bool unsubscribed); + + function evictWorker(address _worker) public returns (bool unsubscribed); + + function removeWorker(address _workerpool, address _worker) internal returns (bool unsubscribed); + + function lockForOrder(address _user, uint256 _amount) public returns (bool); + + function unlockForOrder(address _user, uint256 _amount) public returns (bool); + + function lockForWork(address _woid, address _user, uint256 _amount) public returns (bool); + + function unlockForWork(address _woid, address _user, uint256 _amount) public returns (bool); + + function rewardForWork(address _woid, address _worker, uint256 _amount, bool _reputation) public returns (bool); + + function seizeForWork(address _woid, address _worker, uint256 _amount, bool _reputation) public returns (bool); + + function deposit(uint256 _amount) external returns (bool); + + function withdraw(uint256 _amount) external returns (bool); + + function checkBalance(address _owner) public view returns (uint256 stake, uint256 locked); + + function reward(address _user, uint256 _amount) internal returns (bool); + + function seize(address _user, uint256 _amount) internal returns (bool); + + function lock(address _user, uint256 _amount) internal returns (bool); + + function unlock(address _user, uint256 _amount) internal returns (bool); +} + + +pragma solidity ^0.4.21; + + +contract IexecHubAccessor +{ + IexecHubInterface internal iexecHubInterface; + + modifier onlyIexecHub() + { + require(msg.sender == address(iexecHubInterface)); + _; + } + + function IexecHubAccessor(address _iexecHubAddress) public + { + require(_iexecHubAddress != address(0)); + iexecHubInterface = IexecHubInterface(_iexecHubAddress); + } + +} + + +pragma solidity ^0.4.21; + + +contract App is OwnableOZ, IexecHubAccessor +{ + + /** + * Members + */ + string public m_appName; + uint256 public m_appPrice; + string public m_appParams; + + /** + * Constructor + */ + function App( + address _iexecHubAddress, + string _appName, + uint256 _appPrice, + string _appParams) + IexecHubAccessor(_iexecHubAddress) + public + { + // tx.origin == owner + // msg.sender == DatasetHub + require(tx.origin != msg.sender); + setImmutableOwnership(tx.origin); // owner → tx.origin + + m_appName = _appName; + m_appPrice = _appPrice; + m_appParams = _appParams; + + } + + + +} + + +pragma solidity ^0.4.21; + + + +contract AppHub is OwnableOZ // is Owned by IexecHub +{ + + using SafeMathOZ for uint256; + + /** + * Members + */ + mapping(address => uint256) m_appCountByOwner; + mapping(address => mapping(uint256 => address)) m_appByOwnerByIndex; + mapping(address => bool) m_appRegistered; + + mapping(uint256 => address) m_appByIndex; + uint256 public m_totalAppCount; + + /** + * Constructor + */ + function AppHub() public + { + } + + /** + * Methods + */ + function isAppRegistered(address _app) public view returns (bool) + { + return m_appRegistered[_app]; + } + function getAppsCount(address _owner) public view returns (uint256) + { + return m_appCountByOwner[_owner]; + } + function getApp(address _owner, uint256 _index) public view returns (address) + { + return m_appByOwnerByIndex[_owner][_index]; + } + function getAppByIndex(uint256 _index) public view returns (address) + { + return m_appByIndex[_index]; + } + + function addApp(address _owner, address _app) internal + { + uint id = m_appCountByOwner[_owner].add(1); + m_totalAppCount=m_totalAppCount.add(1); + m_appByIndex [m_totalAppCount] = _app; + m_appCountByOwner [_owner] = id; + m_appByOwnerByIndex[_owner][id] = _app; + m_appRegistered [_app] = true; + } + + function createApp( + string _appName, + uint256 _appPrice, + string _appParams) + public onlyOwner /*owner == IexecHub*/ returns (address createdApp) + { + // tx.origin == owner + // msg.sender == IexecHub + address newApp = new App( + msg.sender, + _appName, + _appPrice, + _appParams + ); + addApp(tx.origin, newApp); + return newApp; + } + +} diff --git a/contractsCompacted/DatasetHub.sol b/contractsCompacted/DatasetHub.sol new file mode 100644 index 00000000..b0e4c778 --- /dev/null +++ b/contractsCompacted/DatasetHub.sol @@ -0,0 +1,602 @@ +//v1.0.14 +//License: Apache2.0 + + +pragma solidity ^0.4.8; + +contract TokenSpender { + function receiveApproval(address _from, uint256 _value, address _token, bytes _extraData); +} + +pragma solidity ^0.4.8; + +contract ERC20 { + uint public totalSupply; + function balanceOf(address who) constant returns (uint); + function allowance(address owner, address spender) constant returns (uint); + + function transfer(address to, uint value) returns (bool ok); + function transferFrom(address from, address to, uint value) returns (bool ok); + function approve(address spender, uint value) returns (bool ok); + event Transfer(address indexed from, address indexed to, uint value); + event Approval(address indexed owner, address indexed spender, uint value); +} + +pragma solidity ^0.4.8; + +contract SafeMath { + function safeMul(uint a, uint b) internal returns (uint) { + uint c = a * b; + assert(a == 0 || c / a == b); + return c; + } + + function safeDiv(uint a, uint b) internal returns (uint) { + assert(b > 0); + uint c = a / b; + assert(a == b * c + a % b); + return c; + } + + function safeSub(uint a, uint b) internal returns (uint) { + assert(b <= a); + return a - b; + } + + function safeAdd(uint a, uint b) internal returns (uint) { + uint c = a + b; + assert(c>=a && c>=b); + return c; + } + + function max64(uint64 a, uint64 b) internal constant returns (uint64) { + return a >= b ? a : b; + } + + function min64(uint64 a, uint64 b) internal constant returns (uint64) { + return a < b ? a : b; + } + + function max256(uint256 a, uint256 b) internal constant returns (uint256) { + return a >= b ? a : b; + } + + function min256(uint256 a, uint256 b) internal constant returns (uint256) { + return a < b ? a : b; + } + + function assert(bool assertion) internal { + if (!assertion) { + throw; + } + } +} + +pragma solidity ^0.4.21; + + +/** + * @title SafeMath + * @dev Math operations with safety checks that throw on error + * last open zepplin version used for : add sub mul div function : https://github.com/OpenZeppelin/zeppelin-solidity/blob/master/contracts/math/SafeMath.sol +* commit : https://github.com/OpenZeppelin/zeppelin-solidity/commit/815d9e1f457f57cfbb1b4e889f2255c9a517f661 + */ +library SafeMathOZ +{ + function add(uint256 a, uint256 b) internal pure returns (uint256) + { + uint256 c = a + b; + assert(c >= a); + return c; + } + + function sub(uint256 a, uint256 b) internal pure returns (uint256) + { + assert(b <= a); + return a - b; + } + + function mul(uint256 a, uint256 b) internal pure returns (uint256) + { + if (a == 0) + { + return 0; + } + uint256 c = a * b; + assert(c / a == b); + return c; + } + + function div(uint256 a, uint256 b) internal pure returns (uint256) + { + // assert(b > 0); // Solidity automatically throws when dividing by 0 + uint256 c = a / b; + // assert(a == b * c + a % b); // There is no case in which this doesn't hold + return c; + } + + function max(uint256 a, uint256 b) internal pure returns (uint256) + { + return a >= b ? a : b; + } + + function min(uint256 a, uint256 b) internal pure returns (uint256) + { + return a < b ? a : b; + } + + function mulByFraction(uint256 a, uint256 b, uint256 c) internal pure returns (uint256) + { + return div(mul(a, b), c); + } + + function percentage(uint256 a, uint256 b) internal pure returns (uint256) + { + return mulByFraction(a, b, 100); + } + // Source : https://ethereum.stackexchange.com/questions/8086/logarithm-math-operation-in-solidity + function log(uint x) internal pure returns (uint y) + { + assembly + { + let arg := x + x := sub(x,1) + x := or(x, div(x, 0x02)) + x := or(x, div(x, 0x04)) + x := or(x, div(x, 0x10)) + x := or(x, div(x, 0x100)) + x := or(x, div(x, 0x10000)) + x := or(x, div(x, 0x100000000)) + x := or(x, div(x, 0x10000000000000000)) + x := or(x, div(x, 0x100000000000000000000000000000000)) + x := add(x, 1) + let m := mload(0x40) + mstore(m, 0xf8f9cbfae6cc78fbefe7cdc3a1793dfcf4f0e8bbd8cec470b6a28a7a5a3e1efd) + mstore(add(m,0x20), 0xf5ecf1b3e9debc68e1d9cfabc5997135bfb7a7a3938b7b606b5b4b3f2f1f0ffe) + mstore(add(m,0x40), 0xf6e4ed9ff2d6b458eadcdf97bd91692de2d4da8fd2d0ac50c6ae9a8272523616) + mstore(add(m,0x60), 0xc8c0b887b0a8a4489c948c7f847c6125746c645c544c444038302820181008ff) + mstore(add(m,0x80), 0xf7cae577eec2a03cf3bad76fb589591debb2dd67e0aa9834bea6925f6a4a2e0e) + mstore(add(m,0xa0), 0xe39ed557db96902cd38ed14fad815115c786af479b7e83247363534337271707) + mstore(add(m,0xc0), 0xc976c13bb96e881cb166a933a55e490d9d56952b8d4e801485467d2362422606) + mstore(add(m,0xe0), 0x753a6d1b65325d0c552a4d1345224105391a310b29122104190a110309020100) + mstore(0x40, add(m, 0x100)) + let magic := 0x818283848586878898a8b8c8d8e8f929395969799a9b9d9e9faaeb6bedeeff + let shift := 0x100000000000000000000000000000000000000000000000000000000000000 + let a := div(mul(x, magic), shift) + y := div(mload(add(m,sub(255,a))), shift) + y := add(y, mul(256, gt(arg, 0x8000000000000000000000000000000000000000000000000000000000000000))) + } + } +} + + +pragma solidity ^0.4.8; + +contract Ownable { + address public owner; + + function Ownable() { + owner = msg.sender; + } + + modifier onlyOwner() { + if (msg.sender == owner) + _; + } + + function transferOwnership(address newOwner) onlyOwner { + if (newOwner != address(0)) owner = newOwner; + } + +} + +pragma solidity ^0.4.21; + +/** + * @title Ownable + * @dev The Ownable contract has an owner address, and provides basic authorization control + * functions, this simplifies the implementation of "user permissions". + */ +contract OwnableOZ +{ + address public m_owner; + bool public m_changeable; + + event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); + + /** + * @dev Throws if called by any account other than the owner. + */ + modifier onlyOwner() + { + require(msg.sender == m_owner); + _; + } + + /** + * @dev The Ownable constructor sets the original `owner` of the contract to the sender + * account. + */ + function OwnableOZ() public + { + m_owner = msg.sender; + m_changeable = true; + } + + /** + * @dev Allows the current owner to transfer control of the contract to a newOwner. + * @param _newOwner The address to transfer ownership to. + */ + function setImmutableOwnership(address _newOwner) public onlyOwner + { + require(m_changeable); + require(_newOwner != address(0)); + emit OwnershipTransferred(m_owner, _newOwner); + m_owner = _newOwner; + m_changeable = false; + } + +} + + +pragma solidity ^0.4.8; + +contract RLC is ERC20, SafeMath, Ownable { + + /* Public variables of the token */ + string public name; //fancy name + string public symbol; + uint8 public decimals; //How many decimals to show. + string public version = 'v0.1'; + uint public initialSupply; + uint public totalSupply; + bool public locked; + //uint public unlockBlock; + + mapping(address => uint) balances; + mapping (address => mapping (address => uint)) allowed; + + // lock transfer during the ICO + modifier onlyUnlocked() { + if (msg.sender != owner && locked) throw; + _; + } + + /* + * The RLC Token created with the time at which the crowdsale end + */ + + function RLC() { + // lock the transfer function during the crowdsale + locked = true; + //unlockBlock= now + 45 days; // (testnet) - for mainnet put the block number + + initialSupply = 87000000000000000; + totalSupply = initialSupply; + balances[msg.sender] = initialSupply;// Give the creator all initial tokens + name = 'iEx.ec Network Token'; // Set the name for display purposes + symbol = 'RLC'; // Set the symbol for display purposes + decimals = 9; // Amount of decimals for display purposes + } + + function unlock() onlyOwner { + locked = false; + } + + function burn(uint256 _value) returns (bool){ + balances[msg.sender] = safeSub(balances[msg.sender], _value) ; + totalSupply = safeSub(totalSupply, _value); + Transfer(msg.sender, 0x0, _value); + return true; + } + + function transfer(address _to, uint _value) onlyUnlocked returns (bool) { + balances[msg.sender] = safeSub(balances[msg.sender], _value); + balances[_to] = safeAdd(balances[_to], _value); + Transfer(msg.sender, _to, _value); + return true; + } + + function transferFrom(address _from, address _to, uint _value) onlyUnlocked returns (bool) { + var _allowance = allowed[_from][msg.sender]; + + balances[_to] = safeAdd(balances[_to], _value); + balances[_from] = safeSub(balances[_from], _value); + allowed[_from][msg.sender] = safeSub(_allowance, _value); + Transfer(_from, _to, _value); + return true; + } + + function balanceOf(address _owner) constant returns (uint balance) { + return balances[_owner]; + } + + function approve(address _spender, uint _value) returns (bool) { + allowed[msg.sender][_spender] = _value; + Approval(msg.sender, _spender, _value); + return true; + } + + /* Approve and then comunicate the approved contract in a single tx */ + function approveAndCall(address _spender, uint256 _value, bytes _extraData){ + TokenSpender spender = TokenSpender(_spender); + if (approve(_spender, _value)) { + spender.receiveApproval(msg.sender, _value, this, _extraData); + } + } + + function allowance(address _owner, address _spender) constant returns (uint remaining) { + return allowed[_owner][_spender]; + } + +} + + +pragma solidity ^0.4.21; + + +contract IexecHubInterface +{ + RLC public rlc; + + function attachContracts( + address _tokenAddress, + address _marketplaceAddress, + address _workerPoolHubAddress, + address _appHubAddress, + address _datasetHubAddress) + public; + + function setCategoriesCreator( + address _categoriesCreator) + public; + + function createCategory( + string _name, + string _description, + uint256 _workClockTimeRef) + public returns (uint256 catid); + + function createWorkerPool( + string _description, + uint256 _subscriptionLockStakePolicy, + uint256 _subscriptionMinimumStakePolicy, + uint256 _subscriptionMinimumScorePolicy) + external returns (address createdWorkerPool); + + function createApp( + string _appName, + uint256 _appPrice, + string _appParams) + external returns (address createdApp); + + function createDataset( + string _datasetName, + uint256 _datasetPrice, + string _datasetParams) + external returns (address createdDataset); + + function buyForWorkOrder( + uint256 _marketorderIdx, + address _workerpool, + address _app, + address _dataset, + string _params, + address _callback, + address _beneficiary) + external returns (address); + + function isWoidRegistred( + address _woid) + public view returns (bool); + + function lockWorkOrderCost( + address _requester, + address _workerpool, // Address of a smartcontract + address _app, // Address of a smartcontract + address _dataset) // Address of a smartcontract + internal returns (uint256); + + function claimFailedConsensus( + address _woid) + public returns (bool); + + function finalizeWorkOrder( + address _woid, + string _stdout, + string _stderr, + string _uri) + public returns (bool); + + function getCategoryWorkClockTimeRef( + uint256 _catId) + public view returns (uint256 workClockTimeRef); + + function existingCategory( + uint256 _catId) + public view returns (bool categoryExist); + + function getCategory( + uint256 _catId) + public view returns (uint256 catid, string name, string description, uint256 workClockTimeRef); + + function getWorkerStatus( + address _worker) + public view returns (address workerPool, uint256 workerScore); + + function getWorkerScore(address _worker) public view returns (uint256 workerScore); + + function registerToPool(address _worker) public returns (bool subscribed); + + function unregisterFromPool(address _worker) public returns (bool unsubscribed); + + function evictWorker(address _worker) public returns (bool unsubscribed); + + function removeWorker(address _workerpool, address _worker) internal returns (bool unsubscribed); + + function lockForOrder(address _user, uint256 _amount) public returns (bool); + + function unlockForOrder(address _user, uint256 _amount) public returns (bool); + + function lockForWork(address _woid, address _user, uint256 _amount) public returns (bool); + + function unlockForWork(address _woid, address _user, uint256 _amount) public returns (bool); + + function rewardForWork(address _woid, address _worker, uint256 _amount, bool _reputation) public returns (bool); + + function seizeForWork(address _woid, address _worker, uint256 _amount, bool _reputation) public returns (bool); + + function deposit(uint256 _amount) external returns (bool); + + function withdraw(uint256 _amount) external returns (bool); + + function checkBalance(address _owner) public view returns (uint256 stake, uint256 locked); + + function reward(address _user, uint256 _amount) internal returns (bool); + + function seize(address _user, uint256 _amount) internal returns (bool); + + function lock(address _user, uint256 _amount) internal returns (bool); + + function unlock(address _user, uint256 _amount) internal returns (bool); +} + + + +pragma solidity ^0.4.21; + + +contract IexecHubAccessor +{ + IexecHubInterface internal iexecHubInterface; + + modifier onlyIexecHub() + { + require(msg.sender == address(iexecHubInterface)); + _; + } + + function IexecHubAccessor(address _iexecHubAddress) public + { + require(_iexecHubAddress != address(0)); + iexecHubInterface = IexecHubInterface(_iexecHubAddress); + } + +} + + + +pragma solidity ^0.4.21; + + +contract Dataset is OwnableOZ, IexecHubAccessor +{ + + /** + * Members + */ + string public m_datasetName; + uint256 public m_datasetPrice; + string public m_datasetParams; + + /** + * Constructor + */ + function Dataset( + address _iexecHubAddress, + string _datasetName, + uint256 _datasetPrice, + string _datasetParams) + IexecHubAccessor(_iexecHubAddress) + public + { + // tx.origin == owner + // msg.sender == DatasetHub + require(tx.origin != msg.sender); + setImmutableOwnership(tx.origin); // owner → tx.origin + + m_datasetName = _datasetName; + m_datasetPrice = _datasetPrice; + m_datasetParams = _datasetParams; + + } + + +} + + +pragma solidity ^0.4.21; + + + +contract DatasetHub is OwnableOZ // is Owned by IexecHub +{ + using SafeMathOZ for uint256; + + /** + * Members + */ + mapping(address => uint256) m_datasetCountByOwner; + mapping(address => mapping(uint256 => address)) m_datasetByOwnerByIndex; + mapping(address => bool) m_datasetRegistered; + + mapping(uint256 => address) m_datasetByIndex; + uint256 public m_totalDatasetCount; + + + + /** + * Constructor + */ + function DatasetHub() public + { + } + + /** + * Methods + */ + function isDatasetRegistred(address _dataset) public view returns (bool) + { + return m_datasetRegistered[_dataset]; + } + function getDatasetsCount(address _owner) public view returns (uint256) + { + return m_datasetCountByOwner[_owner]; + } + function getDataset(address _owner, uint256 _index) public view returns (address) + { + return m_datasetByOwnerByIndex[_owner][_index]; + } + function getDatasetByIndex(uint256 _index) public view returns (address) + { + return m_datasetByIndex[_index]; + } + + function addDataset(address _owner, address _dataset) internal + { + uint id = m_datasetCountByOwner[_owner].add(1); + m_totalDatasetCount = m_totalDatasetCount.add(1); + m_datasetByIndex [m_totalDatasetCount] = _dataset; + m_datasetCountByOwner [_owner] = id; + m_datasetByOwnerByIndex[_owner][id] = _dataset; + m_datasetRegistered [_dataset] = true; + } + + function createDataset( + string _datasetName, + uint256 _datasetPrice, + string _datasetParams) + public onlyOwner /*owner == IexecHub*/ returns (address createdDataset) + { + // tx.origin == owner + // msg.sender == IexecHub + address newDataset = new Dataset( + msg.sender, + _datasetName, + _datasetPrice, + _datasetParams + ); + addDataset(tx.origin, newDataset); + return newDataset; + } +} diff --git a/contractsCompacted/IexecHub.sol b/contractsCompacted/IexecHub.sol new file mode 100644 index 00000000..dcc833b1 --- /dev/null +++ b/contractsCompacted/IexecHub.sol @@ -0,0 +1,2324 @@ +//v1.0.14 +//License: Apache2.0 +pragma solidity ^0.4.8; + +contract TokenSpender { + function receiveApproval(address _from, uint256 _value, address _token, bytes _extraData); +} + +pragma solidity ^0.4.8; + +contract ERC20 { + uint public totalSupply; + function balanceOf(address who) constant returns (uint); + function allowance(address owner, address spender) constant returns (uint); + + function transfer(address to, uint value) returns (bool ok); + function transferFrom(address from, address to, uint value) returns (bool ok); + function approve(address spender, uint value) returns (bool ok); + event Transfer(address indexed from, address indexed to, uint value); + event Approval(address indexed owner, address indexed spender, uint value); +} + +pragma solidity ^0.4.8; + +contract SafeMath { + function safeMul(uint a, uint b) internal returns (uint) { + uint c = a * b; + assert(a == 0 || c / a == b); + return c; + } + + function safeDiv(uint a, uint b) internal returns (uint) { + assert(b > 0); + uint c = a / b; + assert(a == b * c + a % b); + return c; + } + + function safeSub(uint a, uint b) internal returns (uint) { + assert(b <= a); + return a - b; + } + + function safeAdd(uint a, uint b) internal returns (uint) { + uint c = a + b; + assert(c>=a && c>=b); + return c; + } + + function max64(uint64 a, uint64 b) internal constant returns (uint64) { + return a >= b ? a : b; + } + + function min64(uint64 a, uint64 b) internal constant returns (uint64) { + return a < b ? a : b; + } + + function max256(uint256 a, uint256 b) internal constant returns (uint256) { + return a >= b ? a : b; + } + + function min256(uint256 a, uint256 b) internal constant returns (uint256) { + return a < b ? a : b; + } + + function assert(bool assertion) internal { + if (!assertion) { + throw; + } + } +} + +pragma solidity ^0.4.21; + + +/** + * @title SafeMath + * @dev Math operations with safety checks that throw on error + * last open zepplin version used for : add sub mul div function : https://github.com/OpenZeppelin/zeppelin-solidity/blob/master/contracts/math/SafeMath.sol +* commit : https://github.com/OpenZeppelin/zeppelin-solidity/commit/815d9e1f457f57cfbb1b4e889f2255c9a517f661 + */ +library SafeMathOZ +{ + function add(uint256 a, uint256 b) internal pure returns (uint256) + { + uint256 c = a + b; + assert(c >= a); + return c; + } + + function sub(uint256 a, uint256 b) internal pure returns (uint256) + { + assert(b <= a); + return a - b; + } + + function mul(uint256 a, uint256 b) internal pure returns (uint256) + { + if (a == 0) + { + return 0; + } + uint256 c = a * b; + assert(c / a == b); + return c; + } + + function div(uint256 a, uint256 b) internal pure returns (uint256) + { + // assert(b > 0); // Solidity automatically throws when dividing by 0 + uint256 c = a / b; + // assert(a == b * c + a % b); // There is no case in which this doesn't hold + return c; + } + + function max(uint256 a, uint256 b) internal pure returns (uint256) + { + return a >= b ? a : b; + } + + function min(uint256 a, uint256 b) internal pure returns (uint256) + { + return a < b ? a : b; + } + + function mulByFraction(uint256 a, uint256 b, uint256 c) internal pure returns (uint256) + { + return div(mul(a, b), c); + } + + function percentage(uint256 a, uint256 b) internal pure returns (uint256) + { + return mulByFraction(a, b, 100); + } + // Source : https://ethereum.stackexchange.com/questions/8086/logarithm-math-operation-in-solidity + function log(uint x) internal pure returns (uint y) + { + assembly + { + let arg := x + x := sub(x,1) + x := or(x, div(x, 0x02)) + x := or(x, div(x, 0x04)) + x := or(x, div(x, 0x10)) + x := or(x, div(x, 0x100)) + x := or(x, div(x, 0x10000)) + x := or(x, div(x, 0x100000000)) + x := or(x, div(x, 0x10000000000000000)) + x := or(x, div(x, 0x100000000000000000000000000000000)) + x := add(x, 1) + let m := mload(0x40) + mstore(m, 0xf8f9cbfae6cc78fbefe7cdc3a1793dfcf4f0e8bbd8cec470b6a28a7a5a3e1efd) + mstore(add(m,0x20), 0xf5ecf1b3e9debc68e1d9cfabc5997135bfb7a7a3938b7b606b5b4b3f2f1f0ffe) + mstore(add(m,0x40), 0xf6e4ed9ff2d6b458eadcdf97bd91692de2d4da8fd2d0ac50c6ae9a8272523616) + mstore(add(m,0x60), 0xc8c0b887b0a8a4489c948c7f847c6125746c645c544c444038302820181008ff) + mstore(add(m,0x80), 0xf7cae577eec2a03cf3bad76fb589591debb2dd67e0aa9834bea6925f6a4a2e0e) + mstore(add(m,0xa0), 0xe39ed557db96902cd38ed14fad815115c786af479b7e83247363534337271707) + mstore(add(m,0xc0), 0xc976c13bb96e881cb166a933a55e490d9d56952b8d4e801485467d2362422606) + mstore(add(m,0xe0), 0x753a6d1b65325d0c552a4d1345224105391a310b29122104190a110309020100) + mstore(0x40, add(m, 0x100)) + let magic := 0x818283848586878898a8b8c8d8e8f929395969799a9b9d9e9faaeb6bedeeff + let shift := 0x100000000000000000000000000000000000000000000000000000000000000 + let a := div(mul(x, magic), shift) + y := div(mload(add(m,sub(255,a))), shift) + y := add(y, mul(256, gt(arg, 0x8000000000000000000000000000000000000000000000000000000000000000))) + } + } +} + + +pragma solidity ^0.4.8; + +contract Ownable { + address public owner; + + function Ownable() { + owner = msg.sender; + } + + modifier onlyOwner() { + if (msg.sender == owner) + _; + } + + function transferOwnership(address newOwner) onlyOwner { + if (newOwner != address(0)) owner = newOwner; + } + +} + +pragma solidity ^0.4.21; + +/** + * @title Ownable + * @dev The Ownable contract has an owner address, and provides basic authorization control + * functions, this simplifies the implementation of "user permissions". + */ +contract OwnableOZ +{ + address public m_owner; + bool public m_changeable; + + event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); + + /** + * @dev Throws if called by any account other than the owner. + */ + modifier onlyOwner() + { + require(msg.sender == m_owner); + _; + } + + /** + * @dev The Ownable constructor sets the original `owner` of the contract to the sender + * account. + */ + function OwnableOZ() public + { + m_owner = msg.sender; + m_changeable = true; + } + + /** + * @dev Allows the current owner to transfer control of the contract to a newOwner. + * @param _newOwner The address to transfer ownership to. + */ + function setImmutableOwnership(address _newOwner) public onlyOwner + { + require(m_changeable); + require(_newOwner != address(0)); + emit OwnershipTransferred(m_owner, _newOwner); + m_owner = _newOwner; + m_changeable = false; + } + +} + + +pragma solidity ^0.4.8; + +contract RLC is ERC20, SafeMath, Ownable { + + /* Public variables of the token */ + string public name; //fancy name + string public symbol; + uint8 public decimals; //How many decimals to show. + string public version = 'v0.1'; + uint public initialSupply; + uint public totalSupply; + bool public locked; + //uint public unlockBlock; + + mapping(address => uint) balances; + mapping (address => mapping (address => uint)) allowed; + + // lock transfer during the ICO + modifier onlyUnlocked() { + if (msg.sender != owner && locked) throw; + _; + } + + /* + * The RLC Token created with the time at which the crowdsale end + */ + + function RLC() { + // lock the transfer function during the crowdsale + locked = true; + //unlockBlock= now + 45 days; // (testnet) - for mainnet put the block number + + initialSupply = 87000000000000000; + totalSupply = initialSupply; + balances[msg.sender] = initialSupply;// Give the creator all initial tokens + name = 'iEx.ec Network Token'; // Set the name for display purposes + symbol = 'RLC'; // Set the symbol for display purposes + decimals = 9; // Amount of decimals for display purposes + } + + function unlock() onlyOwner { + locked = false; + } + + function burn(uint256 _value) returns (bool){ + balances[msg.sender] = safeSub(balances[msg.sender], _value) ; + totalSupply = safeSub(totalSupply, _value); + Transfer(msg.sender, 0x0, _value); + return true; + } + + function transfer(address _to, uint _value) onlyUnlocked returns (bool) { + balances[msg.sender] = safeSub(balances[msg.sender], _value); + balances[_to] = safeAdd(balances[_to], _value); + Transfer(msg.sender, _to, _value); + return true; + } + + function transferFrom(address _from, address _to, uint _value) onlyUnlocked returns (bool) { + var _allowance = allowed[_from][msg.sender]; + + balances[_to] = safeAdd(balances[_to], _value); + balances[_from] = safeSub(balances[_from], _value); + allowed[_from][msg.sender] = safeSub(_allowance, _value); + Transfer(_from, _to, _value); + return true; + } + + function balanceOf(address _owner) constant returns (uint balance) { + return balances[_owner]; + } + + function approve(address _spender, uint _value) returns (bool) { + allowed[msg.sender][_spender] = _value; + Approval(msg.sender, _spender, _value); + return true; + } + + /* Approve and then comunicate the approved contract in a single tx */ + function approveAndCall(address _spender, uint256 _value, bytes _extraData){ + TokenSpender spender = TokenSpender(_spender); + if (approve(_spender, _value)) { + spender.receiveApproval(msg.sender, _value, this, _extraData); + } + } + + function allowance(address _owner, address _spender) constant returns (uint remaining) { + return allowed[_owner][_spender]; + } + +} + + +pragma solidity ^0.4.21; + +library IexecLib +{ + /***************************************************************************/ + /* Market Order */ + /***************************************************************************/ + enum MarketOrderDirectionEnum + { + UNSET, + BID, + ASK, + CLOSED + } + struct MarketOrder + { + MarketOrderDirectionEnum direction; + uint256 category; // runtime selection + uint256 trust; // for PoCo + uint256 value; // value/cost/price + uint256 volume; // quantity of instances (total) + uint256 remaining; // remaining instances + address workerpool; // BID can use null for any + address workerpoolOwner; // fix ownership if workerpool ownership change during the workorder steps + } + + /***************************************************************************/ + /* Work Order */ + /***************************************************************************/ + enum WorkOrderStatusEnum + { + UNSET, // Work order not yet initialized (invalid address) + ACTIVE, // Marketed → constributions are open + REVEALING, // Starting consensus reveal + CLAIMED, // failed consensus + COMPLETED // Concensus achieved + } + + /***************************************************************************/ + /* Consensus */ + /* --- */ + /* used in WorkerPool.sol */ + /***************************************************************************/ + struct Consensus + { + uint256 poolReward; + uint256 stakeAmount; + bytes32 consensus; + uint256 revealDate; + uint256 revealCounter; + uint256 consensusTimeout; + uint256 winnerCount; + address[] contributors; + address workerpoolOwner; + uint256 schedulerRewardRatioPolicy; + + } + + /***************************************************************************/ + /* Contribution */ + /* --- */ + /* used in WorkerPool.sol */ + /***************************************************************************/ + enum ContributionStatusEnum + { + UNSET, + AUTHORIZED, + CONTRIBUTED, + PROVED, + REJECTED + } + struct Contribution + { + ContributionStatusEnum status; + bytes32 resultHash; + bytes32 resultSign; + address enclaveChallenge; + uint256 score; + uint256 weight; + } + + /***************************************************************************/ + /* Account / ContributionHistory / Category */ + /* --- */ + /* used in IexecHub.sol */ + /***************************************************************************/ + struct Account + { + uint256 stake; + uint256 locked; + } + + struct ContributionHistory // for credibility computation, f = failed/total + { + uint256 success; + uint256 failed; + } + + struct Category + { + uint256 catid; + string name; + string description; + uint256 workClockTimeRef; + } + +} + + +pragma solidity ^0.4.21; + +contract WorkOrder +{ + + + event WorkOrderActivated(); + event WorkOrderReActivated(); + event WorkOrderRevealing(); + event WorkOrderClaimed (); + event WorkOrderCompleted(); + + /** + * Members + */ + IexecLib.WorkOrderStatusEnum public m_status; + + uint256 public m_marketorderIdx; + + address public m_app; + address public m_dataset; + address public m_workerpool; + address public m_requester; + + uint256 public m_emitcost; + string public m_params; + address public m_callback; + address public m_beneficiary; + + bytes32 public m_resultCallbackProof; + string public m_stdout; + string public m_stderr; + string public m_uri; + + address public m_iexecHubAddress; + + modifier onlyIexecHub() + { + require(msg.sender == m_iexecHubAddress); + _; + } + + /** + * Constructor + */ + function WorkOrder( + uint256 _marketorderIdx, + address _requester, + address _app, + address _dataset, + address _workerpool, + uint256 _emitcost, + string _params, + address _callback, + address _beneficiary) + public + { + m_iexecHubAddress = msg.sender; + require(_requester != address(0)); + m_status = IexecLib.WorkOrderStatusEnum.ACTIVE; + m_marketorderIdx = _marketorderIdx; + m_app = _app; + m_dataset = _dataset; + m_workerpool = _workerpool; + m_requester = _requester; + m_emitcost = _emitcost; + m_params = _params; + m_callback = _callback; + m_beneficiary = _beneficiary; + // needed for the scheduler to authorize api token access on this m_beneficiary address in case _requester is a smart contract. + } + + function startRevealingPhase() public returns (bool) + { + require(m_workerpool == msg.sender); + require(m_status == IexecLib.WorkOrderStatusEnum.ACTIVE); + m_status = IexecLib.WorkOrderStatusEnum.REVEALING; + emit WorkOrderRevealing(); + return true; + } + + function reActivate() public returns (bool) + { + require(m_workerpool == msg.sender); + require(m_status == IexecLib.WorkOrderStatusEnum.REVEALING); + m_status = IexecLib.WorkOrderStatusEnum.ACTIVE; + emit WorkOrderReActivated(); + return true; + } + + + function claim() public onlyIexecHub + { + require(m_status == IexecLib.WorkOrderStatusEnum.ACTIVE || m_status == IexecLib.WorkOrderStatusEnum.REVEALING); + m_status = IexecLib.WorkOrderStatusEnum.CLAIMED; + emit WorkOrderClaimed(); + } + + + function setResult(string _stdout, string _stderr, string _uri) public onlyIexecHub + { + require(m_status == IexecLib.WorkOrderStatusEnum.REVEALING); + m_status = IexecLib.WorkOrderStatusEnum.COMPLETED; + m_stdout = _stdout; + m_stderr = _stderr; + m_uri = _uri; + m_resultCallbackProof =keccak256(_stdout,_stderr,_uri); + emit WorkOrderCompleted(); + } + +} + +pragma solidity ^0.4.21; + +contract IexecHubInterface +{ + RLC public rlc; + + function attachContracts( + address _tokenAddress, + address _marketplaceAddress, + address _workerPoolHubAddress, + address _appHubAddress, + address _datasetHubAddress) + public; + + function setCategoriesCreator( + address _categoriesCreator) + public; + + function createCategory( + string _name, + string _description, + uint256 _workClockTimeRef) + public returns (uint256 catid); + + function createWorkerPool( + string _description, + uint256 _subscriptionLockStakePolicy, + uint256 _subscriptionMinimumStakePolicy, + uint256 _subscriptionMinimumScorePolicy) + external returns (address createdWorkerPool); + + function createApp( + string _appName, + uint256 _appPrice, + string _appParams) + external returns (address createdApp); + + function createDataset( + string _datasetName, + uint256 _datasetPrice, + string _datasetParams) + external returns (address createdDataset); + + function buyForWorkOrder( + uint256 _marketorderIdx, + address _workerpool, + address _app, + address _dataset, + string _params, + address _callback, + address _beneficiary) + external returns (address); + + function isWoidRegistred( + address _woid) + public view returns (bool); + + function lockWorkOrderCost( + address _requester, + address _workerpool, // Address of a smartcontract + address _app, // Address of a smartcontract + address _dataset) // Address of a smartcontract + internal returns (uint256); + + function claimFailedConsensus( + address _woid) + public returns (bool); + + function finalizeWorkOrder( + address _woid, + string _stdout, + string _stderr, + string _uri) + public returns (bool); + + function getCategoryWorkClockTimeRef( + uint256 _catId) + public view returns (uint256 workClockTimeRef); + + function existingCategory( + uint256 _catId) + public view returns (bool categoryExist); + + function getCategory( + uint256 _catId) + public view returns (uint256 catid, string name, string description, uint256 workClockTimeRef); + + function getWorkerStatus( + address _worker) + public view returns (address workerPool, uint256 workerScore); + + function getWorkerScore(address _worker) public view returns (uint256 workerScore); + + function registerToPool(address _worker) public returns (bool subscribed); + + function unregisterFromPool(address _worker) public returns (bool unsubscribed); + + function evictWorker(address _worker) public returns (bool unsubscribed); + + function removeWorker(address _workerpool, address _worker) internal returns (bool unsubscribed); + + function lockForOrder(address _user, uint256 _amount) public returns (bool); + + function unlockForOrder(address _user, uint256 _amount) public returns (bool); + + function lockForWork(address _woid, address _user, uint256 _amount) public returns (bool); + + function unlockForWork(address _woid, address _user, uint256 _amount) public returns (bool); + + function rewardForWork(address _woid, address _worker, uint256 _amount, bool _reputation) public returns (bool); + + function seizeForWork(address _woid, address _worker, uint256 _amount, bool _reputation) public returns (bool); + + function deposit(uint256 _amount) external returns (bool); + + function withdraw(uint256 _amount) external returns (bool); + + function checkBalance(address _owner) public view returns (uint256 stake, uint256 locked); + + function reward(address _user, uint256 _amount) internal returns (bool); + + function seize(address _user, uint256 _amount) internal returns (bool); + + function lock(address _user, uint256 _amount) internal returns (bool); + + function unlock(address _user, uint256 _amount) internal returns (bool); +} + + +pragma solidity ^0.4.21; + +contract IexecHubAccessor +{ + IexecHubInterface internal iexecHubInterface; + + modifier onlyIexecHub() + { + require(msg.sender == address(iexecHubInterface)); + _; + } + + function IexecHubAccessor(address _iexecHubAddress) public + { + require(_iexecHubAddress != address(0)); + iexecHubInterface = IexecHubInterface(_iexecHubAddress); + } + +} + +pragma solidity ^0.4.21; + +contract IexecCallbackInterface +{ + + function workOrderCallback( + address _woid, + string _stdout, + string _stderr, + string _uri) public returns (bool); + + event WorkOrderCallback(address woid, string stdout, string stderr, string uri); +} + +pragma solidity ^0.4.21; +contract MarketplaceInterface +{ + function createMarketOrder( + IexecLib.MarketOrderDirectionEnum _direction, + uint256 _category, + uint256 _trust, + uint256 _value, + address _workerpool, + uint256 _volume) + public returns (uint); + + function closeMarketOrder( + uint256 _marketorderIdx) + public returns (bool); + + function getMarketOrderValue( + uint256 _marketorderIdx) + public view returns(uint256); + + function getMarketOrderWorkerpoolOwner( + uint256 _marketorderIdx) + public view returns(address); + + function getMarketOrderCategory( + uint256 _marketorderIdx) + public view returns (uint256); + + function getMarketOrderTrust( + uint256 _marketorderIdx) + public view returns(uint256); + + function getMarketOrder( + uint256 _marketorderIdx) + public view returns( + IexecLib.MarketOrderDirectionEnum direction, + uint256 category, // runtime selection + uint256 trust, // for PoCo + uint256 value, // value/cost/price + uint256 volume, // quantity of instances (total) + uint256 remaining, // remaining instances + address workerpool); // BID can use null for any +} + + +pragma solidity ^0.4.21; + +contract MarketplaceAccessor +{ + address internal marketplaceAddress; + MarketplaceInterface internal marketplaceInterface; +/* not used + modifier onlyMarketplace() + { + require(msg.sender == marketplaceAddress); + _; + }*/ + + function MarketplaceAccessor(address _marketplaceAddress) public + { + require(_marketplaceAddress != address(0)); + marketplaceAddress = _marketplaceAddress; + marketplaceInterface = MarketplaceInterface(_marketplaceAddress); + } +} + +pragma solidity ^0.4.21; + +contract WorkerPool is OwnableOZ, IexecHubAccessor, MarketplaceAccessor +{ + using SafeMathOZ for uint256; + + + /** + * Members + */ + string public m_description; + uint256 public m_stakeRatioPolicy; // % of reward to stake + uint256 public m_schedulerRewardRatioPolicy; // % of reward given to scheduler + uint256 public m_subscriptionLockStakePolicy; // Stake locked when in workerpool - Constant set by constructor, do not update + uint256 public m_subscriptionMinimumStakePolicy; // Minimum stake for subscribing + uint256 public m_subscriptionMinimumScorePolicy; // Minimum score for subscribing + address[] public m_workers; + mapping(address => uint256) public m_workerIndex; + + // mapping(woid => IexecLib.Consensus) + mapping(address => IexecLib.Consensus) public m_consensus; + // mapping(woid => worker address => Contribution); + mapping(address => mapping(address => IexecLib.Contribution)) public m_contributions; + + uint256 public constant REVEAL_PERIOD_DURATION_RATIO = 2; + uint256 public constant CONSENSUS_DURATION_RATIO = 10; + + /** + * Address of slave/related contracts + */ + address public m_workerPoolHubAddress; + + + /** + * Events + */ + event WorkerPoolPolicyUpdate( + uint256 oldStakeRatioPolicy, uint256 newStakeRatioPolicy, + uint256 oldSchedulerRewardRatioPolicy, uint256 newSchedulerRewardRatioPolicy, + uint256 oldSubscriptionMinimumStakePolicy, uint256 newSubscriptionMinimumStakePolicy, + uint256 oldSubscriptionMinimumScorePolicy, uint256 newSubscriptionMinimumScorePolicy); + + event WorkOrderActive (address indexed woid); + event WorkOrderClaimed (address indexed woid); + + event AllowWorkerToContribute (address indexed woid, address indexed worker, uint256 workerScore); + event Contribute (address indexed woid, address indexed worker, bytes32 resultHash); + event RevealConsensus (address indexed woid, bytes32 consensus); + event Reveal (address indexed woid, address indexed worker, bytes32 result); + event Reopen (address indexed woid); + event FinalizeWork (address indexed woid, string stdout, string stderr, string uri); + + + + event WorkerSubscribe (address indexed worker); + event WorkerUnsubscribe (address indexed worker); + event WorkerEviction (address indexed worker); + + /** + * Methods + */ + // Constructor + function WorkerPool( + address _iexecHubAddress, + string _description, + uint256 _subscriptionLockStakePolicy, + uint256 _subscriptionMinimumStakePolicy, + uint256 _subscriptionMinimumScorePolicy, + address _marketplaceAddress) + IexecHubAccessor(_iexecHubAddress) + MarketplaceAccessor(_marketplaceAddress) + public + { + // tx.origin == owner + // msg.sender == WorkerPoolHub + require(tx.origin != msg.sender); + setImmutableOwnership(tx.origin); // owner → tx.origin + + m_description = _description; + m_stakeRatioPolicy = 30; // % of the work order price to stake + m_schedulerRewardRatioPolicy = 1; // % of the work reward going to scheduler vs workers reward + m_subscriptionLockStakePolicy = _subscriptionLockStakePolicy; // only at creation. cannot be change to respect lock/unlock of worker stake + m_subscriptionMinimumStakePolicy = _subscriptionMinimumStakePolicy; + m_subscriptionMinimumScorePolicy = _subscriptionMinimumScorePolicy; + m_workerPoolHubAddress = msg.sender; + + } + + function changeWorkerPoolPolicy( + uint256 _newStakeRatioPolicy, + uint256 _newSchedulerRewardRatioPolicy, + uint256 _newSubscriptionMinimumStakePolicy, + uint256 _newSubscriptionMinimumScorePolicy) + public onlyOwner + { + emit WorkerPoolPolicyUpdate( + m_stakeRatioPolicy, _newStakeRatioPolicy, + m_schedulerRewardRatioPolicy, _newSchedulerRewardRatioPolicy, + m_subscriptionMinimumStakePolicy, _newSubscriptionMinimumStakePolicy, + m_subscriptionMinimumScorePolicy, _newSubscriptionMinimumScorePolicy + ); + require(_newSchedulerRewardRatioPolicy <= 100); + m_stakeRatioPolicy = _newStakeRatioPolicy; + m_schedulerRewardRatioPolicy = _newSchedulerRewardRatioPolicy; + m_subscriptionMinimumStakePolicy = _newSubscriptionMinimumStakePolicy; + m_subscriptionMinimumScorePolicy = _newSubscriptionMinimumScorePolicy; + } + + /************************* worker list management **************************/ + function getWorkerAddress(uint _index) public view returns (address) + { + return m_workers[_index]; + } + function getWorkerIndex(address _worker) public view returns (uint) + { + uint index = m_workerIndex[_worker]; + require(m_workers[index] == _worker); + return index; + } + function getWorkersCount() public view returns (uint) + { + return m_workers.length; + } + + function subscribeToPool() public returns (bool) + { + // msg.sender = worker + require(iexecHubInterface.registerToPool(msg.sender)); + uint index = m_workers.push(msg.sender); + m_workerIndex[msg.sender] = index.sub(1); + emit WorkerSubscribe(msg.sender); + return true; + } + + function unsubscribeFromPool() public returns (bool) + { + // msg.sender = worker + require(iexecHubInterface.unregisterFromPool(msg.sender)); + require(removeWorker(msg.sender)); + emit WorkerUnsubscribe(msg.sender); + return true; + } + + function evictWorker(address _worker) public onlyOwner returns (bool) + { + // msg.sender = scheduler + require(iexecHubInterface.evictWorker(_worker)); + require(removeWorker(_worker)); + emit WorkerEviction(_worker); + return true; + } + + function removeWorker(address _worker) internal returns (bool) + { + uint index = getWorkerIndex(_worker); // fails if worker not registered + address lastWorker = m_workers[m_workers.length.sub(1)]; + m_workers [index ] = lastWorker; + m_workerIndex[lastWorker] = index; + delete m_workers[m_workers.length.sub(1)]; + m_workers.length = m_workers.length.sub(1); + return true; + } + + function getConsensusDetails(address _woid) public view returns ( + uint256 c_poolReward, + uint256 c_stakeAmount, + bytes32 c_consensus, + uint256 c_revealDate, + uint256 c_revealCounter, + uint256 c_consensusTimeout, + uint256 c_winnerCount, + address c_workerpoolOwner) + { + IexecLib.Consensus storage consensus = m_consensus[_woid]; + return ( + consensus.poolReward, + consensus.stakeAmount, + consensus.consensus, + consensus.revealDate, + consensus.revealCounter, + consensus.consensusTimeout, + consensus.winnerCount, + consensus.workerpoolOwner + ); + } + + function getContributorsCount(address _woid) public view returns (uint256 contributorsCount) + { + return m_consensus[_woid].contributors.length; + } + + function getContributor(address _woid, uint256 index) public view returns (address contributor) + { + return m_consensus[_woid].contributors[index]; + } + + function existingContribution(address _woid, address _worker) public view returns (bool contributionExist) + { + return m_contributions[_woid][_worker].status != IexecLib.ContributionStatusEnum.UNSET; + } + + function getContribution(address _woid, address _worker) public view returns + ( + IexecLib.ContributionStatusEnum status, + bytes32 resultHash, + bytes32 resultSign, + address enclaveChallenge, + uint256 score, + uint256 weight) + { + require(existingContribution(_woid, _worker)); // no silent value returned + IexecLib.Contribution storage contribution = m_contributions[_woid][_worker]; + return ( + contribution.status, + contribution.resultHash, + contribution.resultSign, + contribution.enclaveChallenge, + contribution.score, + contribution.weight + ); + } + + + /**************************** Works management *****************************/ + function emitWorkOrder(address _woid, uint256 _marketorderIdx) public onlyIexecHub returns (bool) + { + uint256 catid = marketplaceInterface.getMarketOrderCategory(_marketorderIdx); + uint256 timeout = iexecHubInterface.getCategoryWorkClockTimeRef(catid).mul(CONSENSUS_DURATION_RATIO).add(now); + + IexecLib.Consensus storage consensus = m_consensus[_woid]; + consensus.poolReward = marketplaceInterface.getMarketOrderValue(_marketorderIdx); + consensus.workerpoolOwner = marketplaceInterface.getMarketOrderWorkerpoolOwner(_marketorderIdx); + consensus.stakeAmount = consensus.poolReward.percentage(m_stakeRatioPolicy); + consensus.consensusTimeout = timeout; + consensus.schedulerRewardRatioPolicy = m_schedulerRewardRatioPolicy; + + emit WorkOrderActive(_woid); + + return true; + } + + function claimFailedConsensus(address _woid) public onlyIexecHub returns (bool) + { + IexecLib.Consensus storage consensus = m_consensus[_woid]; + require(now > consensus.consensusTimeout); + uint256 i; + address w; + for (i = 0; i < consensus.contributors.length; ++i) + { + w = consensus.contributors[i]; + if (m_contributions[_woid][w].status != IexecLib.ContributionStatusEnum.AUTHORIZED) + { + require(iexecHubInterface.unlockForWork(_woid, w, consensus.stakeAmount)); + } + } + emit WorkOrderClaimed(_woid); + return true; + } + + function allowWorkersToContribute(address _woid, address[] _workers, address _enclaveChallenge) public onlyOwner /*onlySheduler*/ returns (bool) + { + for (uint i = 0; i < _workers.length; ++i) + { + require(allowWorkerToContribute(_woid, _workers[i], _enclaveChallenge)); + } + return true; + } + + function allowWorkerToContribute(address _woid, address _worker, address _enclaveChallenge) public onlyOwner /*onlySheduler*/ returns (bool) + { + require(iexecHubInterface.isWoidRegistred(_woid)); + require(WorkOrder(_woid).m_status() == IexecLib.WorkOrderStatusEnum.ACTIVE); + IexecLib.Contribution storage contribution = m_contributions[_woid][_worker]; + IexecLib.Consensus storage consensus = m_consensus[_woid]; + require(now <= consensus.consensusTimeout); + + address workerPool; + uint256 workerScore; + (workerPool, workerScore) = iexecHubInterface.getWorkerStatus(_worker); // workerPool, workerScore + require(workerPool == address(this)); + + require(contribution.status == IexecLib.ContributionStatusEnum.UNSET); + contribution.status = IexecLib.ContributionStatusEnum.AUTHORIZED; + contribution.enclaveChallenge = _enclaveChallenge; + + emit AllowWorkerToContribute(_woid, _worker, workerScore); + return true; + } + + function contribute(address _woid, bytes32 _resultHash, bytes32 _resultSign, uint8 _v, bytes32 _r, bytes32 _s) public returns (uint256 workerStake) + { + require(iexecHubInterface.isWoidRegistred(_woid)); + IexecLib.Consensus storage consensus = m_consensus[_woid]; + require(now <= consensus.consensusTimeout); + require(WorkOrder(_woid).m_status() == IexecLib.WorkOrderStatusEnum.ACTIVE); // can't contribute on a claimed or completed workorder + IexecLib.Contribution storage contribution = m_contributions[_woid][msg.sender]; + + // msg.sender = a worker + require(_resultHash != 0x0); + require(_resultSign != 0x0); + if (contribution.enclaveChallenge != address(0)) + { + require(contribution.enclaveChallenge == ecrecover(keccak256("\x19Ethereum Signed Message:\n64", _resultHash, _resultSign), _v, _r, _s)); + } + + require(contribution.status == IexecLib.ContributionStatusEnum.AUTHORIZED); + contribution.status = IexecLib.ContributionStatusEnum.CONTRIBUTED; + contribution.resultHash = _resultHash; + contribution.resultSign = _resultSign; + contribution.score = iexecHubInterface.getWorkerScore(msg.sender); + consensus.contributors.push(msg.sender); + + require(iexecHubInterface.lockForWork(_woid, msg.sender, consensus.stakeAmount)); + emit Contribute(_woid, msg.sender, _resultHash); + return consensus.stakeAmount; + } + + function revealConsensus(address _woid, bytes32 _consensus) public onlyOwner /*onlySheduler*/ returns (bool) + { + require(iexecHubInterface.isWoidRegistred(_woid)); + IexecLib.Consensus storage consensus = m_consensus[_woid]; + require(now <= consensus.consensusTimeout); + require(WorkOrder(_woid).startRevealingPhase()); + + consensus.winnerCount = 0; + for (uint256 i = 0; i 0); // you cannot revealConsensus if no worker has contributed to this hash + + consensus.consensus = _consensus; + consensus.revealDate = iexecHubInterface.getCategoryWorkClockTimeRef(marketplaceInterface.getMarketOrderCategory(WorkOrder(_woid).m_marketorderIdx())).mul(REVEAL_PERIOD_DURATION_RATIO).add(now); // is it better to store th catid ? + emit RevealConsensus(_woid, _consensus); + return true; + } + + function reveal(address _woid, bytes32 _result) public returns (bool) + { + require(iexecHubInterface.isWoidRegistred(_woid)); + IexecLib.Consensus storage consensus = m_consensus[_woid]; + require(now <= consensus.consensusTimeout); + IexecLib.Contribution storage contribution = m_contributions[_woid][msg.sender]; + + require(WorkOrder(_woid).m_status() == IexecLib.WorkOrderStatusEnum.REVEALING ); + require(consensus.revealDate > now ); + require(contribution.status == IexecLib.ContributionStatusEnum.CONTRIBUTED); + require(contribution.resultHash == consensus.consensus ); + require(contribution.resultHash == keccak256(_result ) ); + require(contribution.resultSign == keccak256(_result ^ keccak256(msg.sender)) ); + + contribution.status = IexecLib.ContributionStatusEnum.PROVED; + consensus.revealCounter = consensus.revealCounter.add(1); + + emit Reveal(_woid, msg.sender, _result); + return true; + } + + function reopen(address _woid) public onlyOwner /*onlySheduler*/ returns (bool) + { + require(iexecHubInterface.isWoidRegistred(_woid)); + IexecLib.Consensus storage consensus = m_consensus[_woid]; + require(now <= consensus.consensusTimeout); + require(consensus.revealDate <= now && consensus.revealCounter == 0); + require(WorkOrder(_woid).reActivate()); + + for (uint256 i = 0; i < consensus.contributors.length; ++i) + { + address w = consensus.contributors[i]; + if (m_contributions[_woid][w].resultHash == consensus.consensus) + { + m_contributions[_woid][w].status = IexecLib.ContributionStatusEnum.REJECTED; + } + } + // Reset to status before revealConsensus. Must be after REJECTED traitement above because of consensus.consensus check + consensus.winnerCount = 0; + consensus.consensus = 0x0; + consensus.revealDate = 0; + emit Reopen(_woid); + return true; + } + + // if sheduler never call finalized ? no incetive to do that. schedulermust be pay also at this time + function finalizeWork(address _woid, string _stdout, string _stderr, string _uri) public onlyOwner /*onlySheduler*/ returns (bool) + { + require(iexecHubInterface.isWoidRegistred(_woid)); + IexecLib.Consensus storage consensus = m_consensus[_woid]; + require(now <= consensus.consensusTimeout); + require((consensus.revealDate <= now && consensus.revealCounter > 0) || (consensus.revealCounter == consensus.winnerCount)); // consensus.winnerCount never 0 at this step + + // add penalized to the call worker to contribution and they never contribute ? + require(distributeRewards(_woid, consensus)); + + require(iexecHubInterface.finalizeWorkOrder(_woid, _stdout, _stderr, _uri)); + emit FinalizeWork(_woid,_stdout,_stderr,_uri); + return true; + } + + function distributeRewards(address _woid, IexecLib.Consensus _consensus) internal returns (bool) + { + uint256 i; + address w; + uint256 workerBonus; + uint256 workerWeight; + uint256 totalWeight; + uint256 individualWorkerReward; + uint256 totalReward = _consensus.poolReward; + address[] memory contributors = _consensus.contributors; + for (i = 0; i 0); + + // compute how much is going to the workers + uint256 totalWorkersReward = totalReward.percentage(uint256(100).sub(_consensus.schedulerRewardRatioPolicy)); + + for (i = 0; iIexecLib.MarketOrder) public m_orderBook; + + uint256 public constant ASK_STAKE_RATIO = 30; + + /** + * Events + */ + event MarketOrderCreated (uint marketorderIdx); + event MarketOrderClosed (uint marketorderIdx); + event MarketOrderAskConsume(uint marketorderIdx, address requester); + + /** + * Constructor + */ + function Marketplace(address _iexecHubAddress) + IexecHubAccessor(_iexecHubAddress) + public + { + } + + /** + * Market orders + */ + function createMarketOrder( + IexecLib.MarketOrderDirectionEnum _direction, + uint256 _category, + uint256 _trust, + uint256 _value, + address _workerpool, + uint256 _volume) + public returns (uint) + { + require(iexecHubInterface.existingCategory(_category)); + require(_volume >0); + m_orderCount = m_orderCount.add(1); + IexecLib.MarketOrder storage marketorder = m_orderBook[m_orderCount]; + marketorder.direction = _direction; + marketorder.category = _category; + marketorder.trust = _trust; + marketorder.value = _value; + marketorder.volume = _volume; + marketorder.remaining = _volume; + + if (_direction == IexecLib.MarketOrderDirectionEnum.ASK) + { + require(WorkerPool(_workerpool).m_owner() == msg.sender); + + require(iexecHubInterface.lockForOrder(msg.sender, _value.percentage(ASK_STAKE_RATIO).mul(_volume))); // mul must be done after percentage to avoid rounding errors + marketorder.workerpool = _workerpool; + marketorder.workerpoolOwner = msg.sender; + } + else + { + // no BID implementation + revert(); + } + emit MarketOrderCreated(m_orderCount); + return m_orderCount; + } + + function closeMarketOrder(uint256 _marketorderIdx) public returns (bool) + { + IexecLib.MarketOrder storage marketorder = m_orderBook[_marketorderIdx]; + if (marketorder.direction == IexecLib.MarketOrderDirectionEnum.ASK) + { + require(marketorder.workerpoolOwner == msg.sender); + require(iexecHubInterface.unlockForOrder(marketorder.workerpoolOwner, marketorder.value.percentage(ASK_STAKE_RATIO).mul(marketorder.remaining))); // mul must be done after percentage to avoid rounding errors + } + else + { + // no BID implementation + revert(); + } + marketorder.direction = IexecLib.MarketOrderDirectionEnum.CLOSED; + emit MarketOrderClosed(_marketorderIdx); + return true; + } + + + /** + * Assets consumption + */ + function consumeMarketOrderAsk( + uint256 _marketorderIdx, + address _requester, + address _workerpool) + public onlyIexecHub returns (bool) + { + IexecLib.MarketOrder storage marketorder = m_orderBook[_marketorderIdx]; + require(marketorder.direction == IexecLib.MarketOrderDirectionEnum.ASK); + require(marketorder.remaining > 0); + require(marketorder.workerpool == _workerpool); + + marketorder.remaining = marketorder.remaining.sub(1); + if (marketorder.remaining == 0) + { + marketorder.direction = IexecLib.MarketOrderDirectionEnum.CLOSED; + } + require(iexecHubInterface.lockForOrder(_requester, marketorder.value)); + emit MarketOrderAskConsume(_marketorderIdx, _requester); + return true; + } + + function existingMarketOrder(uint256 _marketorderIdx) public view returns (bool marketOrderExist) + { + return m_orderBook[_marketorderIdx].category > 0; + } + + /** + * Views + */ + function getMarketOrderValue(uint256 _marketorderIdx) public view returns (uint256) + { + require(existingMarketOrder(_marketorderIdx)); // no silent value returned + return m_orderBook[_marketorderIdx].value; + } + function getMarketOrderWorkerpoolOwner(uint256 _marketorderIdx) public view returns (address) + { + require(existingMarketOrder(_marketorderIdx)); // no silent value returned + return m_orderBook[_marketorderIdx].workerpoolOwner; + } + function getMarketOrderCategory(uint256 _marketorderIdx) public view returns (uint256) + { + require(existingMarketOrder(_marketorderIdx)); // no silent value returned + return m_orderBook[_marketorderIdx].category; + } + function getMarketOrderTrust(uint256 _marketorderIdx) public view returns (uint256) + { + require(existingMarketOrder(_marketorderIdx)); // no silent value returned + return m_orderBook[_marketorderIdx].trust; + } + function getMarketOrder(uint256 _marketorderIdx) public view returns + ( + IexecLib.MarketOrderDirectionEnum direction, + uint256 category, // runtime selection + uint256 trust, // for PoCo + uint256 value, // value/cost/price + uint256 volume, // quantity of instances (total) + uint256 remaining, // remaining instances + address workerpool, // BID can use null for any + address workerpoolOwner) + { + require(existingMarketOrder(_marketorderIdx)); // no silent value returned + IexecLib.MarketOrder storage marketorder = m_orderBook[_marketorderIdx]; + return ( + marketorder.direction, + marketorder.category, + marketorder.trust, + marketorder.value, + marketorder.volume, + marketorder.remaining, + marketorder.workerpool, + marketorder.workerpoolOwner + ); + } + + /** + * Callback Proof managment + */ + + event WorkOrderCallbackProof(address indexed woid, address requester, address beneficiary,address indexed callbackTo, address indexed gasCallbackProvider,string stdout, string stderr , string uri); + + //mapping(workorder => bool) + mapping(address => bool) m_callbackDone; + + function isCallbackDone(address _woid) public view returns (bool callbackDone) + { + return m_callbackDone[_woid]; + } + + function workOrderCallback(address _woid,string _stdout, string _stderr, string _uri) public + { + require(iexecHubInterface.isWoidRegistred(_woid)); + require(!isCallbackDone(_woid)); + m_callbackDone[_woid] = true; + require(WorkOrder(_woid).m_status() == IexecLib.WorkOrderStatusEnum.COMPLETED); + require(WorkOrder(_woid).m_resultCallbackProof() == keccak256(_stdout,_stderr,_uri)); + address callbackTo =WorkOrder(_woid).m_callback(); + require(callbackTo != address(0)); + require(IexecCallbackInterface(callbackTo).workOrderCallback( + _woid, + _stdout, + _stderr, + _uri + )); + emit WorkOrderCallbackProof(_woid,WorkOrder(_woid).m_requester(),WorkOrder(_woid).m_beneficiary(),callbackTo,tx.origin,_stdout,_stderr,_uri); + } + +} + +pragma solidity ^0.4.21; + +contract App is OwnableOZ, IexecHubAccessor +{ + + /** + * Members + */ + string public m_appName; + uint256 public m_appPrice; + string public m_appParams; + + /** + * Constructor + */ + function App( + address _iexecHubAddress, + string _appName, + uint256 _appPrice, + string _appParams) + IexecHubAccessor(_iexecHubAddress) + public + { + // tx.origin == owner + // msg.sender == DatasetHub + require(tx.origin != msg.sender); + setImmutableOwnership(tx.origin); // owner → tx.origin + + m_appName = _appName; + m_appPrice = _appPrice; + m_appParams = _appParams; + + } + +} + + +pragma solidity ^0.4.21; + +contract AppHub is OwnableOZ // is Owned by IexecHub +{ + + using SafeMathOZ for uint256; + + /** + * Members + */ + mapping(address => uint256) m_appCountByOwner; + mapping(address => mapping(uint256 => address)) m_appByOwnerByIndex; + mapping(address => bool) m_appRegistered; + + mapping(uint256 => address) m_appByIndex; + uint256 public m_totalAppCount; + + /** + * Constructor + */ + function AppHub() public + { + } + + /** + * Methods + */ + function isAppRegistered(address _app) public view returns (bool) + { + return m_appRegistered[_app]; + } + function getAppsCount(address _owner) public view returns (uint256) + { + return m_appCountByOwner[_owner]; + } + function getApp(address _owner, uint256 _index) public view returns (address) + { + return m_appByOwnerByIndex[_owner][_index]; + } + function getAppByIndex(uint256 _index) public view returns (address) + { + return m_appByIndex[_index]; + } + + function addApp(address _owner, address _app) internal + { + uint id = m_appCountByOwner[_owner].add(1); + m_totalAppCount=m_totalAppCount.add(1); + m_appByIndex [m_totalAppCount] = _app; + m_appCountByOwner [_owner] = id; + m_appByOwnerByIndex[_owner][id] = _app; + m_appRegistered [_app] = true; + } + + function createApp( + string _appName, + uint256 _appPrice, + string _appParams) + public onlyOwner /*owner == IexecHub*/ returns (address createdApp) + { + // tx.origin == owner + // msg.sender == IexecHub + address newApp = new App( + msg.sender, + _appName, + _appPrice, + _appParams + ); + addApp(tx.origin, newApp); + return newApp; + } + +} + + +pragma solidity ^0.4.21; + +contract Dataset is OwnableOZ, IexecHubAccessor +{ + + /** + * Members + */ + string public m_datasetName; + uint256 public m_datasetPrice; + string public m_datasetParams; + + /** + * Constructor + */ + function Dataset( + address _iexecHubAddress, + string _datasetName, + uint256 _datasetPrice, + string _datasetParams) + IexecHubAccessor(_iexecHubAddress) + public + { + // tx.origin == owner + // msg.sender == DatasetHub + require(tx.origin != msg.sender); + setImmutableOwnership(tx.origin); // owner → tx.origin + + m_datasetName = _datasetName; + m_datasetPrice = _datasetPrice; + m_datasetParams = _datasetParams; + + } + + +} + +pragma solidity ^0.4.21; + +contract DatasetHub is OwnableOZ // is Owned by IexecHub +{ + using SafeMathOZ for uint256; + + /** + * Members + */ + mapping(address => uint256) m_datasetCountByOwner; + mapping(address => mapping(uint256 => address)) m_datasetByOwnerByIndex; + mapping(address => bool) m_datasetRegistered; + + mapping(uint256 => address) m_datasetByIndex; + uint256 public m_totalDatasetCount; + + + + /** + * Constructor + */ + function DatasetHub() public + { + } + + /** + * Methods + */ + function isDatasetRegistred(address _dataset) public view returns (bool) + { + return m_datasetRegistered[_dataset]; + } + function getDatasetsCount(address _owner) public view returns (uint256) + { + return m_datasetCountByOwner[_owner]; + } + function getDataset(address _owner, uint256 _index) public view returns (address) + { + return m_datasetByOwnerByIndex[_owner][_index]; + } + function getDatasetByIndex(uint256 _index) public view returns (address) + { + return m_datasetByIndex[_index]; + } + + function addDataset(address _owner, address _dataset) internal + { + uint id = m_datasetCountByOwner[_owner].add(1); + m_totalDatasetCount = m_totalDatasetCount.add(1); + m_datasetByIndex [m_totalDatasetCount] = _dataset; + m_datasetCountByOwner [_owner] = id; + m_datasetByOwnerByIndex[_owner][id] = _dataset; + m_datasetRegistered [_dataset] = true; + } + + function createDataset( + string _datasetName, + uint256 _datasetPrice, + string _datasetParams) + public onlyOwner /*owner == IexecHub*/ returns (address createdDataset) + { + // tx.origin == owner + // msg.sender == IexecHub + address newDataset = new Dataset( + msg.sender, + _datasetName, + _datasetPrice, + _datasetParams + ); + addDataset(tx.origin, newDataset); + return newDataset; + } +} + + +pragma solidity ^0.4.21; + +contract WorkerPoolHub is OwnableOZ // is Owned by IexecHub +{ + + using SafeMathOZ for uint256; + + /** + * Members + */ + // worker => workerPool + mapping(address => address) m_workerAffectation; + // owner => index + mapping(address => uint256) m_workerPoolCountByOwner; + // owner => index => workerPool + mapping(address => mapping(uint256 => address)) m_workerPoolByOwnerByIndex; + // workerPool => owner // stored in the workerPool + /* mapping(address => address) m_ownerByWorkerPool; */ + mapping(address => bool) m_workerPoolRegistered; + + mapping(uint256 => address) m_workerPoolByIndex; + uint256 public m_totalWorkerPoolCount; + + + + /** + * Constructor + */ + function WorkerPoolHub() public + { + } + + /** + * Methods + */ + function isWorkerPoolRegistered(address _workerPool) public view returns (bool) + { + return m_workerPoolRegistered[_workerPool]; + } + function getWorkerPoolsCount(address _owner) public view returns (uint256) + { + return m_workerPoolCountByOwner[_owner]; + } + function getWorkerPool(address _owner, uint256 _index) public view returns (address) + { + return m_workerPoolByOwnerByIndex[_owner][_index]; + } + function getWorkerPoolByIndex(uint256 _index) public view returns (address) + { + return m_workerPoolByIndex[_index]; + } + function getWorkerAffectation(address _worker) public view returns (address workerPool) + { + return m_workerAffectation[_worker]; + } + + function addWorkerPool(address _owner, address _workerPool) internal + { + uint id = m_workerPoolCountByOwner[_owner].add(1); + m_totalWorkerPoolCount = m_totalWorkerPoolCount.add(1); + m_workerPoolByIndex [m_totalWorkerPoolCount] = _workerPool; + m_workerPoolCountByOwner [_owner] = id; + m_workerPoolByOwnerByIndex[_owner][id] = _workerPool; + m_workerPoolRegistered [_workerPool] = true; + } + + function createWorkerPool( + string _description, + uint256 _subscriptionLockStakePolicy, + uint256 _subscriptionMinimumStakePolicy, + uint256 _subscriptionMinimumScorePolicy, + address _marketplaceAddress) + external onlyOwner /*owner == IexecHub*/ returns (address createdWorkerPool) + { + // tx.origin == owner + // msg.sender == IexecHub + // At creating ownership is transfered to tx.origin + address newWorkerPool = new WorkerPool( + msg.sender, // iexecHubAddress + _description, + _subscriptionLockStakePolicy, + _subscriptionMinimumStakePolicy, + _subscriptionMinimumScorePolicy, + _marketplaceAddress + ); + addWorkerPool(tx.origin, newWorkerPool); + return newWorkerPool; + } + + function registerWorkerAffectation(address _workerPool, address _worker) public onlyOwner /*owner == IexecHub*/ returns (bool subscribed) + { + // you must have no cuurent affectation on others worker Pool + require(m_workerAffectation[_worker] == address(0)); + m_workerAffectation[_worker] = _workerPool; + return true; + } + + function unregisterWorkerAffectation(address _workerPool, address _worker) public onlyOwner /*owner == IexecHub*/ returns (bool unsubscribed) + { + require(m_workerAffectation[_worker] == _workerPool); + m_workerAffectation[_worker] = address(0); + return true; + } +} + + +pragma solidity ^0.4.21; + +/** + * @title IexecHub + */ + +contract IexecHub +{ + using SafeMathOZ for uint256; + + /** + * RLC contract for token transfers. + */ + RLC public rlc; + + uint256 public constant STAKE_BONUS_RATIO = 10; + uint256 public constant STAKE_BONUS_MIN_THRESHOLD = 1000; + uint256 public constant SCORE_UNITARY_SLASH = 50; + + /** + * Slaves contracts + */ + AppHub public appHub; + DatasetHub public datasetHub; + WorkerPoolHub public workerPoolHub; + + /** + * Market place + */ + Marketplace public marketplace; + modifier onlyMarketplace() + { + require(msg.sender == address(marketplace)); + _; + } + /** + * Categories + */ + mapping(uint256 => IexecLib.Category) public m_categories; + uint256 public m_categoriesCount; + address public m_categoriesCreator; + modifier onlyCategoriesCreator() + { + require(msg.sender == m_categoriesCreator); + _; + } + + /** + * Escrow + */ + mapping(address => IexecLib.Account) public m_accounts; + + + /** + * workOrder Registered + */ + mapping(address => bool) public m_woidRegistered; + modifier onlyRegisteredWoid(address _woid) + { + require(m_woidRegistered[_woid]); + _; + } + + /** + * Reputation for PoCo + */ + mapping(address => uint256) public m_scores; + IexecLib.ContributionHistory public m_contributionHistory; + + + event WorkOrderActivated(address woid, address indexed workerPool); + event WorkOrderClaimed (address woid, address workerPool); + event WorkOrderCompleted(address woid, address workerPool); + + event CreateApp (address indexed appOwner, address indexed app, string appName, uint256 appPrice, string appParams ); + event CreateDataset (address indexed datasetOwner, address indexed dataset, string datasetName, uint256 datasetPrice, string datasetParams); + event CreateWorkerPool(address indexed workerPoolOwner, address indexed workerPool, string workerPoolDescription ); + + event CreateCategory (uint256 catid, string name, string description, uint256 workClockTimeRef); + + event WorkerPoolSubscription (address indexed workerPool, address worker); + event WorkerPoolUnsubscription(address indexed workerPool, address worker); + event WorkerPoolEviction (address indexed workerPool, address worker); + + event AccurateContribution(address woid, address indexed worker); + event FaultyContribution (address woid, address indexed worker); + + event Deposit (address owner, uint256 amount); + event Withdraw(address owner, uint256 amount); + event Reward (address user, uint256 amount); + event Seize (address user, uint256 amount); + + /** + * Constructor + */ + function IexecHub() + public + { + m_categoriesCreator = msg.sender; + } + + function attachContracts( + address _tokenAddress, + address _marketplaceAddress, + address _workerPoolHubAddress, + address _appHubAddress, + address _datasetHubAddress) + public onlyCategoriesCreator + { + require(address(rlc) == address(0)); + rlc = RLC (_tokenAddress ); + marketplace = Marketplace (_marketplaceAddress ); + workerPoolHub = WorkerPoolHub(_workerPoolHubAddress); + appHub = AppHub (_appHubAddress ); + datasetHub = DatasetHub (_datasetHubAddress ); + + } + + function setCategoriesCreator(address _categoriesCreator) + public onlyCategoriesCreator + { + m_categoriesCreator = _categoriesCreator; + } + /** + * Factory + */ + + function createCategory( + string _name, + string _description, + uint256 _workClockTimeRef) + public onlyCategoriesCreator returns (uint256 catid) + { + m_categoriesCount = m_categoriesCount.add(1); + IexecLib.Category storage category = m_categories[m_categoriesCount]; + category.catid = m_categoriesCount; + category.name = _name; + category.description = _description; + category.workClockTimeRef = _workClockTimeRef; + emit CreateCategory(m_categoriesCount, _name, _description, _workClockTimeRef); + return m_categoriesCount; + } + + function createWorkerPool( + string _description, + uint256 _subscriptionLockStakePolicy, + uint256 _subscriptionMinimumStakePolicy, + uint256 _subscriptionMinimumScorePolicy) + external returns (address createdWorkerPool) + { + address newWorkerPool = workerPoolHub.createWorkerPool( + _description, + _subscriptionLockStakePolicy, + _subscriptionMinimumStakePolicy, + _subscriptionMinimumScorePolicy, + address(marketplace) + ); + emit CreateWorkerPool(tx.origin, newWorkerPool, _description); + return newWorkerPool; + } + + function createApp( + string _appName, + uint256 _appPrice, + string _appParams) + external returns (address createdApp) + { + address newApp = appHub.createApp( + _appName, + _appPrice, + _appParams + ); + emit CreateApp(tx.origin, newApp, _appName, _appPrice, _appParams); + return newApp; + } + + function createDataset( + string _datasetName, + uint256 _datasetPrice, + string _datasetParams) + external returns (address createdDataset) + { + address newDataset = datasetHub.createDataset( + _datasetName, + _datasetPrice, + _datasetParams + ); + emit CreateDataset(tx.origin, newDataset, _datasetName, _datasetPrice, _datasetParams); + return newDataset; + } + + /** + * WorkOrder Emission + */ + function buyForWorkOrder( + uint256 _marketorderIdx, + address _workerpool, + address _app, + address _dataset, + string _params, + address _callback, + address _beneficiary) + external returns (address) + { + address requester = msg.sender; + require(marketplace.consumeMarketOrderAsk(_marketorderIdx, requester, _workerpool)); + + uint256 emitcost = lockWorkOrderCost(requester, _workerpool, _app, _dataset); + + WorkOrder workorder = new WorkOrder( + _marketorderIdx, + requester, + _app, + _dataset, + _workerpool, + emitcost, + _params, + _callback, + _beneficiary + ); + + m_woidRegistered[workorder] = true; + + require(WorkerPool(_workerpool).emitWorkOrder(workorder, _marketorderIdx)); + + emit WorkOrderActivated(workorder, _workerpool); + return workorder; + } + + function isWoidRegistred(address _woid) public view returns (bool) + { + return m_woidRegistered[_woid]; + } + + function lockWorkOrderCost( + address _requester, + address _workerpool, // Address of a smartcontract + address _app, // Address of a smartcontract + address _dataset) // Address of a smartcontract + internal returns (uint256) + { + // APP + App app = App(_app); + require(appHub.isAppRegistered (_app)); + // initialize usercost with dapp price + uint256 emitcost = app.m_appPrice(); + + // DATASET + if (_dataset != address(0)) // address(0) → no dataset + { + Dataset dataset = Dataset(_dataset); + require(datasetHub.isDatasetRegistred(_dataset)); + // add optional datasetPrice for userCost + emitcost = emitcost.add(dataset.m_datasetPrice()); + } + + // WORKERPOOL + require(workerPoolHub.isWorkerPoolRegistered(_workerpool)); + + require(lock(_requester, emitcost)); // Lock funds for app + dataset payment + + return emitcost; + } + + /** + * WorkOrder life cycle + */ + + function claimFailedConsensus(address _woid) + public onlyRegisteredWoid(_woid) returns (bool) + { + WorkOrder workorder = WorkOrder(_woid); + require(workorder.m_requester() == msg.sender); + WorkerPool workerpool = WorkerPool(workorder.m_workerpool()); + + IexecLib.WorkOrderStatusEnum currentStatus = workorder.m_status(); + require(currentStatus == IexecLib.WorkOrderStatusEnum.ACTIVE || currentStatus == IexecLib.WorkOrderStatusEnum.REVEALING); + // Unlock stakes for all workers + require(workerpool.claimFailedConsensus(_woid)); + workorder.claim(); // revert on error + + /* uint256 value = marketplace.getMarketOrderValue(workorder.m_marketorderIdx()); // revert if not exist */ + /* address workerpoolOwner = marketplace.getMarketOrderWorkerpoolOwner(workorder.m_marketorderIdx()); // revert if not exist */ + uint256 value; + address workerpoolOwner; + (,,,value,,,,workerpoolOwner) = marketplace.getMarketOrder(workorder.m_marketorderIdx()); // Single call cost less gas + uint256 workerpoolStake = value.percentage(marketplace.ASK_STAKE_RATIO()); + + require(unlock (workorder.m_requester(), value.add(workorder.m_emitcost()))); // UNLOCK THE FUNDS FOR REINBURSEMENT + require(seize (workerpoolOwner, workerpoolStake)); + // put workerpoolOwner stake seize into iexecHub address for bonus for scheduler on next well finalized Task + require(reward (this, workerpoolStake)); + require(lock (this, workerpoolStake)); + + emit WorkOrderClaimed(_woid, workorder.m_workerpool()); + return true; + } + + function finalizeWorkOrder( + address _woid, + string _stdout, + string _stderr, + string _uri) + public onlyRegisteredWoid(_woid) returns (bool) + { + WorkOrder workorder = WorkOrder(_woid); + require(workorder.m_workerpool() == msg.sender); + require(workorder.m_status() == IexecLib.WorkOrderStatusEnum.REVEALING); + + // APP + App app = App(workorder.m_app()); + uint256 appPrice = app.m_appPrice(); + if (appPrice > 0) + { + require(reward(app.m_owner(), appPrice)); + } + + // DATASET + Dataset dataset = Dataset(workorder.m_dataset()); + if (dataset != address(0)) + { + uint256 datasetPrice = dataset.m_datasetPrice(); + if (datasetPrice > 0) + { + require(reward(dataset.m_owner(), datasetPrice)); + } + } + + // WORKERPOOL → rewarding done by the caller itself + + /** + * seize stacked funds from requester. + * reward = value: was locked at market making + * emitcost: was locked at when emiting the workorder + */ + /* uint256 value = marketplace.getMarketOrderValue(workorder.m_marketorderIdx()); // revert if not exist */ + /* address workerpoolOwner = marketplace.getMarketOrderWorkerpoolOwner(workorder.m_marketorderIdx()); // revert if not exist */ + uint256 value; + address workerpoolOwner; + (,,,value,,,,workerpoolOwner) = marketplace.getMarketOrder(workorder.m_marketorderIdx()); // Single call cost less gas + uint256 workerpoolStake = value.percentage(marketplace.ASK_STAKE_RATIO()); + + require(seize (workorder.m_requester(), value.add(workorder.m_emitcost()))); // seize funds for payment (market value + emitcost) + require(unlock(workerpoolOwner, workerpoolStake)); // unlock scheduler stake + + // write results + workorder.setResult(_stdout, _stderr, _uri); // revert on error + + // Rien ne se perd, rien ne se crée, tout se transfere + // distribute bonus to scheduler. jackpot bonus come from scheduler stake loose on IexecHub contract + // we reuse the varaible value for the kitty / fraction of the kitty (stack too deep) + /* (,value) = checkBalance(this); // kitty is locked on `this` wallet */ + value = m_accounts[this].locked; // kitty is locked on `this` wallet + if(value > 0) + { + value = value.min(value.percentage(STAKE_BONUS_RATIO).max(STAKE_BONUS_MIN_THRESHOLD)); + require(seize(this, value)); + require(reward(workerpoolOwner, value)); + } + + emit WorkOrderCompleted(_woid, workorder.m_workerpool()); + return true; + } + + /** + * Views + */ + function getCategoryWorkClockTimeRef(uint256 _catId) public view returns (uint256 workClockTimeRef) + { + require(existingCategory(_catId)); + return m_categories[_catId].workClockTimeRef; + } + + function existingCategory(uint256 _catId) public view returns (bool categoryExist) + { + return m_categories[_catId].catid > 0; + } + + function getCategory(uint256 _catId) public view returns (uint256 catid, string name, string description, uint256 workClockTimeRef) + { + require(existingCategory(_catId)); + return ( + m_categories[_catId].catid, + m_categories[_catId].name, + m_categories[_catId].description, + m_categories[_catId].workClockTimeRef + ); + } + + function getWorkerStatus(address _worker) public view returns (address workerPool, uint256 workerScore) + { + return (workerPoolHub.getWorkerAffectation(_worker), m_scores[_worker]); + } + + function getWorkerScore(address _worker) public view returns (uint256 workerScore) + { + return m_scores[_worker]; + } + + /** + * Worker subscription + */ + function registerToPool(address _worker) public returns (bool subscribed) + // msg.sender = workerPool + { + WorkerPool workerpool = WorkerPool(msg.sender); + // Check credentials + require(workerPoolHub.isWorkerPoolRegistered(msg.sender)); + // Lock worker deposit + require(lock(_worker, workerpool.m_subscriptionLockStakePolicy())); + // Check subscription policy + require(m_accounts[_worker].stake >= workerpool.m_subscriptionMinimumStakePolicy()); + require(m_scores[_worker] >= workerpool.m_subscriptionMinimumScorePolicy()); + // Update affectation + require(workerPoolHub.registerWorkerAffectation(msg.sender, _worker)); + // Trigger event notice + emit WorkerPoolSubscription(msg.sender, _worker); + return true; + } + + function unregisterFromPool(address _worker) public returns (bool unsubscribed) + // msg.sender = workerPool + { + require(removeWorker(msg.sender, _worker)); + // Trigger event notice + emit WorkerPoolUnsubscription(msg.sender, _worker); + return true; + } + + function evictWorker(address _worker) public returns (bool unsubscribed) + // msg.sender = workerpool + { + require(removeWorker(msg.sender, _worker)); + // Trigger event notice + emit WorkerPoolEviction(msg.sender, _worker); + return true; + } + + function removeWorker(address _workerpool, address _worker) internal returns (bool unsubscribed) + { + WorkerPool workerpool = WorkerPool(_workerpool); + // Check credentials + require(workerPoolHub.isWorkerPoolRegistered(_workerpool)); + // Unlick worker stake + require(unlock(_worker, workerpool.m_subscriptionLockStakePolicy())); + // Update affectation + require(workerPoolHub.unregisterWorkerAffectation(_workerpool, _worker)); + return true; + } + + /** + * Stake, reward and penalty functions + */ + /* Marketplace */ + function lockForOrder(address _user, uint256 _amount) public onlyMarketplace returns (bool) + { + require(lock(_user, _amount)); + return true; + } + function unlockForOrder(address _user, uint256 _amount) public onlyMarketplace returns (bool) + { + require(unlock(_user, _amount)); + return true; + } + /* Work */ + function lockForWork(address _woid, address _user, uint256 _amount) public onlyRegisteredWoid(_woid) returns (bool) + { + require(WorkOrder(_woid).m_workerpool() == msg.sender); + require(lock(_user, _amount)); + return true; + } + function unlockForWork(address _woid, address _user, uint256 _amount) public onlyRegisteredWoid(_woid) returns (bool) + { + require(WorkOrder(_woid).m_workerpool() == msg.sender); + require(unlock(_user, _amount)); + return true; + } + function rewardForWork(address _woid, address _worker, uint256 _amount, bool _reputation) public onlyRegisteredWoid(_woid) returns (bool) + { + require(WorkOrder(_woid).m_workerpool() == msg.sender); + require(reward(_worker, _amount)); + if (_reputation) + { + m_contributionHistory.success = m_contributionHistory.success.add(1); + m_scores[_worker] = m_scores[_worker].add(1); + emit AccurateContribution(_woid, _worker); + } + return true; + } + function seizeForWork(address _woid, address _worker, uint256 _amount, bool _reputation) public onlyRegisteredWoid(_woid) returns (bool) + { + require(WorkOrder(_woid).m_workerpool() == msg.sender); + require(seize(_worker, _amount)); + if (_reputation) + { + m_contributionHistory.failed = m_contributionHistory.failed.add(1); + m_scores[_worker] = m_scores[_worker].sub(m_scores[_worker].min(SCORE_UNITARY_SLASH)); + emit FaultyContribution(_woid, _worker); + } + return true; + } + /** + * Wallet methods: public + */ + function deposit(uint256 _amount) external returns (bool) + { + require(rlc.transferFrom(msg.sender, address(this), _amount)); + m_accounts[msg.sender].stake = m_accounts[msg.sender].stake.add(_amount); + emit Deposit(msg.sender, _amount); + return true; + } + function withdraw(uint256 _amount) external returns (bool) + { + m_accounts[msg.sender].stake = m_accounts[msg.sender].stake.sub(_amount); + require(rlc.transfer(msg.sender, _amount)); + emit Withdraw(msg.sender, _amount); + return true; + } + function checkBalance(address _owner) public view returns (uint256 stake, uint256 locked) + { + return (m_accounts[_owner].stake, m_accounts[_owner].locked); + } + /** + * Wallet methods: Internal + */ + function reward(address _user, uint256 _amount) internal returns (bool) + { + m_accounts[_user].stake = m_accounts[_user].stake.add(_amount); + emit Reward(_user, _amount); + return true; + } + function seize(address _user, uint256 _amount) internal returns (bool) + { + m_accounts[_user].locked = m_accounts[_user].locked.sub(_amount); + emit Seize(_user, _amount); + return true; + } + function lock(address _user, uint256 _amount) internal returns (bool) + { + m_accounts[_user].stake = m_accounts[_user].stake.sub(_amount); + m_accounts[_user].locked = m_accounts[_user].locked.add(_amount); + return true; + } + function unlock(address _user, uint256 _amount) internal returns (bool) + { + m_accounts[_user].locked = m_accounts[_user].locked.sub(_amount); + m_accounts[_user].stake = m_accounts[_user].stake.add(_amount); + return true; + } +} diff --git a/contractsCompacted/Marketplace.sol b/contractsCompacted/Marketplace.sol new file mode 100644 index 00000000..72606cc1 --- /dev/null +++ b/contractsCompacted/Marketplace.sol @@ -0,0 +1,2344 @@ +//v1.0.14 +//License: Apache2.0 +pragma solidity ^0.4.21; + +library IexecLib +{ + /***************************************************************************/ + /* Market Order */ + /***************************************************************************/ + enum MarketOrderDirectionEnum + { + UNSET, + BID, + ASK, + CLOSED + } + struct MarketOrder + { + MarketOrderDirectionEnum direction; + uint256 category; // runtime selection + uint256 trust; // for PoCo + uint256 value; // value/cost/price + uint256 volume; // quantity of instances (total) + uint256 remaining; // remaining instances + address workerpool; // BID can use null for any + address workerpoolOwner; // fix ownership if workerpool ownership change during the workorder steps + } + + /***************************************************************************/ + /* Work Order */ + /***************************************************************************/ + enum WorkOrderStatusEnum + { + UNSET, // Work order not yet initialized (invalid address) + ACTIVE, // Marketed → constributions are open + REVEALING, // Starting consensus reveal + CLAIMED, // failed consensus + COMPLETED // Concensus achieved + } + + /***************************************************************************/ + /* Consensus */ + /* --- */ + /* used in WorkerPool.sol */ + /***************************************************************************/ + struct Consensus + { + uint256 poolReward; + uint256 stakeAmount; + bytes32 consensus; + uint256 revealDate; + uint256 revealCounter; + uint256 consensusTimeout; + uint256 winnerCount; + address[] contributors; + address workerpoolOwner; + uint256 schedulerRewardRatioPolicy; + + } + + /***************************************************************************/ + /* Contribution */ + /* --- */ + /* used in WorkerPool.sol */ + /***************************************************************************/ + enum ContributionStatusEnum + { + UNSET, + AUTHORIZED, + CONTRIBUTED, + PROVED, + REJECTED + } + struct Contribution + { + ContributionStatusEnum status; + bytes32 resultHash; + bytes32 resultSign; + address enclaveChallenge; + uint256 score; + uint256 weight; + } + + /***************************************************************************/ + /* Account / ContributionHistory / Category */ + /* --- */ + /* used in IexecHub.sol */ + /***************************************************************************/ + struct Account + { + uint256 stake; + uint256 locked; + } + + struct ContributionHistory // for credibility computation, f = failed/total + { + uint256 success; + uint256 failed; + } + + struct Category + { + uint256 catid; + string name; + string description; + uint256 workClockTimeRef; + } + +} + + +pragma solidity ^0.4.8; + +contract TokenSpender { + function receiveApproval(address _from, uint256 _value, address _token, bytes _extraData); +} + +pragma solidity ^0.4.8; + +contract ERC20 { + uint public totalSupply; + function balanceOf(address who) constant returns (uint); + function allowance(address owner, address spender) constant returns (uint); + + function transfer(address to, uint value) returns (bool ok); + function transferFrom(address from, address to, uint value) returns (bool ok); + function approve(address spender, uint value) returns (bool ok); + event Transfer(address indexed from, address indexed to, uint value); + event Approval(address indexed owner, address indexed spender, uint value); +} + +pragma solidity ^0.4.21; + + +/** + * @title SafeMath + * @dev Math operations with safety checks that throw on error + * last open zepplin version used for : add sub mul div function : https://github.com/OpenZeppelin/zeppelin-solidity/blob/master/contracts/math/SafeMath.sol +* commit : https://github.com/OpenZeppelin/zeppelin-solidity/commit/815d9e1f457f57cfbb1b4e889f2255c9a517f661 + */ +library SafeMathOZ +{ + function add(uint256 a, uint256 b) internal pure returns (uint256) + { + uint256 c = a + b; + assert(c >= a); + return c; + } + + function sub(uint256 a, uint256 b) internal pure returns (uint256) + { + assert(b <= a); + return a - b; + } + + function mul(uint256 a, uint256 b) internal pure returns (uint256) + { + if (a == 0) + { + return 0; + } + uint256 c = a * b; + assert(c / a == b); + return c; + } + + function div(uint256 a, uint256 b) internal pure returns (uint256) + { + // assert(b > 0); // Solidity automatically throws when dividing by 0 + uint256 c = a / b; + // assert(a == b * c + a % b); // There is no case in which this doesn't hold + return c; + } + + function max(uint256 a, uint256 b) internal pure returns (uint256) + { + return a >= b ? a : b; + } + + function min(uint256 a, uint256 b) internal pure returns (uint256) + { + return a < b ? a : b; + } + + function mulByFraction(uint256 a, uint256 b, uint256 c) internal pure returns (uint256) + { + return div(mul(a, b), c); + } + + function percentage(uint256 a, uint256 b) internal pure returns (uint256) + { + return mulByFraction(a, b, 100); + } + // Source : https://ethereum.stackexchange.com/questions/8086/logarithm-math-operation-in-solidity + function log(uint x) internal pure returns (uint y) + { + assembly + { + let arg := x + x := sub(x,1) + x := or(x, div(x, 0x02)) + x := or(x, div(x, 0x04)) + x := or(x, div(x, 0x10)) + x := or(x, div(x, 0x100)) + x := or(x, div(x, 0x10000)) + x := or(x, div(x, 0x100000000)) + x := or(x, div(x, 0x10000000000000000)) + x := or(x, div(x, 0x100000000000000000000000000000000)) + x := add(x, 1) + let m := mload(0x40) + mstore(m, 0xf8f9cbfae6cc78fbefe7cdc3a1793dfcf4f0e8bbd8cec470b6a28a7a5a3e1efd) + mstore(add(m,0x20), 0xf5ecf1b3e9debc68e1d9cfabc5997135bfb7a7a3938b7b606b5b4b3f2f1f0ffe) + mstore(add(m,0x40), 0xf6e4ed9ff2d6b458eadcdf97bd91692de2d4da8fd2d0ac50c6ae9a8272523616) + mstore(add(m,0x60), 0xc8c0b887b0a8a4489c948c7f847c6125746c645c544c444038302820181008ff) + mstore(add(m,0x80), 0xf7cae577eec2a03cf3bad76fb589591debb2dd67e0aa9834bea6925f6a4a2e0e) + mstore(add(m,0xa0), 0xe39ed557db96902cd38ed14fad815115c786af479b7e83247363534337271707) + mstore(add(m,0xc0), 0xc976c13bb96e881cb166a933a55e490d9d56952b8d4e801485467d2362422606) + mstore(add(m,0xe0), 0x753a6d1b65325d0c552a4d1345224105391a310b29122104190a110309020100) + mstore(0x40, add(m, 0x100)) + let magic := 0x818283848586878898a8b8c8d8e8f929395969799a9b9d9e9faaeb6bedeeff + let shift := 0x100000000000000000000000000000000000000000000000000000000000000 + let a := div(mul(x, magic), shift) + y := div(mload(add(m,sub(255,a))), shift) + y := add(y, mul(256, gt(arg, 0x8000000000000000000000000000000000000000000000000000000000000000))) + } + } +} + + +pragma solidity ^0.4.8; + +contract SafeMath { + function safeMul(uint a, uint b) internal returns (uint) { + uint c = a * b; + assert(a == 0 || c / a == b); + return c; + } + + function safeDiv(uint a, uint b) internal returns (uint) { + assert(b > 0); + uint c = a / b; + assert(a == b * c + a % b); + return c; + } + + function safeSub(uint a, uint b) internal returns (uint) { + assert(b <= a); + return a - b; + } + + function safeAdd(uint a, uint b) internal returns (uint) { + uint c = a + b; + assert(c>=a && c>=b); + return c; + } + + function max64(uint64 a, uint64 b) internal constant returns (uint64) { + return a >= b ? a : b; + } + + function min64(uint64 a, uint64 b) internal constant returns (uint64) { + return a < b ? a : b; + } + + function max256(uint256 a, uint256 b) internal constant returns (uint256) { + return a >= b ? a : b; + } + + function min256(uint256 a, uint256 b) internal constant returns (uint256) { + return a < b ? a : b; + } + + function assert(bool assertion) internal { + if (!assertion) { + throw; + } + } +} + + +pragma solidity ^0.4.21; + +/** + * @title Ownable + * @dev The Ownable contract has an owner address, and provides basic authorization control + * functions, this simplifies the implementation of "user permissions". + */ +contract OwnableOZ +{ + address public m_owner; + bool public m_changeable; + + event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); + + /** + * @dev Throws if called by any account other than the owner. + */ + modifier onlyOwner() + { + require(msg.sender == m_owner); + _; + } + + /** + * @dev The Ownable constructor sets the original `owner` of the contract to the sender + * account. + */ + function OwnableOZ() public + { + m_owner = msg.sender; + m_changeable = true; + } + + /** + * @dev Allows the current owner to transfer control of the contract to a newOwner. + * @param _newOwner The address to transfer ownership to. + */ + function setImmutableOwnership(address _newOwner) public onlyOwner + { + require(m_changeable); + require(_newOwner != address(0)); + emit OwnershipTransferred(m_owner, _newOwner); + m_owner = _newOwner; + m_changeable = false; + } + +} + + +pragma solidity ^0.4.8; + +contract Ownable { + address public owner; + + function Ownable() { + owner = msg.sender; + } + + modifier onlyOwner() { + if (msg.sender == owner) + _; + } + + function transferOwnership(address newOwner) onlyOwner { + if (newOwner != address(0)) owner = newOwner; + } + +} + + + +pragma solidity ^0.4.8; + +contract RLC is ERC20, SafeMath, Ownable { + + /* Public variables of the token */ + string public name; //fancy name + string public symbol; + uint8 public decimals; //How many decimals to show. + string public version = 'v0.1'; + uint public initialSupply; + uint public totalSupply; + bool public locked; + //uint public unlockBlock; + + mapping(address => uint) balances; + mapping (address => mapping (address => uint)) allowed; + + // lock transfer during the ICO + modifier onlyUnlocked() { + if (msg.sender != owner && locked) throw; + _; + } + + /* + * The RLC Token created with the time at which the crowdsale end + */ + + function RLC() { + // lock the transfer function during the crowdsale + locked = true; + //unlockBlock= now + 45 days; // (testnet) - for mainnet put the block number + + initialSupply = 87000000000000000; + totalSupply = initialSupply; + balances[msg.sender] = initialSupply;// Give the creator all initial tokens + name = 'iEx.ec Network Token'; // Set the name for display purposes + symbol = 'RLC'; // Set the symbol for display purposes + decimals = 9; // Amount of decimals for display purposes + } + + function unlock() onlyOwner { + locked = false; + } + + function burn(uint256 _value) returns (bool){ + balances[msg.sender] = safeSub(balances[msg.sender], _value) ; + totalSupply = safeSub(totalSupply, _value); + Transfer(msg.sender, 0x0, _value); + return true; + } + + function transfer(address _to, uint _value) onlyUnlocked returns (bool) { + balances[msg.sender] = safeSub(balances[msg.sender], _value); + balances[_to] = safeAdd(balances[_to], _value); + Transfer(msg.sender, _to, _value); + return true; + } + + function transferFrom(address _from, address _to, uint _value) onlyUnlocked returns (bool) { + var _allowance = allowed[_from][msg.sender]; + + balances[_to] = safeAdd(balances[_to], _value); + balances[_from] = safeSub(balances[_from], _value); + allowed[_from][msg.sender] = safeSub(_allowance, _value); + Transfer(_from, _to, _value); + return true; + } + + function balanceOf(address _owner) constant returns (uint balance) { + return balances[_owner]; + } + + function approve(address _spender, uint _value) returns (bool) { + allowed[msg.sender][_spender] = _value; + Approval(msg.sender, _spender, _value); + return true; + } + + /* Approve and then comunicate the approved contract in a single tx */ + function approveAndCall(address _spender, uint256 _value, bytes _extraData){ + TokenSpender spender = TokenSpender(_spender); + if (approve(_spender, _value)) { + spender.receiveApproval(msg.sender, _value, this, _extraData); + } + } + + function allowance(address _owner, address _spender) constant returns (uint remaining) { + return allowed[_owner][_spender]; + } + +} + + + +pragma solidity ^0.4.21; + +contract IexecHubInterface +{ + RLC public rlc; + + function attachContracts( + address _tokenAddress, + address _marketplaceAddress, + address _workerPoolHubAddress, + address _appHubAddress, + address _datasetHubAddress) + public; + + function setCategoriesCreator( + address _categoriesCreator) + public; + + function createCategory( + string _name, + string _description, + uint256 _workClockTimeRef) + public returns (uint256 catid); + + function createWorkerPool( + string _description, + uint256 _subscriptionLockStakePolicy, + uint256 _subscriptionMinimumStakePolicy, + uint256 _subscriptionMinimumScorePolicy) + external returns (address createdWorkerPool); + + function createApp( + string _appName, + uint256 _appPrice, + string _appParams) + external returns (address createdApp); + + function createDataset( + string _datasetName, + uint256 _datasetPrice, + string _datasetParams) + external returns (address createdDataset); + + function buyForWorkOrder( + uint256 _marketorderIdx, + address _workerpool, + address _app, + address _dataset, + string _params, + address _callback, + address _beneficiary) + external returns (address); + + function isWoidRegistred( + address _woid) + public view returns (bool); + + function lockWorkOrderCost( + address _requester, + address _workerpool, // Address of a smartcontract + address _app, // Address of a smartcontract + address _dataset) // Address of a smartcontract + internal returns (uint256); + + function claimFailedConsensus( + address _woid) + public returns (bool); + + function finalizeWorkOrder( + address _woid, + string _stdout, + string _stderr, + string _uri) + public returns (bool); + + function getCategoryWorkClockTimeRef( + uint256 _catId) + public view returns (uint256 workClockTimeRef); + + function existingCategory( + uint256 _catId) + public view returns (bool categoryExist); + + function getCategory( + uint256 _catId) + public view returns (uint256 catid, string name, string description, uint256 workClockTimeRef); + + function getWorkerStatus( + address _worker) + public view returns (address workerPool, uint256 workerScore); + + function getWorkerScore(address _worker) public view returns (uint256 workerScore); + + function registerToPool(address _worker) public returns (bool subscribed); + + function unregisterFromPool(address _worker) public returns (bool unsubscribed); + + function evictWorker(address _worker) public returns (bool unsubscribed); + + function removeWorker(address _workerpool, address _worker) internal returns (bool unsubscribed); + + function lockForOrder(address _user, uint256 _amount) public returns (bool); + + function unlockForOrder(address _user, uint256 _amount) public returns (bool); + + function lockForWork(address _woid, address _user, uint256 _amount) public returns (bool); + + function unlockForWork(address _woid, address _user, uint256 _amount) public returns (bool); + + function rewardForWork(address _woid, address _worker, uint256 _amount, bool _reputation) public returns (bool); + + function seizeForWork(address _woid, address _worker, uint256 _amount, bool _reputation) public returns (bool); + + function deposit(uint256 _amount) external returns (bool); + + function withdraw(uint256 _amount) external returns (bool); + + function checkBalance(address _owner) public view returns (uint256 stake, uint256 locked); + + function reward(address _user, uint256 _amount) internal returns (bool); + + function seize(address _user, uint256 _amount) internal returns (bool); + + function lock(address _user, uint256 _amount) internal returns (bool); + + function unlock(address _user, uint256 _amount) internal returns (bool); +} + + + +pragma solidity ^0.4.21; + + +contract IexecHubAccessor +{ + IexecHubInterface internal iexecHubInterface; + + modifier onlyIexecHub() + { + require(msg.sender == address(iexecHubInterface)); + _; + } + + function IexecHubAccessor(address _iexecHubAddress) public + { + require(_iexecHubAddress != address(0)); + iexecHubInterface = IexecHubInterface(_iexecHubAddress); + } + +} + + +pragma solidity ^0.4.21; + +contract MarketplaceInterface +{ + function createMarketOrder( + IexecLib.MarketOrderDirectionEnum _direction, + uint256 _category, + uint256 _trust, + uint256 _value, + address _workerpool, + uint256 _volume) + public returns (uint); + + function closeMarketOrder( + uint256 _marketorderIdx) + public returns (bool); + + function getMarketOrderValue( + uint256 _marketorderIdx) + public view returns(uint256); + + function getMarketOrderWorkerpoolOwner( + uint256 _marketorderIdx) + public view returns(address); + + function getMarketOrderCategory( + uint256 _marketorderIdx) + public view returns (uint256); + + function getMarketOrderTrust( + uint256 _marketorderIdx) + public view returns(uint256); + + function getMarketOrder( + uint256 _marketorderIdx) + public view returns( + IexecLib.MarketOrderDirectionEnum direction, + uint256 category, // runtime selection + uint256 trust, // for PoCo + uint256 value, // value/cost/price + uint256 volume, // quantity of instances (total) + uint256 remaining, // remaining instances + address workerpool); // BID can use null for any +} + + +pragma solidity ^0.4.21; + +contract MarketplaceAccessor +{ + address internal marketplaceAddress; + MarketplaceInterface internal marketplaceInterface; +/* not used + modifier onlyMarketplace() + { + require(msg.sender == marketplaceAddress); + _; + }*/ + + function MarketplaceAccessor(address _marketplaceAddress) public + { + require(_marketplaceAddress != address(0)); + marketplaceAddress = _marketplaceAddress; + marketplaceInterface = MarketplaceInterface(_marketplaceAddress); + } +} + +pragma solidity ^0.4.21; + +contract WorkOrder +{ + + + event WorkOrderActivated(); + event WorkOrderReActivated(); + event WorkOrderRevealing(); + event WorkOrderClaimed (); + event WorkOrderCompleted(); + + /** + * Members + */ + IexecLib.WorkOrderStatusEnum public m_status; + + uint256 public m_marketorderIdx; + + address public m_app; + address public m_dataset; + address public m_workerpool; + address public m_requester; + + uint256 public m_emitcost; + string public m_params; + address public m_callback; + address public m_beneficiary; + + bytes32 public m_resultCallbackProof; + string public m_stdout; + string public m_stderr; + string public m_uri; + + address public m_iexecHubAddress; + + modifier onlyIexecHub() + { + require(msg.sender == m_iexecHubAddress); + _; + } + + /** + * Constructor + */ + function WorkOrder( + uint256 _marketorderIdx, + address _requester, + address _app, + address _dataset, + address _workerpool, + uint256 _emitcost, + string _params, + address _callback, + address _beneficiary) + public + { + m_iexecHubAddress = msg.sender; + require(_requester != address(0)); + m_status = IexecLib.WorkOrderStatusEnum.ACTIVE; + m_marketorderIdx = _marketorderIdx; + m_app = _app; + m_dataset = _dataset; + m_workerpool = _workerpool; + m_requester = _requester; + m_emitcost = _emitcost; + m_params = _params; + m_callback = _callback; + m_beneficiary = _beneficiary; + // needed for the scheduler to authorize api token access on this m_beneficiary address in case _requester is a smart contract. + } + + function startRevealingPhase() public returns (bool) + { + require(m_workerpool == msg.sender); + require(m_status == IexecLib.WorkOrderStatusEnum.ACTIVE); + m_status = IexecLib.WorkOrderStatusEnum.REVEALING; + emit WorkOrderRevealing(); + return true; + } + + function reActivate() public returns (bool) + { + require(m_workerpool == msg.sender); + require(m_status == IexecLib.WorkOrderStatusEnum.REVEALING); + m_status = IexecLib.WorkOrderStatusEnum.ACTIVE; + emit WorkOrderReActivated(); + return true; + } + + + function claim() public onlyIexecHub + { + require(m_status == IexecLib.WorkOrderStatusEnum.ACTIVE || m_status == IexecLib.WorkOrderStatusEnum.REVEALING); + m_status = IexecLib.WorkOrderStatusEnum.CLAIMED; + emit WorkOrderClaimed(); + } + + + function setResult(string _stdout, string _stderr, string _uri) public onlyIexecHub + { + require(m_status == IexecLib.WorkOrderStatusEnum.REVEALING); + m_status = IexecLib.WorkOrderStatusEnum.COMPLETED; + m_stdout = _stdout; + m_stderr = _stderr; + m_uri = _uri; + m_resultCallbackProof =keccak256(_stdout,_stderr,_uri); + emit WorkOrderCompleted(); + } + +} + + +pragma solidity ^0.4.21; + + +contract App is OwnableOZ, IexecHubAccessor +{ + + /** + * Members + */ + string public m_appName; + uint256 public m_appPrice; + string public m_appParams; + + /** + * Constructor + */ + function App( + address _iexecHubAddress, + string _appName, + uint256 _appPrice, + string _appParams) + IexecHubAccessor(_iexecHubAddress) + public + { + // tx.origin == owner + // msg.sender == DatasetHub + require(tx.origin != msg.sender); + setImmutableOwnership(tx.origin); // owner → tx.origin + + m_appName = _appName; + m_appPrice = _appPrice; + m_appParams = _appParams; + + } + + + +} + + +pragma solidity ^0.4.21; + + +contract AppHub is OwnableOZ // is Owned by IexecHub +{ + + using SafeMathOZ for uint256; + + /** + * Members + */ + mapping(address => uint256) m_appCountByOwner; + mapping(address => mapping(uint256 => address)) m_appByOwnerByIndex; + mapping(address => bool) m_appRegistered; + + mapping(uint256 => address) m_appByIndex; + uint256 public m_totalAppCount; + + /** + * Constructor + */ + function AppHub() public + { + } + + /** + * Methods + */ + function isAppRegistered(address _app) public view returns (bool) + { + return m_appRegistered[_app]; + } + function getAppsCount(address _owner) public view returns (uint256) + { + return m_appCountByOwner[_owner]; + } + function getApp(address _owner, uint256 _index) public view returns (address) + { + return m_appByOwnerByIndex[_owner][_index]; + } + function getAppByIndex(uint256 _index) public view returns (address) + { + return m_appByIndex[_index]; + } + + function addApp(address _owner, address _app) internal + { + uint id = m_appCountByOwner[_owner].add(1); + m_totalAppCount=m_totalAppCount.add(1); + m_appByIndex [m_totalAppCount] = _app; + m_appCountByOwner [_owner] = id; + m_appByOwnerByIndex[_owner][id] = _app; + m_appRegistered [_app] = true; + } + + function createApp( + string _appName, + uint256 _appPrice, + string _appParams) + public onlyOwner /*owner == IexecHub*/ returns (address createdApp) + { + // tx.origin == owner + // msg.sender == IexecHub + address newApp = new App( + msg.sender, + _appName, + _appPrice, + _appParams + ); + addApp(tx.origin, newApp); + return newApp; + } + +} + +pragma solidity ^0.4.21; + + +contract Dataset is OwnableOZ, IexecHubAccessor +{ + + /** + * Members + */ + string public m_datasetName; + uint256 public m_datasetPrice; + string public m_datasetParams; + + /** + * Constructor + */ + function Dataset( + address _iexecHubAddress, + string _datasetName, + uint256 _datasetPrice, + string _datasetParams) + IexecHubAccessor(_iexecHubAddress) + public + { + // tx.origin == owner + // msg.sender == DatasetHub + require(tx.origin != msg.sender); + setImmutableOwnership(tx.origin); // owner → tx.origin + + m_datasetName = _datasetName; + m_datasetPrice = _datasetPrice; + m_datasetParams = _datasetParams; + + } + + +} + + +pragma solidity ^0.4.21; + + +contract DatasetHub is OwnableOZ // is Owned by IexecHub +{ + using SafeMathOZ for uint256; + + /** + * Members + */ + mapping(address => uint256) m_datasetCountByOwner; + mapping(address => mapping(uint256 => address)) m_datasetByOwnerByIndex; + mapping(address => bool) m_datasetRegistered; + + mapping(uint256 => address) m_datasetByIndex; + uint256 public m_totalDatasetCount; + + + + /** + * Constructor + */ + function DatasetHub() public + { + } + + /** + * Methods + */ + function isDatasetRegistred(address _dataset) public view returns (bool) + { + return m_datasetRegistered[_dataset]; + } + function getDatasetsCount(address _owner) public view returns (uint256) + { + return m_datasetCountByOwner[_owner]; + } + function getDataset(address _owner, uint256 _index) public view returns (address) + { + return m_datasetByOwnerByIndex[_owner][_index]; + } + function getDatasetByIndex(uint256 _index) public view returns (address) + { + return m_datasetByIndex[_index]; + } + + function addDataset(address _owner, address _dataset) internal + { + uint id = m_datasetCountByOwner[_owner].add(1); + m_totalDatasetCount = m_totalDatasetCount.add(1); + m_datasetByIndex [m_totalDatasetCount] = _dataset; + m_datasetCountByOwner [_owner] = id; + m_datasetByOwnerByIndex[_owner][id] = _dataset; + m_datasetRegistered [_dataset] = true; + } + + function createDataset( + string _datasetName, + uint256 _datasetPrice, + string _datasetParams) + public onlyOwner /*owner == IexecHub*/ returns (address createdDataset) + { + // tx.origin == owner + // msg.sender == IexecHub + address newDataset = new Dataset( + msg.sender, + _datasetName, + _datasetPrice, + _datasetParams + ); + addDataset(tx.origin, newDataset); + return newDataset; + } +} + + +pragma solidity ^0.4.21; + +contract WorkerPoolHub is OwnableOZ // is Owned by IexecHub +{ + + using SafeMathOZ for uint256; + + /** + * Members + */ + // worker => workerPool + mapping(address => address) m_workerAffectation; + // owner => index + mapping(address => uint256) m_workerPoolCountByOwner; + // owner => index => workerPool + mapping(address => mapping(uint256 => address)) m_workerPoolByOwnerByIndex; + // workerPool => owner // stored in the workerPool + /* mapping(address => address) m_ownerByWorkerPool; */ + mapping(address => bool) m_workerPoolRegistered; + + mapping(uint256 => address) m_workerPoolByIndex; + uint256 public m_totalWorkerPoolCount; + + + + /** + * Constructor + */ + function WorkerPoolHub() public + { + } + + /** + * Methods + */ + function isWorkerPoolRegistered(address _workerPool) public view returns (bool) + { + return m_workerPoolRegistered[_workerPool]; + } + function getWorkerPoolsCount(address _owner) public view returns (uint256) + { + return m_workerPoolCountByOwner[_owner]; + } + function getWorkerPool(address _owner, uint256 _index) public view returns (address) + { + return m_workerPoolByOwnerByIndex[_owner][_index]; + } + function getWorkerPoolByIndex(uint256 _index) public view returns (address) + { + return m_workerPoolByIndex[_index]; + } + function getWorkerAffectation(address _worker) public view returns (address workerPool) + { + return m_workerAffectation[_worker]; + } + + function addWorkerPool(address _owner, address _workerPool) internal + { + uint id = m_workerPoolCountByOwner[_owner].add(1); + m_totalWorkerPoolCount = m_totalWorkerPoolCount.add(1); + m_workerPoolByIndex [m_totalWorkerPoolCount] = _workerPool; + m_workerPoolCountByOwner [_owner] = id; + m_workerPoolByOwnerByIndex[_owner][id] = _workerPool; + m_workerPoolRegistered [_workerPool] = true; + } + + function createWorkerPool( + string _description, + uint256 _subscriptionLockStakePolicy, + uint256 _subscriptionMinimumStakePolicy, + uint256 _subscriptionMinimumScorePolicy, + address _marketplaceAddress) + external onlyOwner /*owner == IexecHub*/ returns (address createdWorkerPool) + { + // tx.origin == owner + // msg.sender == IexecHub + // At creating ownership is transfered to tx.origin + address newWorkerPool = new WorkerPool( + msg.sender, // iexecHubAddress + _description, + _subscriptionLockStakePolicy, + _subscriptionMinimumStakePolicy, + _subscriptionMinimumScorePolicy, + _marketplaceAddress + ); + addWorkerPool(tx.origin, newWorkerPool); + return newWorkerPool; + } + + function registerWorkerAffectation(address _workerPool, address _worker) public onlyOwner /*owner == IexecHub*/ returns (bool subscribed) + { + // you must have no cuurent affectation on others worker Pool + require(m_workerAffectation[_worker] == address(0)); + m_workerAffectation[_worker] = _workerPool; + return true; + } + + function unregisterWorkerAffectation(address _workerPool, address _worker) public onlyOwner /*owner == IexecHub*/ returns (bool unsubscribed) + { + require(m_workerAffectation[_worker] == _workerPool); + m_workerAffectation[_worker] = address(0); + return true; + } +} + + +pragma solidity ^0.4.21; + + +/** + * @title IexecHub + */ + +contract IexecHub +{ + using SafeMathOZ for uint256; + + /** + * RLC contract for token transfers. + */ + RLC public rlc; + + uint256 public constant STAKE_BONUS_RATIO = 10; + uint256 public constant STAKE_BONUS_MIN_THRESHOLD = 1000; + uint256 public constant SCORE_UNITARY_SLASH = 50; + + /** + * Slaves contracts + */ + AppHub public appHub; + DatasetHub public datasetHub; + WorkerPoolHub public workerPoolHub; + + /** + * Market place + */ + Marketplace public marketplace; + modifier onlyMarketplace() + { + require(msg.sender == address(marketplace)); + _; + } + /** + * Categories + */ + mapping(uint256 => IexecLib.Category) public m_categories; + uint256 public m_categoriesCount; + address public m_categoriesCreator; + modifier onlyCategoriesCreator() + { + require(msg.sender == m_categoriesCreator); + _; + } + + /** + * Escrow + */ + mapping(address => IexecLib.Account) public m_accounts; + + + /** + * workOrder Registered + */ + mapping(address => bool) public m_woidRegistered; + modifier onlyRegisteredWoid(address _woid) + { + require(m_woidRegistered[_woid]); + _; + } + + /** + * Reputation for PoCo + */ + mapping(address => uint256) public m_scores; + IexecLib.ContributionHistory public m_contributionHistory; + + + event WorkOrderActivated(address woid, address indexed workerPool); + event WorkOrderClaimed (address woid, address workerPool); + event WorkOrderCompleted(address woid, address workerPool); + + event CreateApp (address indexed appOwner, address indexed app, string appName, uint256 appPrice, string appParams ); + event CreateDataset (address indexed datasetOwner, address indexed dataset, string datasetName, uint256 datasetPrice, string datasetParams); + event CreateWorkerPool(address indexed workerPoolOwner, address indexed workerPool, string workerPoolDescription ); + + event CreateCategory (uint256 catid, string name, string description, uint256 workClockTimeRef); + + event WorkerPoolSubscription (address indexed workerPool, address worker); + event WorkerPoolUnsubscription(address indexed workerPool, address worker); + event WorkerPoolEviction (address indexed workerPool, address worker); + + event AccurateContribution(address woid, address indexed worker); + event FaultyContribution (address woid, address indexed worker); + + event Deposit (address owner, uint256 amount); + event Withdraw(address owner, uint256 amount); + event Reward (address user, uint256 amount); + event Seize (address user, uint256 amount); + + /** + * Constructor + */ + function IexecHub() + public + { + m_categoriesCreator = msg.sender; + } + + function attachContracts( + address _tokenAddress, + address _marketplaceAddress, + address _workerPoolHubAddress, + address _appHubAddress, + address _datasetHubAddress) + public onlyCategoriesCreator + { + require(address(rlc) == address(0)); + rlc = RLC (_tokenAddress ); + marketplace = Marketplace (_marketplaceAddress ); + workerPoolHub = WorkerPoolHub(_workerPoolHubAddress); + appHub = AppHub (_appHubAddress ); + datasetHub = DatasetHub (_datasetHubAddress ); + + } + + function setCategoriesCreator(address _categoriesCreator) + public onlyCategoriesCreator + { + m_categoriesCreator = _categoriesCreator; + } + /** + * Factory + */ + + function createCategory( + string _name, + string _description, + uint256 _workClockTimeRef) + public onlyCategoriesCreator returns (uint256 catid) + { + m_categoriesCount = m_categoriesCount.add(1); + IexecLib.Category storage category = m_categories[m_categoriesCount]; + category.catid = m_categoriesCount; + category.name = _name; + category.description = _description; + category.workClockTimeRef = _workClockTimeRef; + emit CreateCategory(m_categoriesCount, _name, _description, _workClockTimeRef); + return m_categoriesCount; + } + + function createWorkerPool( + string _description, + uint256 _subscriptionLockStakePolicy, + uint256 _subscriptionMinimumStakePolicy, + uint256 _subscriptionMinimumScorePolicy) + external returns (address createdWorkerPool) + { + address newWorkerPool = workerPoolHub.createWorkerPool( + _description, + _subscriptionLockStakePolicy, + _subscriptionMinimumStakePolicy, + _subscriptionMinimumScorePolicy, + address(marketplace) + ); + emit CreateWorkerPool(tx.origin, newWorkerPool, _description); + return newWorkerPool; + } + + function createApp( + string _appName, + uint256 _appPrice, + string _appParams) + external returns (address createdApp) + { + address newApp = appHub.createApp( + _appName, + _appPrice, + _appParams + ); + emit CreateApp(tx.origin, newApp, _appName, _appPrice, _appParams); + return newApp; + } + + function createDataset( + string _datasetName, + uint256 _datasetPrice, + string _datasetParams) + external returns (address createdDataset) + { + address newDataset = datasetHub.createDataset( + _datasetName, + _datasetPrice, + _datasetParams + ); + emit CreateDataset(tx.origin, newDataset, _datasetName, _datasetPrice, _datasetParams); + return newDataset; + } + + /** + * WorkOrder Emission + */ + function buyForWorkOrder( + uint256 _marketorderIdx, + address _workerpool, + address _app, + address _dataset, + string _params, + address _callback, + address _beneficiary) + external returns (address) + { + address requester = msg.sender; + require(marketplace.consumeMarketOrderAsk(_marketorderIdx, requester, _workerpool)); + + uint256 emitcost = lockWorkOrderCost(requester, _workerpool, _app, _dataset); + + WorkOrder workorder = new WorkOrder( + _marketorderIdx, + requester, + _app, + _dataset, + _workerpool, + emitcost, + _params, + _callback, + _beneficiary + ); + + m_woidRegistered[workorder] = true; + + require(WorkerPool(_workerpool).emitWorkOrder(workorder, _marketorderIdx)); + + emit WorkOrderActivated(workorder, _workerpool); + return workorder; + } + + function isWoidRegistred(address _woid) public view returns (bool) + { + return m_woidRegistered[_woid]; + } + + function lockWorkOrderCost( + address _requester, + address _workerpool, // Address of a smartcontract + address _app, // Address of a smartcontract + address _dataset) // Address of a smartcontract + internal returns (uint256) + { + // APP + App app = App(_app); + require(appHub.isAppRegistered (_app)); + // initialize usercost with dapp price + uint256 emitcost = app.m_appPrice(); + + // DATASET + if (_dataset != address(0)) // address(0) → no dataset + { + Dataset dataset = Dataset(_dataset); + require(datasetHub.isDatasetRegistred(_dataset)); + // add optional datasetPrice for userCost + emitcost = emitcost.add(dataset.m_datasetPrice()); + } + + // WORKERPOOL + require(workerPoolHub.isWorkerPoolRegistered(_workerpool)); + + require(lock(_requester, emitcost)); // Lock funds for app + dataset payment + + return emitcost; + } + + /** + * WorkOrder life cycle + */ + + function claimFailedConsensus(address _woid) + public onlyRegisteredWoid(_woid) returns (bool) + { + WorkOrder workorder = WorkOrder(_woid); + require(workorder.m_requester() == msg.sender); + WorkerPool workerpool = WorkerPool(workorder.m_workerpool()); + + IexecLib.WorkOrderStatusEnum currentStatus = workorder.m_status(); + require(currentStatus == IexecLib.WorkOrderStatusEnum.ACTIVE || currentStatus == IexecLib.WorkOrderStatusEnum.REVEALING); + // Unlock stakes for all workers + require(workerpool.claimFailedConsensus(_woid)); + workorder.claim(); // revert on error + + /* uint256 value = marketplace.getMarketOrderValue(workorder.m_marketorderIdx()); // revert if not exist */ + /* address workerpoolOwner = marketplace.getMarketOrderWorkerpoolOwner(workorder.m_marketorderIdx()); // revert if not exist */ + uint256 value; + address workerpoolOwner; + (,,,value,,,,workerpoolOwner) = marketplace.getMarketOrder(workorder.m_marketorderIdx()); // Single call cost less gas + uint256 workerpoolStake = value.percentage(marketplace.ASK_STAKE_RATIO()); + + require(unlock (workorder.m_requester(), value.add(workorder.m_emitcost()))); // UNLOCK THE FUNDS FOR REINBURSEMENT + require(seize (workerpoolOwner, workerpoolStake)); + // put workerpoolOwner stake seize into iexecHub address for bonus for scheduler on next well finalized Task + require(reward (this, workerpoolStake)); + require(lock (this, workerpoolStake)); + + emit WorkOrderClaimed(_woid, workorder.m_workerpool()); + return true; + } + + function finalizeWorkOrder( + address _woid, + string _stdout, + string _stderr, + string _uri) + public onlyRegisteredWoid(_woid) returns (bool) + { + WorkOrder workorder = WorkOrder(_woid); + require(workorder.m_workerpool() == msg.sender); + require(workorder.m_status() == IexecLib.WorkOrderStatusEnum.REVEALING); + + // APP + App app = App(workorder.m_app()); + uint256 appPrice = app.m_appPrice(); + if (appPrice > 0) + { + require(reward(app.m_owner(), appPrice)); + } + + // DATASET + Dataset dataset = Dataset(workorder.m_dataset()); + if (dataset != address(0)) + { + uint256 datasetPrice = dataset.m_datasetPrice(); + if (datasetPrice > 0) + { + require(reward(dataset.m_owner(), datasetPrice)); + } + } + + // WORKERPOOL → rewarding done by the caller itself + + /** + * seize stacked funds from requester. + * reward = value: was locked at market making + * emitcost: was locked at when emiting the workorder + */ + /* uint256 value = marketplace.getMarketOrderValue(workorder.m_marketorderIdx()); // revert if not exist */ + /* address workerpoolOwner = marketplace.getMarketOrderWorkerpoolOwner(workorder.m_marketorderIdx()); // revert if not exist */ + uint256 value; + address workerpoolOwner; + (,,,value,,,,workerpoolOwner) = marketplace.getMarketOrder(workorder.m_marketorderIdx()); // Single call cost less gas + uint256 workerpoolStake = value.percentage(marketplace.ASK_STAKE_RATIO()); + + require(seize (workorder.m_requester(), value.add(workorder.m_emitcost()))); // seize funds for payment (market value + emitcost) + require(unlock(workerpoolOwner, workerpoolStake)); // unlock scheduler stake + + // write results + workorder.setResult(_stdout, _stderr, _uri); // revert on error + + // Rien ne se perd, rien ne se crée, tout se transfere + // distribute bonus to scheduler. jackpot bonus come from scheduler stake loose on IexecHub contract + // we reuse the varaible value for the kitty / fraction of the kitty (stack too deep) + /* (,value) = checkBalance(this); // kitty is locked on `this` wallet */ + value = m_accounts[this].locked; // kitty is locked on `this` wallet + if(value > 0) + { + value = value.min(value.percentage(STAKE_BONUS_RATIO).max(STAKE_BONUS_MIN_THRESHOLD)); + require(seize(this, value)); + require(reward(workerpoolOwner, value)); + } + + emit WorkOrderCompleted(_woid, workorder.m_workerpool()); + return true; + } + + /** + * Views + */ + function getCategoryWorkClockTimeRef(uint256 _catId) public view returns (uint256 workClockTimeRef) + { + require(existingCategory(_catId)); + return m_categories[_catId].workClockTimeRef; + } + + function existingCategory(uint256 _catId) public view returns (bool categoryExist) + { + return m_categories[_catId].catid > 0; + } + + function getCategory(uint256 _catId) public view returns (uint256 catid, string name, string description, uint256 workClockTimeRef) + { + require(existingCategory(_catId)); + return ( + m_categories[_catId].catid, + m_categories[_catId].name, + m_categories[_catId].description, + m_categories[_catId].workClockTimeRef + ); + } + + function getWorkerStatus(address _worker) public view returns (address workerPool, uint256 workerScore) + { + return (workerPoolHub.getWorkerAffectation(_worker), m_scores[_worker]); + } + + function getWorkerScore(address _worker) public view returns (uint256 workerScore) + { + return m_scores[_worker]; + } + + /** + * Worker subscription + */ + function registerToPool(address _worker) public returns (bool subscribed) + // msg.sender = workerPool + { + WorkerPool workerpool = WorkerPool(msg.sender); + // Check credentials + require(workerPoolHub.isWorkerPoolRegistered(msg.sender)); + // Lock worker deposit + require(lock(_worker, workerpool.m_subscriptionLockStakePolicy())); + // Check subscription policy + require(m_accounts[_worker].stake >= workerpool.m_subscriptionMinimumStakePolicy()); + require(m_scores[_worker] >= workerpool.m_subscriptionMinimumScorePolicy()); + // Update affectation + require(workerPoolHub.registerWorkerAffectation(msg.sender, _worker)); + // Trigger event notice + emit WorkerPoolSubscription(msg.sender, _worker); + return true; + } + + function unregisterFromPool(address _worker) public returns (bool unsubscribed) + // msg.sender = workerPool + { + require(removeWorker(msg.sender, _worker)); + // Trigger event notice + emit WorkerPoolUnsubscription(msg.sender, _worker); + return true; + } + + function evictWorker(address _worker) public returns (bool unsubscribed) + // msg.sender = workerpool + { + require(removeWorker(msg.sender, _worker)); + // Trigger event notice + emit WorkerPoolEviction(msg.sender, _worker); + return true; + } + + function removeWorker(address _workerpool, address _worker) internal returns (bool unsubscribed) + { + WorkerPool workerpool = WorkerPool(_workerpool); + // Check credentials + require(workerPoolHub.isWorkerPoolRegistered(_workerpool)); + // Unlick worker stake + require(unlock(_worker, workerpool.m_subscriptionLockStakePolicy())); + // Update affectation + require(workerPoolHub.unregisterWorkerAffectation(_workerpool, _worker)); + return true; + } + + /** + * Stake, reward and penalty functions + */ + /* Marketplace */ + function lockForOrder(address _user, uint256 _amount) public onlyMarketplace returns (bool) + { + require(lock(_user, _amount)); + return true; + } + function unlockForOrder(address _user, uint256 _amount) public onlyMarketplace returns (bool) + { + require(unlock(_user, _amount)); + return true; + } + /* Work */ + function lockForWork(address _woid, address _user, uint256 _amount) public onlyRegisteredWoid(_woid) returns (bool) + { + require(WorkOrder(_woid).m_workerpool() == msg.sender); + require(lock(_user, _amount)); + return true; + } + function unlockForWork(address _woid, address _user, uint256 _amount) public onlyRegisteredWoid(_woid) returns (bool) + { + require(WorkOrder(_woid).m_workerpool() == msg.sender); + require(unlock(_user, _amount)); + return true; + } + function rewardForWork(address _woid, address _worker, uint256 _amount, bool _reputation) public onlyRegisteredWoid(_woid) returns (bool) + { + require(WorkOrder(_woid).m_workerpool() == msg.sender); + require(reward(_worker, _amount)); + if (_reputation) + { + m_contributionHistory.success = m_contributionHistory.success.add(1); + m_scores[_worker] = m_scores[_worker].add(1); + emit AccurateContribution(_woid, _worker); + } + return true; + } + function seizeForWork(address _woid, address _worker, uint256 _amount, bool _reputation) public onlyRegisteredWoid(_woid) returns (bool) + { + require(WorkOrder(_woid).m_workerpool() == msg.sender); + require(seize(_worker, _amount)); + if (_reputation) + { + m_contributionHistory.failed = m_contributionHistory.failed.add(1); + m_scores[_worker] = m_scores[_worker].sub(m_scores[_worker].min(SCORE_UNITARY_SLASH)); + emit FaultyContribution(_woid, _worker); + } + return true; + } + /** + * Wallet methods: public + */ + function deposit(uint256 _amount) external returns (bool) + { + require(rlc.transferFrom(msg.sender, address(this), _amount)); + m_accounts[msg.sender].stake = m_accounts[msg.sender].stake.add(_amount); + emit Deposit(msg.sender, _amount); + return true; + } + function withdraw(uint256 _amount) external returns (bool) + { + m_accounts[msg.sender].stake = m_accounts[msg.sender].stake.sub(_amount); + require(rlc.transfer(msg.sender, _amount)); + emit Withdraw(msg.sender, _amount); + return true; + } + function checkBalance(address _owner) public view returns (uint256 stake, uint256 locked) + { + return (m_accounts[_owner].stake, m_accounts[_owner].locked); + } + /** + * Wallet methods: Internal + */ + function reward(address _user, uint256 _amount) internal returns (bool) + { + m_accounts[_user].stake = m_accounts[_user].stake.add(_amount); + emit Reward(_user, _amount); + return true; + } + function seize(address _user, uint256 _amount) internal returns (bool) + { + m_accounts[_user].locked = m_accounts[_user].locked.sub(_amount); + emit Seize(_user, _amount); + return true; + } + function lock(address _user, uint256 _amount) internal returns (bool) + { + m_accounts[_user].stake = m_accounts[_user].stake.sub(_amount); + m_accounts[_user].locked = m_accounts[_user].locked.add(_amount); + return true; + } + function unlock(address _user, uint256 _amount) internal returns (bool) + { + m_accounts[_user].locked = m_accounts[_user].locked.sub(_amount); + m_accounts[_user].stake = m_accounts[_user].stake.add(_amount); + return true; + } +} + + + +pragma solidity ^0.4.21; + +contract IexecCallbackInterface +{ + + function workOrderCallback( + address _woid, + string _stdout, + string _stderr, + string _uri) public returns (bool); + + event WorkOrderCallback(address woid, string stdout, string stderr, string uri); +} + +pragma solidity ^0.4.21; + + +contract WorkerPool is OwnableOZ, IexecHubAccessor, MarketplaceAccessor +{ + using SafeMathOZ for uint256; + + + /** + * Members + */ + string public m_description; + uint256 public m_stakeRatioPolicy; // % of reward to stake + uint256 public m_schedulerRewardRatioPolicy; // % of reward given to scheduler + uint256 public m_subscriptionLockStakePolicy; // Stake locked when in workerpool - Constant set by constructor, do not update + uint256 public m_subscriptionMinimumStakePolicy; // Minimum stake for subscribing + uint256 public m_subscriptionMinimumScorePolicy; // Minimum score for subscribing + address[] public m_workers; + mapping(address => uint256) public m_workerIndex; + + // mapping(woid => IexecLib.Consensus) + mapping(address => IexecLib.Consensus) public m_consensus; + // mapping(woid => worker address => Contribution); + mapping(address => mapping(address => IexecLib.Contribution)) public m_contributions; + + uint256 public constant REVEAL_PERIOD_DURATION_RATIO = 2; + uint256 public constant CONSENSUS_DURATION_RATIO = 10; + + /** + * Address of slave/related contracts + */ + address public m_workerPoolHubAddress; + + + /** + * Events + */ + event WorkerPoolPolicyUpdate( + uint256 oldStakeRatioPolicy, uint256 newStakeRatioPolicy, + uint256 oldSchedulerRewardRatioPolicy, uint256 newSchedulerRewardRatioPolicy, + uint256 oldSubscriptionMinimumStakePolicy, uint256 newSubscriptionMinimumStakePolicy, + uint256 oldSubscriptionMinimumScorePolicy, uint256 newSubscriptionMinimumScorePolicy); + + event WorkOrderActive (address indexed woid); + event WorkOrderClaimed (address indexed woid); + + event AllowWorkerToContribute (address indexed woid, address indexed worker, uint256 workerScore); + event Contribute (address indexed woid, address indexed worker, bytes32 resultHash); + event RevealConsensus (address indexed woid, bytes32 consensus); + event Reveal (address indexed woid, address indexed worker, bytes32 result); + event Reopen (address indexed woid); + event FinalizeWork (address indexed woid, string stdout, string stderr, string uri); + + + + event WorkerSubscribe (address indexed worker); + event WorkerUnsubscribe (address indexed worker); + event WorkerEviction (address indexed worker); + + /** + * Methods + */ + // Constructor + function WorkerPool( + address _iexecHubAddress, + string _description, + uint256 _subscriptionLockStakePolicy, + uint256 _subscriptionMinimumStakePolicy, + uint256 _subscriptionMinimumScorePolicy, + address _marketplaceAddress) + IexecHubAccessor(_iexecHubAddress) + MarketplaceAccessor(_marketplaceAddress) + public + { + // tx.origin == owner + // msg.sender == WorkerPoolHub + require(tx.origin != msg.sender); + setImmutableOwnership(tx.origin); // owner → tx.origin + + m_description = _description; + m_stakeRatioPolicy = 30; // % of the work order price to stake + m_schedulerRewardRatioPolicy = 1; // % of the work reward going to scheduler vs workers reward + m_subscriptionLockStakePolicy = _subscriptionLockStakePolicy; // only at creation. cannot be change to respect lock/unlock of worker stake + m_subscriptionMinimumStakePolicy = _subscriptionMinimumStakePolicy; + m_subscriptionMinimumScorePolicy = _subscriptionMinimumScorePolicy; + m_workerPoolHubAddress = msg.sender; + + } + + function changeWorkerPoolPolicy( + uint256 _newStakeRatioPolicy, + uint256 _newSchedulerRewardRatioPolicy, + uint256 _newSubscriptionMinimumStakePolicy, + uint256 _newSubscriptionMinimumScorePolicy) + public onlyOwner + { + emit WorkerPoolPolicyUpdate( + m_stakeRatioPolicy, _newStakeRatioPolicy, + m_schedulerRewardRatioPolicy, _newSchedulerRewardRatioPolicy, + m_subscriptionMinimumStakePolicy, _newSubscriptionMinimumStakePolicy, + m_subscriptionMinimumScorePolicy, _newSubscriptionMinimumScorePolicy + ); + require(_newSchedulerRewardRatioPolicy <= 100); + m_stakeRatioPolicy = _newStakeRatioPolicy; + m_schedulerRewardRatioPolicy = _newSchedulerRewardRatioPolicy; + m_subscriptionMinimumStakePolicy = _newSubscriptionMinimumStakePolicy; + m_subscriptionMinimumScorePolicy = _newSubscriptionMinimumScorePolicy; + } + + /************************* worker list management **************************/ + function getWorkerAddress(uint _index) public view returns (address) + { + return m_workers[_index]; + } + function getWorkerIndex(address _worker) public view returns (uint) + { + uint index = m_workerIndex[_worker]; + require(m_workers[index] == _worker); + return index; + } + function getWorkersCount() public view returns (uint) + { + return m_workers.length; + } + + function subscribeToPool() public returns (bool) + { + // msg.sender = worker + require(iexecHubInterface.registerToPool(msg.sender)); + uint index = m_workers.push(msg.sender); + m_workerIndex[msg.sender] = index.sub(1); + emit WorkerSubscribe(msg.sender); + return true; + } + + function unsubscribeFromPool() public returns (bool) + { + // msg.sender = worker + require(iexecHubInterface.unregisterFromPool(msg.sender)); + require(removeWorker(msg.sender)); + emit WorkerUnsubscribe(msg.sender); + return true; + } + + function evictWorker(address _worker) public onlyOwner returns (bool) + { + // msg.sender = scheduler + require(iexecHubInterface.evictWorker(_worker)); + require(removeWorker(_worker)); + emit WorkerEviction(_worker); + return true; + } + + function removeWorker(address _worker) internal returns (bool) + { + uint index = getWorkerIndex(_worker); // fails if worker not registered + address lastWorker = m_workers[m_workers.length.sub(1)]; + m_workers [index ] = lastWorker; + m_workerIndex[lastWorker] = index; + delete m_workers[m_workers.length.sub(1)]; + m_workers.length = m_workers.length.sub(1); + return true; + } + + function getConsensusDetails(address _woid) public view returns ( + uint256 c_poolReward, + uint256 c_stakeAmount, + bytes32 c_consensus, + uint256 c_revealDate, + uint256 c_revealCounter, + uint256 c_consensusTimeout, + uint256 c_winnerCount, + address c_workerpoolOwner) + { + IexecLib.Consensus storage consensus = m_consensus[_woid]; + return ( + consensus.poolReward, + consensus.stakeAmount, + consensus.consensus, + consensus.revealDate, + consensus.revealCounter, + consensus.consensusTimeout, + consensus.winnerCount, + consensus.workerpoolOwner + ); + } + + function getContributorsCount(address _woid) public view returns (uint256 contributorsCount) + { + return m_consensus[_woid].contributors.length; + } + + function getContributor(address _woid, uint256 index) public view returns (address contributor) + { + return m_consensus[_woid].contributors[index]; + } + + function existingContribution(address _woid, address _worker) public view returns (bool contributionExist) + { + return m_contributions[_woid][_worker].status != IexecLib.ContributionStatusEnum.UNSET; + } + + function getContribution(address _woid, address _worker) public view returns + ( + IexecLib.ContributionStatusEnum status, + bytes32 resultHash, + bytes32 resultSign, + address enclaveChallenge, + uint256 score, + uint256 weight) + { + require(existingContribution(_woid, _worker)); // no silent value returned + IexecLib.Contribution storage contribution = m_contributions[_woid][_worker]; + return ( + contribution.status, + contribution.resultHash, + contribution.resultSign, + contribution.enclaveChallenge, + contribution.score, + contribution.weight + ); + } + + + /**************************** Works management *****************************/ + function emitWorkOrder(address _woid, uint256 _marketorderIdx) public onlyIexecHub returns (bool) + { + uint256 catid = marketplaceInterface.getMarketOrderCategory(_marketorderIdx); + uint256 timeout = iexecHubInterface.getCategoryWorkClockTimeRef(catid).mul(CONSENSUS_DURATION_RATIO).add(now); + + IexecLib.Consensus storage consensus = m_consensus[_woid]; + consensus.poolReward = marketplaceInterface.getMarketOrderValue(_marketorderIdx); + consensus.workerpoolOwner = marketplaceInterface.getMarketOrderWorkerpoolOwner(_marketorderIdx); + consensus.stakeAmount = consensus.poolReward.percentage(m_stakeRatioPolicy); + consensus.consensusTimeout = timeout; + consensus.schedulerRewardRatioPolicy = m_schedulerRewardRatioPolicy; + + emit WorkOrderActive(_woid); + + return true; + } + + function claimFailedConsensus(address _woid) public onlyIexecHub returns (bool) + { + IexecLib.Consensus storage consensus = m_consensus[_woid]; + require(now > consensus.consensusTimeout); + uint256 i; + address w; + for (i = 0; i < consensus.contributors.length; ++i) + { + w = consensus.contributors[i]; + if (m_contributions[_woid][w].status != IexecLib.ContributionStatusEnum.AUTHORIZED) + { + require(iexecHubInterface.unlockForWork(_woid, w, consensus.stakeAmount)); + } + } + emit WorkOrderClaimed(_woid); + return true; + } + + function allowWorkersToContribute(address _woid, address[] _workers, address _enclaveChallenge) public onlyOwner /*onlySheduler*/ returns (bool) + { + for (uint i = 0; i < _workers.length; ++i) + { + require(allowWorkerToContribute(_woid, _workers[i], _enclaveChallenge)); + } + return true; + } + + function allowWorkerToContribute(address _woid, address _worker, address _enclaveChallenge) public onlyOwner /*onlySheduler*/ returns (bool) + { + require(iexecHubInterface.isWoidRegistred(_woid)); + require(WorkOrder(_woid).m_status() == IexecLib.WorkOrderStatusEnum.ACTIVE); + IexecLib.Contribution storage contribution = m_contributions[_woid][_worker]; + IexecLib.Consensus storage consensus = m_consensus[_woid]; + require(now <= consensus.consensusTimeout); + + address workerPool; + uint256 workerScore; + (workerPool, workerScore) = iexecHubInterface.getWorkerStatus(_worker); // workerPool, workerScore + require(workerPool == address(this)); + + require(contribution.status == IexecLib.ContributionStatusEnum.UNSET); + contribution.status = IexecLib.ContributionStatusEnum.AUTHORIZED; + contribution.enclaveChallenge = _enclaveChallenge; + + emit AllowWorkerToContribute(_woid, _worker, workerScore); + return true; + } + + function contribute(address _woid, bytes32 _resultHash, bytes32 _resultSign, uint8 _v, bytes32 _r, bytes32 _s) public returns (uint256 workerStake) + { + require(iexecHubInterface.isWoidRegistred(_woid)); + IexecLib.Consensus storage consensus = m_consensus[_woid]; + require(now <= consensus.consensusTimeout); + require(WorkOrder(_woid).m_status() == IexecLib.WorkOrderStatusEnum.ACTIVE); // can't contribute on a claimed or completed workorder + IexecLib.Contribution storage contribution = m_contributions[_woid][msg.sender]; + + // msg.sender = a worker + require(_resultHash != 0x0); + require(_resultSign != 0x0); + if (contribution.enclaveChallenge != address(0)) + { + require(contribution.enclaveChallenge == ecrecover(keccak256("\x19Ethereum Signed Message:\n64", _resultHash, _resultSign), _v, _r, _s)); + } + + require(contribution.status == IexecLib.ContributionStatusEnum.AUTHORIZED); + contribution.status = IexecLib.ContributionStatusEnum.CONTRIBUTED; + contribution.resultHash = _resultHash; + contribution.resultSign = _resultSign; + contribution.score = iexecHubInterface.getWorkerScore(msg.sender); + consensus.contributors.push(msg.sender); + + require(iexecHubInterface.lockForWork(_woid, msg.sender, consensus.stakeAmount)); + emit Contribute(_woid, msg.sender, _resultHash); + return consensus.stakeAmount; + } + + function revealConsensus(address _woid, bytes32 _consensus) public onlyOwner /*onlySheduler*/ returns (bool) + { + require(iexecHubInterface.isWoidRegistred(_woid)); + IexecLib.Consensus storage consensus = m_consensus[_woid]; + require(now <= consensus.consensusTimeout); + require(WorkOrder(_woid).startRevealingPhase()); + + consensus.winnerCount = 0; + for (uint256 i = 0; i 0); // you cannot revealConsensus if no worker has contributed to this hash + + consensus.consensus = _consensus; + consensus.revealDate = iexecHubInterface.getCategoryWorkClockTimeRef(marketplaceInterface.getMarketOrderCategory(WorkOrder(_woid).m_marketorderIdx())).mul(REVEAL_PERIOD_DURATION_RATIO).add(now); // is it better to store th catid ? + emit RevealConsensus(_woid, _consensus); + return true; + } + + function reveal(address _woid, bytes32 _result) public returns (bool) + { + require(iexecHubInterface.isWoidRegistred(_woid)); + IexecLib.Consensus storage consensus = m_consensus[_woid]; + require(now <= consensus.consensusTimeout); + IexecLib.Contribution storage contribution = m_contributions[_woid][msg.sender]; + + require(WorkOrder(_woid).m_status() == IexecLib.WorkOrderStatusEnum.REVEALING ); + require(consensus.revealDate > now ); + require(contribution.status == IexecLib.ContributionStatusEnum.CONTRIBUTED); + require(contribution.resultHash == consensus.consensus ); + require(contribution.resultHash == keccak256(_result ) ); + require(contribution.resultSign == keccak256(_result ^ keccak256(msg.sender)) ); + + contribution.status = IexecLib.ContributionStatusEnum.PROVED; + consensus.revealCounter = consensus.revealCounter.add(1); + + emit Reveal(_woid, msg.sender, _result); + return true; + } + + function reopen(address _woid) public onlyOwner /*onlySheduler*/ returns (bool) + { + require(iexecHubInterface.isWoidRegistred(_woid)); + IexecLib.Consensus storage consensus = m_consensus[_woid]; + require(now <= consensus.consensusTimeout); + require(consensus.revealDate <= now && consensus.revealCounter == 0); + require(WorkOrder(_woid).reActivate()); + + for (uint256 i = 0; i < consensus.contributors.length; ++i) + { + address w = consensus.contributors[i]; + if (m_contributions[_woid][w].resultHash == consensus.consensus) + { + m_contributions[_woid][w].status = IexecLib.ContributionStatusEnum.REJECTED; + } + } + // Reset to status before revealConsensus. Must be after REJECTED traitement above because of consensus.consensus check + consensus.winnerCount = 0; + consensus.consensus = 0x0; + consensus.revealDate = 0; + emit Reopen(_woid); + return true; + } + + // if sheduler never call finalized ? no incetive to do that. schedulermust be pay also at this time + function finalizeWork(address _woid, string _stdout, string _stderr, string _uri) public onlyOwner /*onlySheduler*/ returns (bool) + { + require(iexecHubInterface.isWoidRegistred(_woid)); + IexecLib.Consensus storage consensus = m_consensus[_woid]; + require(now <= consensus.consensusTimeout); + require((consensus.revealDate <= now && consensus.revealCounter > 0) || (consensus.revealCounter == consensus.winnerCount)); // consensus.winnerCount never 0 at this step + + // add penalized to the call worker to contribution and they never contribute ? + require(distributeRewards(_woid, consensus)); + + require(iexecHubInterface.finalizeWorkOrder(_woid, _stdout, _stderr, _uri)); + emit FinalizeWork(_woid,_stdout,_stderr,_uri); + return true; + } + + function distributeRewards(address _woid, IexecLib.Consensus _consensus) internal returns (bool) + { + uint256 i; + address w; + uint256 workerBonus; + uint256 workerWeight; + uint256 totalWeight; + uint256 individualWorkerReward; + uint256 totalReward = _consensus.poolReward; + address[] memory contributors = _consensus.contributors; + for (i = 0; i 0); + + // compute how much is going to the workers + uint256 totalWorkersReward = totalReward.percentage(uint256(100).sub(_consensus.schedulerRewardRatioPolicy)); + + for (i = 0; iIexecLib.MarketOrder) public m_orderBook; + + uint256 public constant ASK_STAKE_RATIO = 30; + + /** + * Events + */ + event MarketOrderCreated (uint marketorderIdx); + event MarketOrderClosed (uint marketorderIdx); + event MarketOrderAskConsume(uint marketorderIdx, address requester); + + /** + * Constructor + */ + function Marketplace(address _iexecHubAddress) + IexecHubAccessor(_iexecHubAddress) + public + { + } + + /** + * Market orders + */ + function createMarketOrder( + IexecLib.MarketOrderDirectionEnum _direction, + uint256 _category, + uint256 _trust, + uint256 _value, + address _workerpool, + uint256 _volume) + public returns (uint) + { + require(iexecHubInterface.existingCategory(_category)); + require(_volume >0); + m_orderCount = m_orderCount.add(1); + IexecLib.MarketOrder storage marketorder = m_orderBook[m_orderCount]; + marketorder.direction = _direction; + marketorder.category = _category; + marketorder.trust = _trust; + marketorder.value = _value; + marketorder.volume = _volume; + marketorder.remaining = _volume; + + if (_direction == IexecLib.MarketOrderDirectionEnum.ASK) + { + require(WorkerPool(_workerpool).m_owner() == msg.sender); + + require(iexecHubInterface.lockForOrder(msg.sender, _value.percentage(ASK_STAKE_RATIO).mul(_volume))); // mul must be done after percentage to avoid rounding errors + marketorder.workerpool = _workerpool; + marketorder.workerpoolOwner = msg.sender; + } + else + { + // no BID implementation + revert(); + } + emit MarketOrderCreated(m_orderCount); + return m_orderCount; + } + + function closeMarketOrder(uint256 _marketorderIdx) public returns (bool) + { + IexecLib.MarketOrder storage marketorder = m_orderBook[_marketorderIdx]; + if (marketorder.direction == IexecLib.MarketOrderDirectionEnum.ASK) + { + require(marketorder.workerpoolOwner == msg.sender); + require(iexecHubInterface.unlockForOrder(marketorder.workerpoolOwner, marketorder.value.percentage(ASK_STAKE_RATIO).mul(marketorder.remaining))); // mul must be done after percentage to avoid rounding errors + } + else + { + // no BID implementation + revert(); + } + marketorder.direction = IexecLib.MarketOrderDirectionEnum.CLOSED; + emit MarketOrderClosed(_marketorderIdx); + return true; + } + + + /** + * Assets consumption + */ + function consumeMarketOrderAsk( + uint256 _marketorderIdx, + address _requester, + address _workerpool) + public onlyIexecHub returns (bool) + { + IexecLib.MarketOrder storage marketorder = m_orderBook[_marketorderIdx]; + require(marketorder.direction == IexecLib.MarketOrderDirectionEnum.ASK); + require(marketorder.remaining > 0); + require(marketorder.workerpool == _workerpool); + + marketorder.remaining = marketorder.remaining.sub(1); + if (marketorder.remaining == 0) + { + marketorder.direction = IexecLib.MarketOrderDirectionEnum.CLOSED; + } + require(iexecHubInterface.lockForOrder(_requester, marketorder.value)); + emit MarketOrderAskConsume(_marketorderIdx, _requester); + return true; + } + + function existingMarketOrder(uint256 _marketorderIdx) public view returns (bool marketOrderExist) + { + return m_orderBook[_marketorderIdx].category > 0; + } + + /** + * Views + */ + function getMarketOrderValue(uint256 _marketorderIdx) public view returns (uint256) + { + require(existingMarketOrder(_marketorderIdx)); // no silent value returned + return m_orderBook[_marketorderIdx].value; + } + function getMarketOrderWorkerpoolOwner(uint256 _marketorderIdx) public view returns (address) + { + require(existingMarketOrder(_marketorderIdx)); // no silent value returned + return m_orderBook[_marketorderIdx].workerpoolOwner; + } + function getMarketOrderCategory(uint256 _marketorderIdx) public view returns (uint256) + { + require(existingMarketOrder(_marketorderIdx)); // no silent value returned + return m_orderBook[_marketorderIdx].category; + } + function getMarketOrderTrust(uint256 _marketorderIdx) public view returns (uint256) + { + require(existingMarketOrder(_marketorderIdx)); // no silent value returned + return m_orderBook[_marketorderIdx].trust; + } + function getMarketOrder(uint256 _marketorderIdx) public view returns + ( + IexecLib.MarketOrderDirectionEnum direction, + uint256 category, // runtime selection + uint256 trust, // for PoCo + uint256 value, // value/cost/price + uint256 volume, // quantity of instances (total) + uint256 remaining, // remaining instances + address workerpool, // BID can use null for any + address workerpoolOwner) + { + require(existingMarketOrder(_marketorderIdx)); // no silent value returned + IexecLib.MarketOrder storage marketorder = m_orderBook[_marketorderIdx]; + return ( + marketorder.direction, + marketorder.category, + marketorder.trust, + marketorder.value, + marketorder.volume, + marketorder.remaining, + marketorder.workerpool, + marketorder.workerpoolOwner + ); + } + + /** + * Callback Proof managment + */ + + event WorkOrderCallbackProof(address indexed woid, address requester, address beneficiary,address indexed callbackTo, address indexed gasCallbackProvider,string stdout, string stderr , string uri); + + //mapping(workorder => bool) + mapping(address => bool) m_callbackDone; + + function isCallbackDone(address _woid) public view returns (bool callbackDone) + { + return m_callbackDone[_woid]; + } + + function workOrderCallback(address _woid,string _stdout, string _stderr, string _uri) public + { + require(iexecHubInterface.isWoidRegistred(_woid)); + require(!isCallbackDone(_woid)); + m_callbackDone[_woid] = true; + require(WorkOrder(_woid).m_status() == IexecLib.WorkOrderStatusEnum.COMPLETED); + require(WorkOrder(_woid).m_resultCallbackProof() == keccak256(_stdout,_stderr,_uri)); + address callbackTo =WorkOrder(_woid).m_callback(); + require(callbackTo != address(0)); + require(IexecCallbackInterface(callbackTo).workOrderCallback( + _woid, + _stdout, + _stderr, + _uri + )); + emit WorkOrderCallbackProof(_woid,WorkOrder(_woid).m_requester(),WorkOrder(_woid).m_beneficiary(),callbackTo,tx.origin,_stdout,_stderr,_uri); + } + +} diff --git a/contractsCompacted/WorkerPoolHub.sol b/contractsCompacted/WorkerPoolHub.sol new file mode 100644 index 00000000..9d9d8da0 --- /dev/null +++ b/contractsCompacted/WorkerPoolHub.sol @@ -0,0 +1,2343 @@ +//v1.0.14 +//License: Apache2.0 +pragma solidity ^0.4.8; + +contract TokenSpender { + function receiveApproval(address _from, uint256 _value, address _token, bytes _extraData); +} + +pragma solidity ^0.4.8; + +contract ERC20 { + uint public totalSupply; + function balanceOf(address who) constant returns (uint); + function allowance(address owner, address spender) constant returns (uint); + + function transfer(address to, uint value) returns (bool ok); + function transferFrom(address from, address to, uint value) returns (bool ok); + function approve(address spender, uint value) returns (bool ok); + event Transfer(address indexed from, address indexed to, uint value); + event Approval(address indexed owner, address indexed spender, uint value); +} + +pragma solidity ^0.4.8; + +contract SafeMath { + function safeMul(uint a, uint b) internal returns (uint) { + uint c = a * b; + assert(a == 0 || c / a == b); + return c; + } + + function safeDiv(uint a, uint b) internal returns (uint) { + assert(b > 0); + uint c = a / b; + assert(a == b * c + a % b); + return c; + } + + function safeSub(uint a, uint b) internal returns (uint) { + assert(b <= a); + return a - b; + } + + function safeAdd(uint a, uint b) internal returns (uint) { + uint c = a + b; + assert(c>=a && c>=b); + return c; + } + + function max64(uint64 a, uint64 b) internal constant returns (uint64) { + return a >= b ? a : b; + } + + function min64(uint64 a, uint64 b) internal constant returns (uint64) { + return a < b ? a : b; + } + + function max256(uint256 a, uint256 b) internal constant returns (uint256) { + return a >= b ? a : b; + } + + function min256(uint256 a, uint256 b) internal constant returns (uint256) { + return a < b ? a : b; + } + + function assert(bool assertion) internal { + if (!assertion) { + throw; + } + } +} + +pragma solidity ^0.4.21; + + +/** + * @title SafeMath + * @dev Math operations with safety checks that throw on error + * last open zepplin version used for : add sub mul div function : https://github.com/OpenZeppelin/zeppelin-solidity/blob/master/contracts/math/SafeMath.sol +* commit : https://github.com/OpenZeppelin/zeppelin-solidity/commit/815d9e1f457f57cfbb1b4e889f2255c9a517f661 + */ +library SafeMathOZ +{ + function add(uint256 a, uint256 b) internal pure returns (uint256) + { + uint256 c = a + b; + assert(c >= a); + return c; + } + + function sub(uint256 a, uint256 b) internal pure returns (uint256) + { + assert(b <= a); + return a - b; + } + + function mul(uint256 a, uint256 b) internal pure returns (uint256) + { + if (a == 0) + { + return 0; + } + uint256 c = a * b; + assert(c / a == b); + return c; + } + + function div(uint256 a, uint256 b) internal pure returns (uint256) + { + // assert(b > 0); // Solidity automatically throws when dividing by 0 + uint256 c = a / b; + // assert(a == b * c + a % b); // There is no case in which this doesn't hold + return c; + } + + function max(uint256 a, uint256 b) internal pure returns (uint256) + { + return a >= b ? a : b; + } + + function min(uint256 a, uint256 b) internal pure returns (uint256) + { + return a < b ? a : b; + } + + function mulByFraction(uint256 a, uint256 b, uint256 c) internal pure returns (uint256) + { + return div(mul(a, b), c); + } + + function percentage(uint256 a, uint256 b) internal pure returns (uint256) + { + return mulByFraction(a, b, 100); + } + // Source : https://ethereum.stackexchange.com/questions/8086/logarithm-math-operation-in-solidity + function log(uint x) internal pure returns (uint y) + { + assembly + { + let arg := x + x := sub(x,1) + x := or(x, div(x, 0x02)) + x := or(x, div(x, 0x04)) + x := or(x, div(x, 0x10)) + x := or(x, div(x, 0x100)) + x := or(x, div(x, 0x10000)) + x := or(x, div(x, 0x100000000)) + x := or(x, div(x, 0x10000000000000000)) + x := or(x, div(x, 0x100000000000000000000000000000000)) + x := add(x, 1) + let m := mload(0x40) + mstore(m, 0xf8f9cbfae6cc78fbefe7cdc3a1793dfcf4f0e8bbd8cec470b6a28a7a5a3e1efd) + mstore(add(m,0x20), 0xf5ecf1b3e9debc68e1d9cfabc5997135bfb7a7a3938b7b606b5b4b3f2f1f0ffe) + mstore(add(m,0x40), 0xf6e4ed9ff2d6b458eadcdf97bd91692de2d4da8fd2d0ac50c6ae9a8272523616) + mstore(add(m,0x60), 0xc8c0b887b0a8a4489c948c7f847c6125746c645c544c444038302820181008ff) + mstore(add(m,0x80), 0xf7cae577eec2a03cf3bad76fb589591debb2dd67e0aa9834bea6925f6a4a2e0e) + mstore(add(m,0xa0), 0xe39ed557db96902cd38ed14fad815115c786af479b7e83247363534337271707) + mstore(add(m,0xc0), 0xc976c13bb96e881cb166a933a55e490d9d56952b8d4e801485467d2362422606) + mstore(add(m,0xe0), 0x753a6d1b65325d0c552a4d1345224105391a310b29122104190a110309020100) + mstore(0x40, add(m, 0x100)) + let magic := 0x818283848586878898a8b8c8d8e8f929395969799a9b9d9e9faaeb6bedeeff + let shift := 0x100000000000000000000000000000000000000000000000000000000000000 + let a := div(mul(x, magic), shift) + y := div(mload(add(m,sub(255,a))), shift) + y := add(y, mul(256, gt(arg, 0x8000000000000000000000000000000000000000000000000000000000000000))) + } + } +} + + +pragma solidity ^0.4.8; + +contract Ownable { + address public owner; + + function Ownable() { + owner = msg.sender; + } + + modifier onlyOwner() { + if (msg.sender == owner) + _; + } + + function transferOwnership(address newOwner) onlyOwner { + if (newOwner != address(0)) owner = newOwner; + } + +} + +pragma solidity ^0.4.21; + +/** + * @title Ownable + * @dev The Ownable contract has an owner address, and provides basic authorization control + * functions, this simplifies the implementation of "user permissions". + */ +contract OwnableOZ +{ + address public m_owner; + bool public m_changeable; + + event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); + + /** + * @dev Throws if called by any account other than the owner. + */ + modifier onlyOwner() + { + require(msg.sender == m_owner); + _; + } + + /** + * @dev The Ownable constructor sets the original `owner` of the contract to the sender + * account. + */ + function OwnableOZ() public + { + m_owner = msg.sender; + m_changeable = true; + } + + /** + * @dev Allows the current owner to transfer control of the contract to a newOwner. + * @param _newOwner The address to transfer ownership to. + */ + function setImmutableOwnership(address _newOwner) public onlyOwner + { + require(m_changeable); + require(_newOwner != address(0)); + emit OwnershipTransferred(m_owner, _newOwner); + m_owner = _newOwner; + m_changeable = false; + } + +} + + +pragma solidity ^0.4.8; + +contract RLC is ERC20, SafeMath, Ownable { + + /* Public variables of the token */ + string public name; //fancy name + string public symbol; + uint8 public decimals; //How many decimals to show. + string public version = 'v0.1'; + uint public initialSupply; + uint public totalSupply; + bool public locked; + //uint public unlockBlock; + + mapping(address => uint) balances; + mapping (address => mapping (address => uint)) allowed; + + // lock transfer during the ICO + modifier onlyUnlocked() { + if (msg.sender != owner && locked) throw; + _; + } + + /* + * The RLC Token created with the time at which the crowdsale end + */ + + function RLC() { + // lock the transfer function during the crowdsale + locked = true; + //unlockBlock= now + 45 days; // (testnet) - for mainnet put the block number + + initialSupply = 87000000000000000; + totalSupply = initialSupply; + balances[msg.sender] = initialSupply;// Give the creator all initial tokens + name = 'iEx.ec Network Token'; // Set the name for display purposes + symbol = 'RLC'; // Set the symbol for display purposes + decimals = 9; // Amount of decimals for display purposes + } + + function unlock() onlyOwner { + locked = false; + } + + function burn(uint256 _value) returns (bool){ + balances[msg.sender] = safeSub(balances[msg.sender], _value) ; + totalSupply = safeSub(totalSupply, _value); + Transfer(msg.sender, 0x0, _value); + return true; + } + + function transfer(address _to, uint _value) onlyUnlocked returns (bool) { + balances[msg.sender] = safeSub(balances[msg.sender], _value); + balances[_to] = safeAdd(balances[_to], _value); + Transfer(msg.sender, _to, _value); + return true; + } + + function transferFrom(address _from, address _to, uint _value) onlyUnlocked returns (bool) { + var _allowance = allowed[_from][msg.sender]; + + balances[_to] = safeAdd(balances[_to], _value); + balances[_from] = safeSub(balances[_from], _value); + allowed[_from][msg.sender] = safeSub(_allowance, _value); + Transfer(_from, _to, _value); + return true; + } + + function balanceOf(address _owner) constant returns (uint balance) { + return balances[_owner]; + } + + function approve(address _spender, uint _value) returns (bool) { + allowed[msg.sender][_spender] = _value; + Approval(msg.sender, _spender, _value); + return true; + } + + /* Approve and then comunicate the approved contract in a single tx */ + function approveAndCall(address _spender, uint256 _value, bytes _extraData){ + TokenSpender spender = TokenSpender(_spender); + if (approve(_spender, _value)) { + spender.receiveApproval(msg.sender, _value, this, _extraData); + } + } + + function allowance(address _owner, address _spender) constant returns (uint remaining) { + return allowed[_owner][_spender]; + } + +} + +pragma solidity ^0.4.21; + +library IexecLib +{ + /***************************************************************************/ + /* Market Order */ + /***************************************************************************/ + enum MarketOrderDirectionEnum + { + UNSET, + BID, + ASK, + CLOSED + } + struct MarketOrder + { + MarketOrderDirectionEnum direction; + uint256 category; // runtime selection + uint256 trust; // for PoCo + uint256 value; // value/cost/price + uint256 volume; // quantity of instances (total) + uint256 remaining; // remaining instances + address workerpool; // BID can use null for any + address workerpoolOwner; // fix ownership if workerpool ownership change during the workorder steps + } + + /***************************************************************************/ + /* Work Order */ + /***************************************************************************/ + enum WorkOrderStatusEnum + { + UNSET, // Work order not yet initialized (invalid address) + ACTIVE, // Marketed → constributions are open + REVEALING, // Starting consensus reveal + CLAIMED, // failed consensus + COMPLETED // Concensus achieved + } + + /***************************************************************************/ + /* Consensus */ + /* --- */ + /* used in WorkerPool.sol */ + /***************************************************************************/ + struct Consensus + { + uint256 poolReward; + uint256 stakeAmount; + bytes32 consensus; + uint256 revealDate; + uint256 revealCounter; + uint256 consensusTimeout; + uint256 winnerCount; + address[] contributors; + address workerpoolOwner; + uint256 schedulerRewardRatioPolicy; + + } + + /***************************************************************************/ + /* Contribution */ + /* --- */ + /* used in WorkerPool.sol */ + /***************************************************************************/ + enum ContributionStatusEnum + { + UNSET, + AUTHORIZED, + CONTRIBUTED, + PROVED, + REJECTED + } + struct Contribution + { + ContributionStatusEnum status; + bytes32 resultHash; + bytes32 resultSign; + address enclaveChallenge; + uint256 score; + uint256 weight; + } + + /***************************************************************************/ + /* Account / ContributionHistory / Category */ + /* --- */ + /* used in IexecHub.sol */ + /***************************************************************************/ + struct Account + { + uint256 stake; + uint256 locked; + } + + struct ContributionHistory // for credibility computation, f = failed/total + { + uint256 success; + uint256 failed; + } + + struct Category + { + uint256 catid; + string name; + string description; + uint256 workClockTimeRef; + } + +} + + +pragma solidity ^0.4.21; + + +contract IexecHubInterface +{ + RLC public rlc; + + function attachContracts( + address _tokenAddress, + address _marketplaceAddress, + address _workerPoolHubAddress, + address _appHubAddress, + address _datasetHubAddress) + public; + + function setCategoriesCreator( + address _categoriesCreator) + public; + + function createCategory( + string _name, + string _description, + uint256 _workClockTimeRef) + public returns (uint256 catid); + + function createWorkerPool( + string _description, + uint256 _subscriptionLockStakePolicy, + uint256 _subscriptionMinimumStakePolicy, + uint256 _subscriptionMinimumScorePolicy) + external returns (address createdWorkerPool); + + function createApp( + string _appName, + uint256 _appPrice, + string _appParams) + external returns (address createdApp); + + function createDataset( + string _datasetName, + uint256 _datasetPrice, + string _datasetParams) + external returns (address createdDataset); + + function buyForWorkOrder( + uint256 _marketorderIdx, + address _workerpool, + address _app, + address _dataset, + string _params, + address _callback, + address _beneficiary) + external returns (address); + + function isWoidRegistred( + address _woid) + public view returns (bool); + + function lockWorkOrderCost( + address _requester, + address _workerpool, // Address of a smartcontract + address _app, // Address of a smartcontract + address _dataset) // Address of a smartcontract + internal returns (uint256); + + function claimFailedConsensus( + address _woid) + public returns (bool); + + function finalizeWorkOrder( + address _woid, + string _stdout, + string _stderr, + string _uri) + public returns (bool); + + function getCategoryWorkClockTimeRef( + uint256 _catId) + public view returns (uint256 workClockTimeRef); + + function existingCategory( + uint256 _catId) + public view returns (bool categoryExist); + + function getCategory( + uint256 _catId) + public view returns (uint256 catid, string name, string description, uint256 workClockTimeRef); + + function getWorkerStatus( + address _worker) + public view returns (address workerPool, uint256 workerScore); + + function getWorkerScore(address _worker) public view returns (uint256 workerScore); + + function registerToPool(address _worker) public returns (bool subscribed); + + function unregisterFromPool(address _worker) public returns (bool unsubscribed); + + function evictWorker(address _worker) public returns (bool unsubscribed); + + function removeWorker(address _workerpool, address _worker) internal returns (bool unsubscribed); + + function lockForOrder(address _user, uint256 _amount) public returns (bool); + + function unlockForOrder(address _user, uint256 _amount) public returns (bool); + + function lockForWork(address _woid, address _user, uint256 _amount) public returns (bool); + + function unlockForWork(address _woid, address _user, uint256 _amount) public returns (bool); + + function rewardForWork(address _woid, address _worker, uint256 _amount, bool _reputation) public returns (bool); + + function seizeForWork(address _woid, address _worker, uint256 _amount, bool _reputation) public returns (bool); + + function deposit(uint256 _amount) external returns (bool); + + function withdraw(uint256 _amount) external returns (bool); + + function checkBalance(address _owner) public view returns (uint256 stake, uint256 locked); + + function reward(address _user, uint256 _amount) internal returns (bool); + + function seize(address _user, uint256 _amount) internal returns (bool); + + function lock(address _user, uint256 _amount) internal returns (bool); + + function unlock(address _user, uint256 _amount) internal returns (bool); +} + + +pragma solidity ^0.4.21; + + +contract IexecHubAccessor +{ + IexecHubInterface internal iexecHubInterface; + + modifier onlyIexecHub() + { + require(msg.sender == address(iexecHubInterface)); + _; + } + + function IexecHubAccessor(address _iexecHubAddress) public + { + require(_iexecHubAddress != address(0)); + iexecHubInterface = IexecHubInterface(_iexecHubAddress); + } + +} + +pragma solidity ^0.4.21; +contract MarketplaceInterface +{ + function createMarketOrder( + IexecLib.MarketOrderDirectionEnum _direction, + uint256 _category, + uint256 _trust, + uint256 _value, + address _workerpool, + uint256 _volume) + public returns (uint); + + function closeMarketOrder( + uint256 _marketorderIdx) + public returns (bool); + + function getMarketOrderValue( + uint256 _marketorderIdx) + public view returns(uint256); + + function getMarketOrderWorkerpoolOwner( + uint256 _marketorderIdx) + public view returns(address); + + function getMarketOrderCategory( + uint256 _marketorderIdx) + public view returns (uint256); + + function getMarketOrderTrust( + uint256 _marketorderIdx) + public view returns(uint256); + + function getMarketOrder( + uint256 _marketorderIdx) + public view returns( + IexecLib.MarketOrderDirectionEnum direction, + uint256 category, // runtime selection + uint256 trust, // for PoCo + uint256 value, // value/cost/price + uint256 volume, // quantity of instances (total) + uint256 remaining, // remaining instances + address workerpool); // BID can use null for any +} + + + + +pragma solidity ^0.4.21; + + +contract MarketplaceAccessor +{ + address internal marketplaceAddress; + MarketplaceInterface internal marketplaceInterface; +/* not used + modifier onlyMarketplace() + { + require(msg.sender == marketplaceAddress); + _; + }*/ + + function MarketplaceAccessor(address _marketplaceAddress) public + { + require(_marketplaceAddress != address(0)); + marketplaceAddress = _marketplaceAddress; + marketplaceInterface = MarketplaceInterface(_marketplaceAddress); + } +} + + +pragma solidity ^0.4.21; + +contract WorkOrder +{ + + + event WorkOrderActivated(); + event WorkOrderReActivated(); + event WorkOrderRevealing(); + event WorkOrderClaimed (); + event WorkOrderCompleted(); + + /** + * Members + */ + IexecLib.WorkOrderStatusEnum public m_status; + + uint256 public m_marketorderIdx; + + address public m_app; + address public m_dataset; + address public m_workerpool; + address public m_requester; + + uint256 public m_emitcost; + string public m_params; + address public m_callback; + address public m_beneficiary; + + bytes32 public m_resultCallbackProof; + string public m_stdout; + string public m_stderr; + string public m_uri; + + address public m_iexecHubAddress; + + modifier onlyIexecHub() + { + require(msg.sender == m_iexecHubAddress); + _; + } + + /** + * Constructor + */ + function WorkOrder( + uint256 _marketorderIdx, + address _requester, + address _app, + address _dataset, + address _workerpool, + uint256 _emitcost, + string _params, + address _callback, + address _beneficiary) + public + { + m_iexecHubAddress = msg.sender; + require(_requester != address(0)); + m_status = IexecLib.WorkOrderStatusEnum.ACTIVE; + m_marketorderIdx = _marketorderIdx; + m_app = _app; + m_dataset = _dataset; + m_workerpool = _workerpool; + m_requester = _requester; + m_emitcost = _emitcost; + m_params = _params; + m_callback = _callback; + m_beneficiary = _beneficiary; + // needed for the scheduler to authorize api token access on this m_beneficiary address in case _requester is a smart contract. + } + + function startRevealingPhase() public returns (bool) + { + require(m_workerpool == msg.sender); + require(m_status == IexecLib.WorkOrderStatusEnum.ACTIVE); + m_status = IexecLib.WorkOrderStatusEnum.REVEALING; + emit WorkOrderRevealing(); + return true; + } + + function reActivate() public returns (bool) + { + require(m_workerpool == msg.sender); + require(m_status == IexecLib.WorkOrderStatusEnum.REVEALING); + m_status = IexecLib.WorkOrderStatusEnum.ACTIVE; + emit WorkOrderReActivated(); + return true; + } + + + function claim() public onlyIexecHub + { + require(m_status == IexecLib.WorkOrderStatusEnum.ACTIVE || m_status == IexecLib.WorkOrderStatusEnum.REVEALING); + m_status = IexecLib.WorkOrderStatusEnum.CLAIMED; + emit WorkOrderClaimed(); + } + + + function setResult(string _stdout, string _stderr, string _uri) public onlyIexecHub + { + require(m_status == IexecLib.WorkOrderStatusEnum.REVEALING); + m_status = IexecLib.WorkOrderStatusEnum.COMPLETED; + m_stdout = _stdout; + m_stderr = _stderr; + m_uri = _uri; + m_resultCallbackProof =keccak256(_stdout,_stderr,_uri); + emit WorkOrderCompleted(); + } + +} + +pragma solidity ^0.4.21; + +contract IexecCallbackInterface +{ + + function workOrderCallback( + address _woid, + string _stdout, + string _stderr, + string _uri) public returns (bool); + + event WorkOrderCallback(address woid, string stdout, string stderr, string uri); +} + + +pragma solidity ^0.4.21; + +contract Marketplace is IexecHubAccessor +{ + using SafeMathOZ for uint256; + + /** + * Marketplace + */ + uint public m_orderCount; + mapping(uint =>IexecLib.MarketOrder) public m_orderBook; + + uint256 public constant ASK_STAKE_RATIO = 30; + + /** + * Events + */ + event MarketOrderCreated (uint marketorderIdx); + event MarketOrderClosed (uint marketorderIdx); + event MarketOrderAskConsume(uint marketorderIdx, address requester); + + /** + * Constructor + */ + function Marketplace(address _iexecHubAddress) + IexecHubAccessor(_iexecHubAddress) + public + { + } + + /** + * Market orders + */ + function createMarketOrder( + IexecLib.MarketOrderDirectionEnum _direction, + uint256 _category, + uint256 _trust, + uint256 _value, + address _workerpool, + uint256 _volume) + public returns (uint) + { + require(iexecHubInterface.existingCategory(_category)); + require(_volume >0); + m_orderCount = m_orderCount.add(1); + IexecLib.MarketOrder storage marketorder = m_orderBook[m_orderCount]; + marketorder.direction = _direction; + marketorder.category = _category; + marketorder.trust = _trust; + marketorder.value = _value; + marketorder.volume = _volume; + marketorder.remaining = _volume; + + if (_direction == IexecLib.MarketOrderDirectionEnum.ASK) + { + require(WorkerPool(_workerpool).m_owner() == msg.sender); + + require(iexecHubInterface.lockForOrder(msg.sender, _value.percentage(ASK_STAKE_RATIO).mul(_volume))); // mul must be done after percentage to avoid rounding errors + marketorder.workerpool = _workerpool; + marketorder.workerpoolOwner = msg.sender; + } + else + { + // no BID implementation + revert(); + } + emit MarketOrderCreated(m_orderCount); + return m_orderCount; + } + + function closeMarketOrder(uint256 _marketorderIdx) public returns (bool) + { + IexecLib.MarketOrder storage marketorder = m_orderBook[_marketorderIdx]; + if (marketorder.direction == IexecLib.MarketOrderDirectionEnum.ASK) + { + require(marketorder.workerpoolOwner == msg.sender); + require(iexecHubInterface.unlockForOrder(marketorder.workerpoolOwner, marketorder.value.percentage(ASK_STAKE_RATIO).mul(marketorder.remaining))); // mul must be done after percentage to avoid rounding errors + } + else + { + // no BID implementation + revert(); + } + marketorder.direction = IexecLib.MarketOrderDirectionEnum.CLOSED; + emit MarketOrderClosed(_marketorderIdx); + return true; + } + + + /** + * Assets consumption + */ + function consumeMarketOrderAsk( + uint256 _marketorderIdx, + address _requester, + address _workerpool) + public onlyIexecHub returns (bool) + { + IexecLib.MarketOrder storage marketorder = m_orderBook[_marketorderIdx]; + require(marketorder.direction == IexecLib.MarketOrderDirectionEnum.ASK); + require(marketorder.remaining > 0); + require(marketorder.workerpool == _workerpool); + + marketorder.remaining = marketorder.remaining.sub(1); + if (marketorder.remaining == 0) + { + marketorder.direction = IexecLib.MarketOrderDirectionEnum.CLOSED; + } + require(iexecHubInterface.lockForOrder(_requester, marketorder.value)); + emit MarketOrderAskConsume(_marketorderIdx, _requester); + return true; + } + + function existingMarketOrder(uint256 _marketorderIdx) public view returns (bool marketOrderExist) + { + return m_orderBook[_marketorderIdx].category > 0; + } + + /** + * Views + */ + function getMarketOrderValue(uint256 _marketorderIdx) public view returns (uint256) + { + require(existingMarketOrder(_marketorderIdx)); // no silent value returned + return m_orderBook[_marketorderIdx].value; + } + function getMarketOrderWorkerpoolOwner(uint256 _marketorderIdx) public view returns (address) + { + require(existingMarketOrder(_marketorderIdx)); // no silent value returned + return m_orderBook[_marketorderIdx].workerpoolOwner; + } + function getMarketOrderCategory(uint256 _marketorderIdx) public view returns (uint256) + { + require(existingMarketOrder(_marketorderIdx)); // no silent value returned + return m_orderBook[_marketorderIdx].category; + } + function getMarketOrderTrust(uint256 _marketorderIdx) public view returns (uint256) + { + require(existingMarketOrder(_marketorderIdx)); // no silent value returned + return m_orderBook[_marketorderIdx].trust; + } + function getMarketOrder(uint256 _marketorderIdx) public view returns + ( + IexecLib.MarketOrderDirectionEnum direction, + uint256 category, // runtime selection + uint256 trust, // for PoCo + uint256 value, // value/cost/price + uint256 volume, // quantity of instances (total) + uint256 remaining, // remaining instances + address workerpool, // BID can use null for any + address workerpoolOwner) + { + require(existingMarketOrder(_marketorderIdx)); // no silent value returned + IexecLib.MarketOrder storage marketorder = m_orderBook[_marketorderIdx]; + return ( + marketorder.direction, + marketorder.category, + marketorder.trust, + marketorder.value, + marketorder.volume, + marketorder.remaining, + marketorder.workerpool, + marketorder.workerpoolOwner + ); + } + + /** + * Callback Proof managment + */ + + event WorkOrderCallbackProof(address indexed woid, address requester, address beneficiary,address indexed callbackTo, address indexed gasCallbackProvider,string stdout, string stderr , string uri); + + //mapping(workorder => bool) + mapping(address => bool) m_callbackDone; + + function isCallbackDone(address _woid) public view returns (bool callbackDone) + { + return m_callbackDone[_woid]; + } + + function workOrderCallback(address _woid,string _stdout, string _stderr, string _uri) public + { + require(iexecHubInterface.isWoidRegistred(_woid)); + require(!isCallbackDone(_woid)); + m_callbackDone[_woid] = true; + require(WorkOrder(_woid).m_status() == IexecLib.WorkOrderStatusEnum.COMPLETED); + require(WorkOrder(_woid).m_resultCallbackProof() == keccak256(_stdout,_stderr,_uri)); + address callbackTo =WorkOrder(_woid).m_callback(); + require(callbackTo != address(0)); + require(IexecCallbackInterface(callbackTo).workOrderCallback( + _woid, + _stdout, + _stderr, + _uri + )); + emit WorkOrderCallbackProof(_woid,WorkOrder(_woid).m_requester(),WorkOrder(_woid).m_beneficiary(),callbackTo,tx.origin,_stdout,_stderr,_uri); + } + +} + + + +pragma solidity ^0.4.21; + + +contract App is OwnableOZ, IexecHubAccessor +{ + + /** + * Members + */ + string public m_appName; + uint256 public m_appPrice; + string public m_appParams; + + /** + * Constructor + */ + function App( + address _iexecHubAddress, + string _appName, + uint256 _appPrice, + string _appParams) + IexecHubAccessor(_iexecHubAddress) + public + { + // tx.origin == owner + // msg.sender == DatasetHub + require(tx.origin != msg.sender); + setImmutableOwnership(tx.origin); // owner → tx.origin + + m_appName = _appName; + m_appPrice = _appPrice; + m_appParams = _appParams; + + } + + + +} + +pragma solidity ^0.4.21; + + + +contract AppHub is OwnableOZ // is Owned by IexecHub +{ + + using SafeMathOZ for uint256; + + /** + * Members + */ + mapping(address => uint256) m_appCountByOwner; + mapping(address => mapping(uint256 => address)) m_appByOwnerByIndex; + mapping(address => bool) m_appRegistered; + + mapping(uint256 => address) m_appByIndex; + uint256 public m_totalAppCount; + + /** + * Constructor + */ + function AppHub() public + { + } + + /** + * Methods + */ + function isAppRegistered(address _app) public view returns (bool) + { + return m_appRegistered[_app]; + } + function getAppsCount(address _owner) public view returns (uint256) + { + return m_appCountByOwner[_owner]; + } + function getApp(address _owner, uint256 _index) public view returns (address) + { + return m_appByOwnerByIndex[_owner][_index]; + } + function getAppByIndex(uint256 _index) public view returns (address) + { + return m_appByIndex[_index]; + } + + function addApp(address _owner, address _app) internal + { + uint id = m_appCountByOwner[_owner].add(1); + m_totalAppCount=m_totalAppCount.add(1); + m_appByIndex [m_totalAppCount] = _app; + m_appCountByOwner [_owner] = id; + m_appByOwnerByIndex[_owner][id] = _app; + m_appRegistered [_app] = true; + } + + function createApp( + string _appName, + uint256 _appPrice, + string _appParams) + public onlyOwner /*owner == IexecHub*/ returns (address createdApp) + { + // tx.origin == owner + // msg.sender == IexecHub + address newApp = new App( + msg.sender, + _appName, + _appPrice, + _appParams + ); + addApp(tx.origin, newApp); + return newApp; + } + +} + + +pragma solidity ^0.4.21; + +contract Dataset is OwnableOZ, IexecHubAccessor +{ + + /** + * Members + */ + string public m_datasetName; + uint256 public m_datasetPrice; + string public m_datasetParams; + + /** + * Constructor + */ + function Dataset( + address _iexecHubAddress, + string _datasetName, + uint256 _datasetPrice, + string _datasetParams) + IexecHubAccessor(_iexecHubAddress) + public + { + // tx.origin == owner + // msg.sender == DatasetHub + require(tx.origin != msg.sender); + setImmutableOwnership(tx.origin); // owner → tx.origin + + m_datasetName = _datasetName; + m_datasetPrice = _datasetPrice; + m_datasetParams = _datasetParams; + + } + + +} + + +pragma solidity ^0.4.21; + + +contract DatasetHub is OwnableOZ // is Owned by IexecHub +{ + using SafeMathOZ for uint256; + + /** + * Members + */ + mapping(address => uint256) m_datasetCountByOwner; + mapping(address => mapping(uint256 => address)) m_datasetByOwnerByIndex; + mapping(address => bool) m_datasetRegistered; + + mapping(uint256 => address) m_datasetByIndex; + uint256 public m_totalDatasetCount; + + + + /** + * Constructor + */ + function DatasetHub() public + { + } + + /** + * Methods + */ + function isDatasetRegistred(address _dataset) public view returns (bool) + { + return m_datasetRegistered[_dataset]; + } + function getDatasetsCount(address _owner) public view returns (uint256) + { + return m_datasetCountByOwner[_owner]; + } + function getDataset(address _owner, uint256 _index) public view returns (address) + { + return m_datasetByOwnerByIndex[_owner][_index]; + } + function getDatasetByIndex(uint256 _index) public view returns (address) + { + return m_datasetByIndex[_index]; + } + + function addDataset(address _owner, address _dataset) internal + { + uint id = m_datasetCountByOwner[_owner].add(1); + m_totalDatasetCount = m_totalDatasetCount.add(1); + m_datasetByIndex [m_totalDatasetCount] = _dataset; + m_datasetCountByOwner [_owner] = id; + m_datasetByOwnerByIndex[_owner][id] = _dataset; + m_datasetRegistered [_dataset] = true; + } + + function createDataset( + string _datasetName, + uint256 _datasetPrice, + string _datasetParams) + public onlyOwner /*owner == IexecHub*/ returns (address createdDataset) + { + // tx.origin == owner + // msg.sender == IexecHub + address newDataset = new Dataset( + msg.sender, + _datasetName, + _datasetPrice, + _datasetParams + ); + addDataset(tx.origin, newDataset); + return newDataset; + } +} + + +pragma solidity ^0.4.21; + + + +/** + * @title IexecHub + */ + +contract IexecHub +{ + using SafeMathOZ for uint256; + + /** + * RLC contract for token transfers. + */ + RLC public rlc; + + uint256 public constant STAKE_BONUS_RATIO = 10; + uint256 public constant STAKE_BONUS_MIN_THRESHOLD = 1000; + uint256 public constant SCORE_UNITARY_SLASH = 50; + + /** + * Slaves contracts + */ + AppHub public appHub; + DatasetHub public datasetHub; + WorkerPoolHub public workerPoolHub; + + /** + * Market place + */ + Marketplace public marketplace; + modifier onlyMarketplace() + { + require(msg.sender == address(marketplace)); + _; + } + /** + * Categories + */ + mapping(uint256 => IexecLib.Category) public m_categories; + uint256 public m_categoriesCount; + address public m_categoriesCreator; + modifier onlyCategoriesCreator() + { + require(msg.sender == m_categoriesCreator); + _; + } + + /** + * Escrow + */ + mapping(address => IexecLib.Account) public m_accounts; + + + /** + * workOrder Registered + */ + mapping(address => bool) public m_woidRegistered; + modifier onlyRegisteredWoid(address _woid) + { + require(m_woidRegistered[_woid]); + _; + } + + /** + * Reputation for PoCo + */ + mapping(address => uint256) public m_scores; + IexecLib.ContributionHistory public m_contributionHistory; + + + event WorkOrderActivated(address woid, address indexed workerPool); + event WorkOrderClaimed (address woid, address workerPool); + event WorkOrderCompleted(address woid, address workerPool); + + event CreateApp (address indexed appOwner, address indexed app, string appName, uint256 appPrice, string appParams ); + event CreateDataset (address indexed datasetOwner, address indexed dataset, string datasetName, uint256 datasetPrice, string datasetParams); + event CreateWorkerPool(address indexed workerPoolOwner, address indexed workerPool, string workerPoolDescription ); + + event CreateCategory (uint256 catid, string name, string description, uint256 workClockTimeRef); + + event WorkerPoolSubscription (address indexed workerPool, address worker); + event WorkerPoolUnsubscription(address indexed workerPool, address worker); + event WorkerPoolEviction (address indexed workerPool, address worker); + + event AccurateContribution(address woid, address indexed worker); + event FaultyContribution (address woid, address indexed worker); + + event Deposit (address owner, uint256 amount); + event Withdraw(address owner, uint256 amount); + event Reward (address user, uint256 amount); + event Seize (address user, uint256 amount); + + /** + * Constructor + */ + function IexecHub() + public + { + m_categoriesCreator = msg.sender; + } + + function attachContracts( + address _tokenAddress, + address _marketplaceAddress, + address _workerPoolHubAddress, + address _appHubAddress, + address _datasetHubAddress) + public onlyCategoriesCreator + { + require(address(rlc) == address(0)); + rlc = RLC (_tokenAddress ); + marketplace = Marketplace (_marketplaceAddress ); + workerPoolHub = WorkerPoolHub(_workerPoolHubAddress); + appHub = AppHub (_appHubAddress ); + datasetHub = DatasetHub (_datasetHubAddress ); + + } + + function setCategoriesCreator(address _categoriesCreator) + public onlyCategoriesCreator + { + m_categoriesCreator = _categoriesCreator; + } + /** + * Factory + */ + + function createCategory( + string _name, + string _description, + uint256 _workClockTimeRef) + public onlyCategoriesCreator returns (uint256 catid) + { + m_categoriesCount = m_categoriesCount.add(1); + IexecLib.Category storage category = m_categories[m_categoriesCount]; + category.catid = m_categoriesCount; + category.name = _name; + category.description = _description; + category.workClockTimeRef = _workClockTimeRef; + emit CreateCategory(m_categoriesCount, _name, _description, _workClockTimeRef); + return m_categoriesCount; + } + + function createWorkerPool( + string _description, + uint256 _subscriptionLockStakePolicy, + uint256 _subscriptionMinimumStakePolicy, + uint256 _subscriptionMinimumScorePolicy) + external returns (address createdWorkerPool) + { + address newWorkerPool = workerPoolHub.createWorkerPool( + _description, + _subscriptionLockStakePolicy, + _subscriptionMinimumStakePolicy, + _subscriptionMinimumScorePolicy, + address(marketplace) + ); + emit CreateWorkerPool(tx.origin, newWorkerPool, _description); + return newWorkerPool; + } + + function createApp( + string _appName, + uint256 _appPrice, + string _appParams) + external returns (address createdApp) + { + address newApp = appHub.createApp( + _appName, + _appPrice, + _appParams + ); + emit CreateApp(tx.origin, newApp, _appName, _appPrice, _appParams); + return newApp; + } + + function createDataset( + string _datasetName, + uint256 _datasetPrice, + string _datasetParams) + external returns (address createdDataset) + { + address newDataset = datasetHub.createDataset( + _datasetName, + _datasetPrice, + _datasetParams + ); + emit CreateDataset(tx.origin, newDataset, _datasetName, _datasetPrice, _datasetParams); + return newDataset; + } + + /** + * WorkOrder Emission + */ + function buyForWorkOrder( + uint256 _marketorderIdx, + address _workerpool, + address _app, + address _dataset, + string _params, + address _callback, + address _beneficiary) + external returns (address) + { + address requester = msg.sender; + require(marketplace.consumeMarketOrderAsk(_marketorderIdx, requester, _workerpool)); + + uint256 emitcost = lockWorkOrderCost(requester, _workerpool, _app, _dataset); + + WorkOrder workorder = new WorkOrder( + _marketorderIdx, + requester, + _app, + _dataset, + _workerpool, + emitcost, + _params, + _callback, + _beneficiary + ); + + m_woidRegistered[workorder] = true; + + require(WorkerPool(_workerpool).emitWorkOrder(workorder, _marketorderIdx)); + + emit WorkOrderActivated(workorder, _workerpool); + return workorder; + } + + function isWoidRegistred(address _woid) public view returns (bool) + { + return m_woidRegistered[_woid]; + } + + function lockWorkOrderCost( + address _requester, + address _workerpool, // Address of a smartcontract + address _app, // Address of a smartcontract + address _dataset) // Address of a smartcontract + internal returns (uint256) + { + // APP + App app = App(_app); + require(appHub.isAppRegistered (_app)); + // initialize usercost with dapp price + uint256 emitcost = app.m_appPrice(); + + // DATASET + if (_dataset != address(0)) // address(0) → no dataset + { + Dataset dataset = Dataset(_dataset); + require(datasetHub.isDatasetRegistred(_dataset)); + // add optional datasetPrice for userCost + emitcost = emitcost.add(dataset.m_datasetPrice()); + } + + // WORKERPOOL + require(workerPoolHub.isWorkerPoolRegistered(_workerpool)); + + require(lock(_requester, emitcost)); // Lock funds for app + dataset payment + + return emitcost; + } + + /** + * WorkOrder life cycle + */ + + function claimFailedConsensus(address _woid) + public onlyRegisteredWoid(_woid) returns (bool) + { + WorkOrder workorder = WorkOrder(_woid); + require(workorder.m_requester() == msg.sender); + WorkerPool workerpool = WorkerPool(workorder.m_workerpool()); + + IexecLib.WorkOrderStatusEnum currentStatus = workorder.m_status(); + require(currentStatus == IexecLib.WorkOrderStatusEnum.ACTIVE || currentStatus == IexecLib.WorkOrderStatusEnum.REVEALING); + // Unlock stakes for all workers + require(workerpool.claimFailedConsensus(_woid)); + workorder.claim(); // revert on error + + /* uint256 value = marketplace.getMarketOrderValue(workorder.m_marketorderIdx()); // revert if not exist */ + /* address workerpoolOwner = marketplace.getMarketOrderWorkerpoolOwner(workorder.m_marketorderIdx()); // revert if not exist */ + uint256 value; + address workerpoolOwner; + (,,,value,,,,workerpoolOwner) = marketplace.getMarketOrder(workorder.m_marketorderIdx()); // Single call cost less gas + uint256 workerpoolStake = value.percentage(marketplace.ASK_STAKE_RATIO()); + + require(unlock (workorder.m_requester(), value.add(workorder.m_emitcost()))); // UNLOCK THE FUNDS FOR REINBURSEMENT + require(seize (workerpoolOwner, workerpoolStake)); + // put workerpoolOwner stake seize into iexecHub address for bonus for scheduler on next well finalized Task + require(reward (this, workerpoolStake)); + require(lock (this, workerpoolStake)); + + emit WorkOrderClaimed(_woid, workorder.m_workerpool()); + return true; + } + + function finalizeWorkOrder( + address _woid, + string _stdout, + string _stderr, + string _uri) + public onlyRegisteredWoid(_woid) returns (bool) + { + WorkOrder workorder = WorkOrder(_woid); + require(workorder.m_workerpool() == msg.sender); + require(workorder.m_status() == IexecLib.WorkOrderStatusEnum.REVEALING); + + // APP + App app = App(workorder.m_app()); + uint256 appPrice = app.m_appPrice(); + if (appPrice > 0) + { + require(reward(app.m_owner(), appPrice)); + } + + // DATASET + Dataset dataset = Dataset(workorder.m_dataset()); + if (dataset != address(0)) + { + uint256 datasetPrice = dataset.m_datasetPrice(); + if (datasetPrice > 0) + { + require(reward(dataset.m_owner(), datasetPrice)); + } + } + + // WORKERPOOL → rewarding done by the caller itself + + /** + * seize stacked funds from requester. + * reward = value: was locked at market making + * emitcost: was locked at when emiting the workorder + */ + /* uint256 value = marketplace.getMarketOrderValue(workorder.m_marketorderIdx()); // revert if not exist */ + /* address workerpoolOwner = marketplace.getMarketOrderWorkerpoolOwner(workorder.m_marketorderIdx()); // revert if not exist */ + uint256 value; + address workerpoolOwner; + (,,,value,,,,workerpoolOwner) = marketplace.getMarketOrder(workorder.m_marketorderIdx()); // Single call cost less gas + uint256 workerpoolStake = value.percentage(marketplace.ASK_STAKE_RATIO()); + + require(seize (workorder.m_requester(), value.add(workorder.m_emitcost()))); // seize funds for payment (market value + emitcost) + require(unlock(workerpoolOwner, workerpoolStake)); // unlock scheduler stake + + // write results + workorder.setResult(_stdout, _stderr, _uri); // revert on error + + // Rien ne se perd, rien ne se crée, tout se transfere + // distribute bonus to scheduler. jackpot bonus come from scheduler stake loose on IexecHub contract + // we reuse the varaible value for the kitty / fraction of the kitty (stack too deep) + /* (,value) = checkBalance(this); // kitty is locked on `this` wallet */ + value = m_accounts[this].locked; // kitty is locked on `this` wallet + if(value > 0) + { + value = value.min(value.percentage(STAKE_BONUS_RATIO).max(STAKE_BONUS_MIN_THRESHOLD)); + require(seize(this, value)); + require(reward(workerpoolOwner, value)); + } + + emit WorkOrderCompleted(_woid, workorder.m_workerpool()); + return true; + } + + /** + * Views + */ + function getCategoryWorkClockTimeRef(uint256 _catId) public view returns (uint256 workClockTimeRef) + { + require(existingCategory(_catId)); + return m_categories[_catId].workClockTimeRef; + } + + function existingCategory(uint256 _catId) public view returns (bool categoryExist) + { + return m_categories[_catId].catid > 0; + } + + function getCategory(uint256 _catId) public view returns (uint256 catid, string name, string description, uint256 workClockTimeRef) + { + require(existingCategory(_catId)); + return ( + m_categories[_catId].catid, + m_categories[_catId].name, + m_categories[_catId].description, + m_categories[_catId].workClockTimeRef + ); + } + + function getWorkerStatus(address _worker) public view returns (address workerPool, uint256 workerScore) + { + return (workerPoolHub.getWorkerAffectation(_worker), m_scores[_worker]); + } + + function getWorkerScore(address _worker) public view returns (uint256 workerScore) + { + return m_scores[_worker]; + } + + /** + * Worker subscription + */ + function registerToPool(address _worker) public returns (bool subscribed) + // msg.sender = workerPool + { + WorkerPool workerpool = WorkerPool(msg.sender); + // Check credentials + require(workerPoolHub.isWorkerPoolRegistered(msg.sender)); + // Lock worker deposit + require(lock(_worker, workerpool.m_subscriptionLockStakePolicy())); + // Check subscription policy + require(m_accounts[_worker].stake >= workerpool.m_subscriptionMinimumStakePolicy()); + require(m_scores[_worker] >= workerpool.m_subscriptionMinimumScorePolicy()); + // Update affectation + require(workerPoolHub.registerWorkerAffectation(msg.sender, _worker)); + // Trigger event notice + emit WorkerPoolSubscription(msg.sender, _worker); + return true; + } + + function unregisterFromPool(address _worker) public returns (bool unsubscribed) + // msg.sender = workerPool + { + require(removeWorker(msg.sender, _worker)); + // Trigger event notice + emit WorkerPoolUnsubscription(msg.sender, _worker); + return true; + } + + function evictWorker(address _worker) public returns (bool unsubscribed) + // msg.sender = workerpool + { + require(removeWorker(msg.sender, _worker)); + // Trigger event notice + emit WorkerPoolEviction(msg.sender, _worker); + return true; + } + + function removeWorker(address _workerpool, address _worker) internal returns (bool unsubscribed) + { + WorkerPool workerpool = WorkerPool(_workerpool); + // Check credentials + require(workerPoolHub.isWorkerPoolRegistered(_workerpool)); + // Unlick worker stake + require(unlock(_worker, workerpool.m_subscriptionLockStakePolicy())); + // Update affectation + require(workerPoolHub.unregisterWorkerAffectation(_workerpool, _worker)); + return true; + } + + /** + * Stake, reward and penalty functions + */ + /* Marketplace */ + function lockForOrder(address _user, uint256 _amount) public onlyMarketplace returns (bool) + { + require(lock(_user, _amount)); + return true; + } + function unlockForOrder(address _user, uint256 _amount) public onlyMarketplace returns (bool) + { + require(unlock(_user, _amount)); + return true; + } + /* Work */ + function lockForWork(address _woid, address _user, uint256 _amount) public onlyRegisteredWoid(_woid) returns (bool) + { + require(WorkOrder(_woid).m_workerpool() == msg.sender); + require(lock(_user, _amount)); + return true; + } + function unlockForWork(address _woid, address _user, uint256 _amount) public onlyRegisteredWoid(_woid) returns (bool) + { + require(WorkOrder(_woid).m_workerpool() == msg.sender); + require(unlock(_user, _amount)); + return true; + } + function rewardForWork(address _woid, address _worker, uint256 _amount, bool _reputation) public onlyRegisteredWoid(_woid) returns (bool) + { + require(WorkOrder(_woid).m_workerpool() == msg.sender); + require(reward(_worker, _amount)); + if (_reputation) + { + m_contributionHistory.success = m_contributionHistory.success.add(1); + m_scores[_worker] = m_scores[_worker].add(1); + emit AccurateContribution(_woid, _worker); + } + return true; + } + function seizeForWork(address _woid, address _worker, uint256 _amount, bool _reputation) public onlyRegisteredWoid(_woid) returns (bool) + { + require(WorkOrder(_woid).m_workerpool() == msg.sender); + require(seize(_worker, _amount)); + if (_reputation) + { + m_contributionHistory.failed = m_contributionHistory.failed.add(1); + m_scores[_worker] = m_scores[_worker].sub(m_scores[_worker].min(SCORE_UNITARY_SLASH)); + emit FaultyContribution(_woid, _worker); + } + return true; + } + /** + * Wallet methods: public + */ + function deposit(uint256 _amount) external returns (bool) + { + require(rlc.transferFrom(msg.sender, address(this), _amount)); + m_accounts[msg.sender].stake = m_accounts[msg.sender].stake.add(_amount); + emit Deposit(msg.sender, _amount); + return true; + } + function withdraw(uint256 _amount) external returns (bool) + { + m_accounts[msg.sender].stake = m_accounts[msg.sender].stake.sub(_amount); + require(rlc.transfer(msg.sender, _amount)); + emit Withdraw(msg.sender, _amount); + return true; + } + function checkBalance(address _owner) public view returns (uint256 stake, uint256 locked) + { + return (m_accounts[_owner].stake, m_accounts[_owner].locked); + } + /** + * Wallet methods: Internal + */ + function reward(address _user, uint256 _amount) internal returns (bool) + { + m_accounts[_user].stake = m_accounts[_user].stake.add(_amount); + emit Reward(_user, _amount); + return true; + } + function seize(address _user, uint256 _amount) internal returns (bool) + { + m_accounts[_user].locked = m_accounts[_user].locked.sub(_amount); + emit Seize(_user, _amount); + return true; + } + function lock(address _user, uint256 _amount) internal returns (bool) + { + m_accounts[_user].stake = m_accounts[_user].stake.sub(_amount); + m_accounts[_user].locked = m_accounts[_user].locked.add(_amount); + return true; + } + function unlock(address _user, uint256 _amount) internal returns (bool) + { + m_accounts[_user].locked = m_accounts[_user].locked.sub(_amount); + m_accounts[_user].stake = m_accounts[_user].stake.add(_amount); + return true; + } +} + + +pragma solidity ^0.4.21; + + +contract WorkerPool is OwnableOZ, IexecHubAccessor, MarketplaceAccessor +{ + using SafeMathOZ for uint256; + + + /** + * Members + */ + string public m_description; + uint256 public m_stakeRatioPolicy; // % of reward to stake + uint256 public m_schedulerRewardRatioPolicy; // % of reward given to scheduler + uint256 public m_subscriptionLockStakePolicy; // Stake locked when in workerpool - Constant set by constructor, do not update + uint256 public m_subscriptionMinimumStakePolicy; // Minimum stake for subscribing + uint256 public m_subscriptionMinimumScorePolicy; // Minimum score for subscribing + address[] public m_workers; + mapping(address => uint256) public m_workerIndex; + + // mapping(woid => IexecLib.Consensus) + mapping(address => IexecLib.Consensus) public m_consensus; + // mapping(woid => worker address => Contribution); + mapping(address => mapping(address => IexecLib.Contribution)) public m_contributions; + + uint256 public constant REVEAL_PERIOD_DURATION_RATIO = 2; + uint256 public constant CONSENSUS_DURATION_RATIO = 10; + + /** + * Address of slave/related contracts + */ + address public m_workerPoolHubAddress; + + + /** + * Events + */ + event WorkerPoolPolicyUpdate( + uint256 oldStakeRatioPolicy, uint256 newStakeRatioPolicy, + uint256 oldSchedulerRewardRatioPolicy, uint256 newSchedulerRewardRatioPolicy, + uint256 oldSubscriptionMinimumStakePolicy, uint256 newSubscriptionMinimumStakePolicy, + uint256 oldSubscriptionMinimumScorePolicy, uint256 newSubscriptionMinimumScorePolicy); + + event WorkOrderActive (address indexed woid); + event WorkOrderClaimed (address indexed woid); + + event AllowWorkerToContribute (address indexed woid, address indexed worker, uint256 workerScore); + event Contribute (address indexed woid, address indexed worker, bytes32 resultHash); + event RevealConsensus (address indexed woid, bytes32 consensus); + event Reveal (address indexed woid, address indexed worker, bytes32 result); + event Reopen (address indexed woid); + event FinalizeWork (address indexed woid, string stdout, string stderr, string uri); + + + + event WorkerSubscribe (address indexed worker); + event WorkerUnsubscribe (address indexed worker); + event WorkerEviction (address indexed worker); + + /** + * Methods + */ + // Constructor + function WorkerPool( + address _iexecHubAddress, + string _description, + uint256 _subscriptionLockStakePolicy, + uint256 _subscriptionMinimumStakePolicy, + uint256 _subscriptionMinimumScorePolicy, + address _marketplaceAddress) + IexecHubAccessor(_iexecHubAddress) + MarketplaceAccessor(_marketplaceAddress) + public + { + // tx.origin == owner + // msg.sender == WorkerPoolHub + require(tx.origin != msg.sender); + setImmutableOwnership(tx.origin); // owner → tx.origin + + m_description = _description; + m_stakeRatioPolicy = 30; // % of the work order price to stake + m_schedulerRewardRatioPolicy = 1; // % of the work reward going to scheduler vs workers reward + m_subscriptionLockStakePolicy = _subscriptionLockStakePolicy; // only at creation. cannot be change to respect lock/unlock of worker stake + m_subscriptionMinimumStakePolicy = _subscriptionMinimumStakePolicy; + m_subscriptionMinimumScorePolicy = _subscriptionMinimumScorePolicy; + m_workerPoolHubAddress = msg.sender; + + } + + function changeWorkerPoolPolicy( + uint256 _newStakeRatioPolicy, + uint256 _newSchedulerRewardRatioPolicy, + uint256 _newSubscriptionMinimumStakePolicy, + uint256 _newSubscriptionMinimumScorePolicy) + public onlyOwner + { + emit WorkerPoolPolicyUpdate( + m_stakeRatioPolicy, _newStakeRatioPolicy, + m_schedulerRewardRatioPolicy, _newSchedulerRewardRatioPolicy, + m_subscriptionMinimumStakePolicy, _newSubscriptionMinimumStakePolicy, + m_subscriptionMinimumScorePolicy, _newSubscriptionMinimumScorePolicy + ); + require(_newSchedulerRewardRatioPolicy <= 100); + m_stakeRatioPolicy = _newStakeRatioPolicy; + m_schedulerRewardRatioPolicy = _newSchedulerRewardRatioPolicy; + m_subscriptionMinimumStakePolicy = _newSubscriptionMinimumStakePolicy; + m_subscriptionMinimumScorePolicy = _newSubscriptionMinimumScorePolicy; + } + + /************************* worker list management **************************/ + function getWorkerAddress(uint _index) public view returns (address) + { + return m_workers[_index]; + } + function getWorkerIndex(address _worker) public view returns (uint) + { + uint index = m_workerIndex[_worker]; + require(m_workers[index] == _worker); + return index; + } + function getWorkersCount() public view returns (uint) + { + return m_workers.length; + } + + function subscribeToPool() public returns (bool) + { + // msg.sender = worker + require(iexecHubInterface.registerToPool(msg.sender)); + uint index = m_workers.push(msg.sender); + m_workerIndex[msg.sender] = index.sub(1); + emit WorkerSubscribe(msg.sender); + return true; + } + + function unsubscribeFromPool() public returns (bool) + { + // msg.sender = worker + require(iexecHubInterface.unregisterFromPool(msg.sender)); + require(removeWorker(msg.sender)); + emit WorkerUnsubscribe(msg.sender); + return true; + } + + function evictWorker(address _worker) public onlyOwner returns (bool) + { + // msg.sender = scheduler + require(iexecHubInterface.evictWorker(_worker)); + require(removeWorker(_worker)); + emit WorkerEviction(_worker); + return true; + } + + function removeWorker(address _worker) internal returns (bool) + { + uint index = getWorkerIndex(_worker); // fails if worker not registered + address lastWorker = m_workers[m_workers.length.sub(1)]; + m_workers [index ] = lastWorker; + m_workerIndex[lastWorker] = index; + delete m_workers[m_workers.length.sub(1)]; + m_workers.length = m_workers.length.sub(1); + return true; + } + + function getConsensusDetails(address _woid) public view returns ( + uint256 c_poolReward, + uint256 c_stakeAmount, + bytes32 c_consensus, + uint256 c_revealDate, + uint256 c_revealCounter, + uint256 c_consensusTimeout, + uint256 c_winnerCount, + address c_workerpoolOwner) + { + IexecLib.Consensus storage consensus = m_consensus[_woid]; + return ( + consensus.poolReward, + consensus.stakeAmount, + consensus.consensus, + consensus.revealDate, + consensus.revealCounter, + consensus.consensusTimeout, + consensus.winnerCount, + consensus.workerpoolOwner + ); + } + + function getContributorsCount(address _woid) public view returns (uint256 contributorsCount) + { + return m_consensus[_woid].contributors.length; + } + + function getContributor(address _woid, uint256 index) public view returns (address contributor) + { + return m_consensus[_woid].contributors[index]; + } + + function existingContribution(address _woid, address _worker) public view returns (bool contributionExist) + { + return m_contributions[_woid][_worker].status != IexecLib.ContributionStatusEnum.UNSET; + } + + function getContribution(address _woid, address _worker) public view returns + ( + IexecLib.ContributionStatusEnum status, + bytes32 resultHash, + bytes32 resultSign, + address enclaveChallenge, + uint256 score, + uint256 weight) + { + require(existingContribution(_woid, _worker)); // no silent value returned + IexecLib.Contribution storage contribution = m_contributions[_woid][_worker]; + return ( + contribution.status, + contribution.resultHash, + contribution.resultSign, + contribution.enclaveChallenge, + contribution.score, + contribution.weight + ); + } + + + /**************************** Works management *****************************/ + function emitWorkOrder(address _woid, uint256 _marketorderIdx) public onlyIexecHub returns (bool) + { + uint256 catid = marketplaceInterface.getMarketOrderCategory(_marketorderIdx); + uint256 timeout = iexecHubInterface.getCategoryWorkClockTimeRef(catid).mul(CONSENSUS_DURATION_RATIO).add(now); + + IexecLib.Consensus storage consensus = m_consensus[_woid]; + consensus.poolReward = marketplaceInterface.getMarketOrderValue(_marketorderIdx); + consensus.workerpoolOwner = marketplaceInterface.getMarketOrderWorkerpoolOwner(_marketorderIdx); + consensus.stakeAmount = consensus.poolReward.percentage(m_stakeRatioPolicy); + consensus.consensusTimeout = timeout; + consensus.schedulerRewardRatioPolicy = m_schedulerRewardRatioPolicy; + + emit WorkOrderActive(_woid); + + return true; + } + + function claimFailedConsensus(address _woid) public onlyIexecHub returns (bool) + { + IexecLib.Consensus storage consensus = m_consensus[_woid]; + require(now > consensus.consensusTimeout); + uint256 i; + address w; + for (i = 0; i < consensus.contributors.length; ++i) + { + w = consensus.contributors[i]; + if (m_contributions[_woid][w].status != IexecLib.ContributionStatusEnum.AUTHORIZED) + { + require(iexecHubInterface.unlockForWork(_woid, w, consensus.stakeAmount)); + } + } + emit WorkOrderClaimed(_woid); + return true; + } + + function allowWorkersToContribute(address _woid, address[] _workers, address _enclaveChallenge) public onlyOwner /*onlySheduler*/ returns (bool) + { + for (uint i = 0; i < _workers.length; ++i) + { + require(allowWorkerToContribute(_woid, _workers[i], _enclaveChallenge)); + } + return true; + } + + function allowWorkerToContribute(address _woid, address _worker, address _enclaveChallenge) public onlyOwner /*onlySheduler*/ returns (bool) + { + require(iexecHubInterface.isWoidRegistred(_woid)); + require(WorkOrder(_woid).m_status() == IexecLib.WorkOrderStatusEnum.ACTIVE); + IexecLib.Contribution storage contribution = m_contributions[_woid][_worker]; + IexecLib.Consensus storage consensus = m_consensus[_woid]; + require(now <= consensus.consensusTimeout); + + address workerPool; + uint256 workerScore; + (workerPool, workerScore) = iexecHubInterface.getWorkerStatus(_worker); // workerPool, workerScore + require(workerPool == address(this)); + + require(contribution.status == IexecLib.ContributionStatusEnum.UNSET); + contribution.status = IexecLib.ContributionStatusEnum.AUTHORIZED; + contribution.enclaveChallenge = _enclaveChallenge; + + emit AllowWorkerToContribute(_woid, _worker, workerScore); + return true; + } + + function contribute(address _woid, bytes32 _resultHash, bytes32 _resultSign, uint8 _v, bytes32 _r, bytes32 _s) public returns (uint256 workerStake) + { + require(iexecHubInterface.isWoidRegistred(_woid)); + IexecLib.Consensus storage consensus = m_consensus[_woid]; + require(now <= consensus.consensusTimeout); + require(WorkOrder(_woid).m_status() == IexecLib.WorkOrderStatusEnum.ACTIVE); // can't contribute on a claimed or completed workorder + IexecLib.Contribution storage contribution = m_contributions[_woid][msg.sender]; + + // msg.sender = a worker + require(_resultHash != 0x0); + require(_resultSign != 0x0); + if (contribution.enclaveChallenge != address(0)) + { + require(contribution.enclaveChallenge == ecrecover(keccak256("\x19Ethereum Signed Message:\n64", _resultHash, _resultSign), _v, _r, _s)); + } + + require(contribution.status == IexecLib.ContributionStatusEnum.AUTHORIZED); + contribution.status = IexecLib.ContributionStatusEnum.CONTRIBUTED; + contribution.resultHash = _resultHash; + contribution.resultSign = _resultSign; + contribution.score = iexecHubInterface.getWorkerScore(msg.sender); + consensus.contributors.push(msg.sender); + + require(iexecHubInterface.lockForWork(_woid, msg.sender, consensus.stakeAmount)); + emit Contribute(_woid, msg.sender, _resultHash); + return consensus.stakeAmount; + } + + function revealConsensus(address _woid, bytes32 _consensus) public onlyOwner /*onlySheduler*/ returns (bool) + { + require(iexecHubInterface.isWoidRegistred(_woid)); + IexecLib.Consensus storage consensus = m_consensus[_woid]; + require(now <= consensus.consensusTimeout); + require(WorkOrder(_woid).startRevealingPhase()); + + consensus.winnerCount = 0; + for (uint256 i = 0; i 0); // you cannot revealConsensus if no worker has contributed to this hash + + consensus.consensus = _consensus; + consensus.revealDate = iexecHubInterface.getCategoryWorkClockTimeRef(marketplaceInterface.getMarketOrderCategory(WorkOrder(_woid).m_marketorderIdx())).mul(REVEAL_PERIOD_DURATION_RATIO).add(now); // is it better to store th catid ? + emit RevealConsensus(_woid, _consensus); + return true; + } + + function reveal(address _woid, bytes32 _result) public returns (bool) + { + require(iexecHubInterface.isWoidRegistred(_woid)); + IexecLib.Consensus storage consensus = m_consensus[_woid]; + require(now <= consensus.consensusTimeout); + IexecLib.Contribution storage contribution = m_contributions[_woid][msg.sender]; + + require(WorkOrder(_woid).m_status() == IexecLib.WorkOrderStatusEnum.REVEALING ); + require(consensus.revealDate > now ); + require(contribution.status == IexecLib.ContributionStatusEnum.CONTRIBUTED); + require(contribution.resultHash == consensus.consensus ); + require(contribution.resultHash == keccak256(_result ) ); + require(contribution.resultSign == keccak256(_result ^ keccak256(msg.sender)) ); + + contribution.status = IexecLib.ContributionStatusEnum.PROVED; + consensus.revealCounter = consensus.revealCounter.add(1); + + emit Reveal(_woid, msg.sender, _result); + return true; + } + + function reopen(address _woid) public onlyOwner /*onlySheduler*/ returns (bool) + { + require(iexecHubInterface.isWoidRegistred(_woid)); + IexecLib.Consensus storage consensus = m_consensus[_woid]; + require(now <= consensus.consensusTimeout); + require(consensus.revealDate <= now && consensus.revealCounter == 0); + require(WorkOrder(_woid).reActivate()); + + for (uint256 i = 0; i < consensus.contributors.length; ++i) + { + address w = consensus.contributors[i]; + if (m_contributions[_woid][w].resultHash == consensus.consensus) + { + m_contributions[_woid][w].status = IexecLib.ContributionStatusEnum.REJECTED; + } + } + // Reset to status before revealConsensus. Must be after REJECTED traitement above because of consensus.consensus check + consensus.winnerCount = 0; + consensus.consensus = 0x0; + consensus.revealDate = 0; + emit Reopen(_woid); + return true; + } + + // if sheduler never call finalized ? no incetive to do that. schedulermust be pay also at this time + function finalizeWork(address _woid, string _stdout, string _stderr, string _uri) public onlyOwner /*onlySheduler*/ returns (bool) + { + require(iexecHubInterface.isWoidRegistred(_woid)); + IexecLib.Consensus storage consensus = m_consensus[_woid]; + require(now <= consensus.consensusTimeout); + require((consensus.revealDate <= now && consensus.revealCounter > 0) || (consensus.revealCounter == consensus.winnerCount)); // consensus.winnerCount never 0 at this step + + // add penalized to the call worker to contribution and they never contribute ? + require(distributeRewards(_woid, consensus)); + + require(iexecHubInterface.finalizeWorkOrder(_woid, _stdout, _stderr, _uri)); + emit FinalizeWork(_woid,_stdout,_stderr,_uri); + return true; + } + + function distributeRewards(address _woid, IexecLib.Consensus _consensus) internal returns (bool) + { + uint256 i; + address w; + uint256 workerBonus; + uint256 workerWeight; + uint256 totalWeight; + uint256 individualWorkerReward; + uint256 totalReward = _consensus.poolReward; + address[] memory contributors = _consensus.contributors; + for (i = 0; i 0); + + // compute how much is going to the workers + uint256 totalWorkersReward = totalReward.percentage(uint256(100).sub(_consensus.schedulerRewardRatioPolicy)); + + for (i = 0; i workerPool + mapping(address => address) m_workerAffectation; + // owner => index + mapping(address => uint256) m_workerPoolCountByOwner; + // owner => index => workerPool + mapping(address => mapping(uint256 => address)) m_workerPoolByOwnerByIndex; + // workerPool => owner // stored in the workerPool + /* mapping(address => address) m_ownerByWorkerPool; */ + mapping(address => bool) m_workerPoolRegistered; + + mapping(uint256 => address) m_workerPoolByIndex; + uint256 public m_totalWorkerPoolCount; + + + + /** + * Constructor + */ + function WorkerPoolHub() public + { + } + + /** + * Methods + */ + function isWorkerPoolRegistered(address _workerPool) public view returns (bool) + { + return m_workerPoolRegistered[_workerPool]; + } + function getWorkerPoolsCount(address _owner) public view returns (uint256) + { + return m_workerPoolCountByOwner[_owner]; + } + function getWorkerPool(address _owner, uint256 _index) public view returns (address) + { + return m_workerPoolByOwnerByIndex[_owner][_index]; + } + function getWorkerPoolByIndex(uint256 _index) public view returns (address) + { + return m_workerPoolByIndex[_index]; + } + function getWorkerAffectation(address _worker) public view returns (address workerPool) + { + return m_workerAffectation[_worker]; + } + + function addWorkerPool(address _owner, address _workerPool) internal + { + uint id = m_workerPoolCountByOwner[_owner].add(1); + m_totalWorkerPoolCount = m_totalWorkerPoolCount.add(1); + m_workerPoolByIndex [m_totalWorkerPoolCount] = _workerPool; + m_workerPoolCountByOwner [_owner] = id; + m_workerPoolByOwnerByIndex[_owner][id] = _workerPool; + m_workerPoolRegistered [_workerPool] = true; + } + + function createWorkerPool( + string _description, + uint256 _subscriptionLockStakePolicy, + uint256 _subscriptionMinimumStakePolicy, + uint256 _subscriptionMinimumScorePolicy, + address _marketplaceAddress) + external onlyOwner /*owner == IexecHub*/ returns (address createdWorkerPool) + { + // tx.origin == owner + // msg.sender == IexecHub + // At creating ownership is transfered to tx.origin + address newWorkerPool = new WorkerPool( + msg.sender, // iexecHubAddress + _description, + _subscriptionLockStakePolicy, + _subscriptionMinimumStakePolicy, + _subscriptionMinimumScorePolicy, + _marketplaceAddress + ); + addWorkerPool(tx.origin, newWorkerPool); + return newWorkerPool; + } + + function registerWorkerAffectation(address _workerPool, address _worker) public onlyOwner /*owner == IexecHub*/ returns (bool subscribed) + { + // you must have no cuurent affectation on others worker Pool + require(m_workerAffectation[_worker] == address(0)); + m_workerAffectation[_worker] = _workerPool; + return true; + } + + function unregisterWorkerAffectation(address _workerPool, address _worker) public onlyOwner /*owner == IexecHub*/ returns (bool unsubscribed) + { + require(m_workerAffectation[_worker] == _workerPool); + m_workerAffectation[_worker] = address(0); + return true; + } +} diff --git a/deployed/contracts/App.json b/deployed/contracts/App.json new file mode 100644 index 00000000..14300044 --- /dev/null +++ b/deployed/contracts/App.json @@ -0,0 +1,1508 @@ +{ + "contractName": "App", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "m_appPrice", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "m_appName", + "outputs": [ + { + "name": "", + "type": "string" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "m_appParams", + "outputs": [ + { + "name": "", + "type": "string" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_newOwner", + "type": "address" + } + ], + "name": "setImmutableOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "m_owner", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "m_changeable", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "name": "_iexecHubAddress", + "type": "address" + }, + { + "name": "_appName", + "type": "string" + }, + { + "name": "_appPrice", + "type": "uint256" + }, + { + "name": "_appParams", + "type": "string" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + } + ], + "bytecode": "0x6060604052341561000f57600080fd5b6040516106733803806106738339810160405280805191906020018051820191906020018051919060200180516000805460a060020a60ff0219600160a060020a03338116600160a060020a0319909316929092171674010000000000000000000000000000000000000000179091559201918591508116151561009257600080fd5b60018054600160a060020a031916600160a060020a039283161790553381163290911614156100c057600080fd5b6100d6326401000000006102c461010c82021704565b60028380516100e99291602001906101cd565b50600382905560048180516101029291602001906101cd565b5050505050610268565b60005433600160a060020a0390811691161461012757600080fd5b60005474010000000000000000000000000000000000000000900460ff16151561015057600080fd5b600160a060020a038116151561016557600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008054600160a060020a031916600160a060020a03929092169190911760a060020a60ff0219169055565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061020e57805160ff191683800117855561023b565b8280016001018555821561023b579182015b8281111561023b578251825591602001919060010190610220565b5061024792915061024b565b5090565b61026591905b808211156102475760008155600101610251565b90565b6103fc806102776000396000f3006060604052600436106100775763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166326137e6b811461007c578063358982a3146100a157806388fc56c01461012b578063bbac78a91461013e578063deff41c11461015f578063e21b9d081461018e575b600080fd5b341561008757600080fd5b61008f6101b5565b60405190815260200160405180910390f35b34156100ac57600080fd5b6100b46101bb565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156100f05780820151838201526020016100d8565b50505050905090810190601f16801561011d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561013657600080fd5b6100b4610259565b341561014957600080fd5b61015d600160a060020a03600435166102c4565b005b341561016a57600080fd5b6101726103a0565b604051600160a060020a03909116815260200160405180910390f35b341561019957600080fd5b6101a16103af565b604051901515815260200160405180910390f35b60035481565b60028054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156102515780601f1061022657610100808354040283529160200191610251565b820191906000526020600020905b81548152906001019060200180831161023457829003601f168201915b505050505081565b60048054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156102515780601f1061022657610100808354040283529160200191610251565b60005433600160a060020a039081169116146102df57600080fd5b60005474010000000000000000000000000000000000000000900460ff16151561030857600080fd5b600160a060020a038116151561031d57600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911774ff000000000000000000000000000000000000000019169055565b600054600160a060020a031681565b60005474010000000000000000000000000000000000000000900460ff16815600a165627a7a723058206d99b62a46fd6c98aa2d6fdc4f0dc4efd9a258d38aa451bf0086c59b301c301c0029", + "deployedBytecode": "0x6060604052600436106100775763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166326137e6b811461007c578063358982a3146100a157806388fc56c01461012b578063bbac78a91461013e578063deff41c11461015f578063e21b9d081461018e575b600080fd5b341561008757600080fd5b61008f6101b5565b60405190815260200160405180910390f35b34156100ac57600080fd5b6100b46101bb565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156100f05780820151838201526020016100d8565b50505050905090810190601f16801561011d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561013657600080fd5b6100b4610259565b341561014957600080fd5b61015d600160a060020a03600435166102c4565b005b341561016a57600080fd5b6101726103a0565b604051600160a060020a03909116815260200160405180910390f35b341561019957600080fd5b6101a16103af565b604051901515815260200160405180910390f35b60035481565b60028054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156102515780601f1061022657610100808354040283529160200191610251565b820191906000526020600020905b81548152906001019060200180831161023457829003601f168201915b505050505081565b60048054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156102515780601f1061022657610100808354040283529160200191610251565b60005433600160a060020a039081169116146102df57600080fd5b60005474010000000000000000000000000000000000000000900460ff16151561030857600080fd5b600160a060020a038116151561031d57600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911774ff000000000000000000000000000000000000000019169055565b600054600160a060020a031681565b60005474010000000000000000000000000000000000000000900460ff16815600a165627a7a723058206d99b62a46fd6c98aa2d6fdc4f0dc4efd9a258d38aa451bf0086c59b301c301c0029", + "sourceMap": "86:590:0:-;;;285:386;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;667:7:14;:25;;-1:-1:-1;;;;;;;;;;;682:10:14;667:25;;-1:-1:-1;;;;;;667:25:14;;;;;;;696:19;;;;;;285:386:0;;;408:16;;-1:-1:-1;300:30:7;;;;292:39;;;;;;335:17;:55;;-1:-1:-1;;;;;;335:55:7;-1:-1:-1;;;;;335:55:7;;;;;;514:10:0;501:23;;:9;:23;;;;;493:32;;;;;;529;551:9;529:21;;;;;;:32;:::i;:::-;589:9;603:8;;589:22;;;;;;;;:::i;:::-;-1:-1:-1;615:10:0;:23;;;642:11;656:10;;642:24;;;;;;;;:::i;:::-;;285:386;;;;86:590;;876:234:14;502:7;;488:10;-1:-1:-1;;;;;488:21:14;;;502:7;;488:21;480:30;;;;;;956:12;;;;;;;948:21;;;;;;;;-1:-1:-1;;;;;981:23:14;;;;973:32;;;;;;1035:7;;-1:-1:-1;;;;;1014:40:14;;;;1035:7;1014:40;;;;;;;;;;1058:7;:24;;-1:-1:-1;;;;;;1058:24:14;-1:-1:-1;;;;;1058:24:14;;;;;;;;-1:-1:-1;;;;;;1086:20:14;;;876:234::o;86:590:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;86:590:0;;;-1:-1:-1;86:590:0;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;", + "deployedSourceMap": "86:590:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;189:31;;;;;;;;;;;;;;;;;;;;;;;;;;;156:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;156:30:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;223:32;;;;;;;;;;;;876:234:14;;;;;;;;;;;;-1:-1:-1;;;;;876:234:14;;;;;238:22;;;;;;;;;;;;;;;-1:-1:-1;;;;;238:22:14;;;;;;;;;;;;;;;263:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;189:31:0;;;;:::o;156:30::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;223:32::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;876:234:14;502:7;;488:10;-1:-1:-1;;;;;488:21:14;;;502:7;;488:21;480:30;;;;;;956:12;;;;;;;948:21;;;;;;;;-1:-1:-1;;;;;981:23:14;;;;973:32;;;;;;1035:7;;-1:-1:-1;;;;;1014:40:14;;;;1035:7;1014:40;;;;;;;;;;1058:7;:24;;-1:-1:-1;;1058:24:14;-1:-1:-1;;;;;1058:24:14;;;;;;;;-1:-1:-1;;1086:20:14;;;876:234::o;238:22::-;;;-1:-1:-1;;;;;238:22:14;;:::o;263:27::-;;;;;;;;;:::o", + "source": "pragma solidity ^0.4.21;\n\nimport './OwnableOZ.sol';\nimport './IexecHubAccessor.sol';\n\ncontract App is OwnableOZ, IexecHubAccessor\n{\n\n\t/**\n\t * Members\n\t */\n\tstring public m_appName;\n\tuint256 public m_appPrice;\n\tstring public m_appParams;\n\n\t/**\n\t * Constructor\n\t */\n\tfunction App(\n\t\taddress _iexecHubAddress,\n\t\tstring _appName,\n\t\tuint256 _appPrice,\n\t\tstring _appParams)\n\tIexecHubAccessor(_iexecHubAddress)\n\tpublic\n\t{\n\t\t// tx.origin == owner\n\t\t// msg.sender == DatasetHub\n\t\trequire(tx.origin != msg.sender);\n\t\tsetImmutableOwnership(tx.origin); // owner → tx.origin\n\n\t\tm_appName = _appName;\n\t\tm_appPrice = _appPrice;\n\t\tm_appParams = _appParams;\n\n\t}\n\n\n\n}\n", + "sourcePath": "/Users/fbranci/iexecdev/PoCo/contracts/App.sol", + "ast": { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/App.sol", + "exportedSymbols": { + "App": [ + 54 + ] + }, + "id": 55, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1, + "literals": [ + "solidity", + "^", + "0.4", + ".21" + ], + "nodeType": "PragmaDirective", + "src": "0:24:0" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/OwnableOZ.sol", + "file": "./OwnableOZ.sol", + "id": 2, + "nodeType": "ImportDirective", + "scope": 55, + "sourceUnit": 3748, + "src": "26:25:0", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/IexecHubAccessor.sol", + "file": "./IexecHubAccessor.sol", + "id": 3, + "nodeType": "ImportDirective", + "scope": 55, + "sourceUnit": 2476, + "src": "52:32:0", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": [], + "baseName": { + "contractScope": null, + "id": 4, + "name": "OwnableOZ", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 3747, + "src": "102:9:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_OwnableOZ_$3747", + "typeString": "contract OwnableOZ" + } + }, + "id": 5, + "nodeType": "InheritanceSpecifier", + "src": "102:9:0" + }, + { + "arguments": [], + "baseName": { + "contractScope": null, + "id": 6, + "name": "IexecHubAccessor", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2475, + "src": "113:16:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubAccessor_$2475", + "typeString": "contract IexecHubAccessor" + } + }, + "id": 7, + "nodeType": "InheritanceSpecifier", + "src": "113:16:0" + } + ], + "contractDependencies": [ + 2475, + 3747 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 54, + "linearizedBaseContracts": [ + 54, + 2475, + 3747 + ], + "name": "App", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 9, + "name": "m_appName", + "nodeType": "VariableDeclaration", + "scope": 54, + "src": "156:30:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + }, + "typeName": { + "id": 8, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "156:6:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 11, + "name": "m_appPrice", + "nodeType": "VariableDeclaration", + "scope": 54, + "src": "189:31:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "189:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 13, + "name": "m_appParams", + "nodeType": "VariableDeclaration", + "scope": 54, + "src": "223:32:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + }, + "typeName": { + "id": 12, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "223:6:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "public" + }, + { + "body": { + "id": 52, + "nodeType": "Block", + "src": "435:236:0", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 32, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 28, + "name": "tx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7018, + "src": "501:2:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_transaction", + "typeString": "tx" + } + }, + "id": 29, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "origin", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "501:9:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 30, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "514:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 31, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "514:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "501:23:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 27, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "493:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 33, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "493:32:0", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 34, + "nodeType": "ExpressionStatement", + "src": "493:32:0" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 36, + "name": "tx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7018, + "src": "551:2:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_transaction", + "typeString": "tx" + } + }, + "id": 37, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "origin", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "551:9:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 35, + "name": "setImmutableOwnership", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3746, + "src": "529:21:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 38, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "529:32:0", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 39, + "nodeType": "ExpressionStatement", + "src": "529:32:0" + }, + { + "expression": { + "argumentTypes": null, + "id": 42, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 40, + "name": "m_appName", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9, + "src": "589:9:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 41, + "name": "_appName", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17, + "src": "603:8:0", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "589:22:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 43, + "nodeType": "ExpressionStatement", + "src": "589:22:0" + }, + { + "expression": { + "argumentTypes": null, + "id": 46, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 44, + "name": "m_appPrice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11, + "src": "615:10:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 45, + "name": "_appPrice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19, + "src": "629:9:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "615:23:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 47, + "nodeType": "ExpressionStatement", + "src": "615:23:0" + }, + { + "expression": { + "argumentTypes": null, + "id": 50, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 48, + "name": "m_appParams", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13, + "src": "642:11:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 49, + "name": "_appParams", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21, + "src": "656:10:0", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "642:24:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 51, + "nodeType": "ExpressionStatement", + "src": "642:24:0" + } + ] + }, + "documentation": "Constructor", + "id": 53, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "id": 24, + "name": "_iexecHubAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15, + "src": "408:16:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 25, + "modifierName": { + "argumentTypes": null, + "id": 23, + "name": "IexecHubAccessor", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2475, + "src": "391:16:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecHubAccessor_$2475_$", + "typeString": "type(contract IexecHubAccessor)" + } + }, + "nodeType": "ModifierInvocation", + "src": "391:34:0" + } + ], + "name": "App", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 22, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15, + "name": "_iexecHubAddress", + "nodeType": "VariableDeclaration", + "scope": 53, + "src": "301:24:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 14, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "301:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 17, + "name": "_appName", + "nodeType": "VariableDeclaration", + "scope": 53, + "src": "329:16:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 16, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "329:6:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 19, + "name": "_appPrice", + "nodeType": "VariableDeclaration", + "scope": 53, + "src": "349:17:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 18, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "349:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 21, + "name": "_appParams", + "nodeType": "VariableDeclaration", + "scope": 53, + "src": "370:18:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 20, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "370:6:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "297:92:0" + }, + "payable": false, + "returnParameters": { + "id": 26, + "nodeType": "ParameterList", + "parameters": [], + "src": "435:0:0" + }, + "scope": 54, + "src": "285:386:0", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 55, + "src": "86:590:0" + } + ], + "src": "0:677:0" + }, + "legacyAST": { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/App.sol", + "exportedSymbols": { + "App": [ + 54 + ] + }, + "id": 55, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1, + "literals": [ + "solidity", + "^", + "0.4", + ".21" + ], + "nodeType": "PragmaDirective", + "src": "0:24:0" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/OwnableOZ.sol", + "file": "./OwnableOZ.sol", + "id": 2, + "nodeType": "ImportDirective", + "scope": 55, + "sourceUnit": 3748, + "src": "26:25:0", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/IexecHubAccessor.sol", + "file": "./IexecHubAccessor.sol", + "id": 3, + "nodeType": "ImportDirective", + "scope": 55, + "sourceUnit": 2476, + "src": "52:32:0", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": [], + "baseName": { + "contractScope": null, + "id": 4, + "name": "OwnableOZ", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 3747, + "src": "102:9:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_OwnableOZ_$3747", + "typeString": "contract OwnableOZ" + } + }, + "id": 5, + "nodeType": "InheritanceSpecifier", + "src": "102:9:0" + }, + { + "arguments": [], + "baseName": { + "contractScope": null, + "id": 6, + "name": "IexecHubAccessor", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2475, + "src": "113:16:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubAccessor_$2475", + "typeString": "contract IexecHubAccessor" + } + }, + "id": 7, + "nodeType": "InheritanceSpecifier", + "src": "113:16:0" + } + ], + "contractDependencies": [ + 2475, + 3747 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 54, + "linearizedBaseContracts": [ + 54, + 2475, + 3747 + ], + "name": "App", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 9, + "name": "m_appName", + "nodeType": "VariableDeclaration", + "scope": 54, + "src": "156:30:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + }, + "typeName": { + "id": 8, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "156:6:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 11, + "name": "m_appPrice", + "nodeType": "VariableDeclaration", + "scope": 54, + "src": "189:31:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "189:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 13, + "name": "m_appParams", + "nodeType": "VariableDeclaration", + "scope": 54, + "src": "223:32:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + }, + "typeName": { + "id": 12, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "223:6:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "public" + }, + { + "body": { + "id": 52, + "nodeType": "Block", + "src": "435:236:0", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 32, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 28, + "name": "tx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7018, + "src": "501:2:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_transaction", + "typeString": "tx" + } + }, + "id": 29, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "origin", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "501:9:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 30, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "514:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 31, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "514:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "501:23:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 27, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "493:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 33, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "493:32:0", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 34, + "nodeType": "ExpressionStatement", + "src": "493:32:0" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 36, + "name": "tx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7018, + "src": "551:2:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_transaction", + "typeString": "tx" + } + }, + "id": 37, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "origin", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "551:9:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 35, + "name": "setImmutableOwnership", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3746, + "src": "529:21:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 38, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "529:32:0", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 39, + "nodeType": "ExpressionStatement", + "src": "529:32:0" + }, + { + "expression": { + "argumentTypes": null, + "id": 42, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 40, + "name": "m_appName", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9, + "src": "589:9:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 41, + "name": "_appName", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17, + "src": "603:8:0", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "589:22:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 43, + "nodeType": "ExpressionStatement", + "src": "589:22:0" + }, + { + "expression": { + "argumentTypes": null, + "id": 46, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 44, + "name": "m_appPrice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11, + "src": "615:10:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 45, + "name": "_appPrice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19, + "src": "629:9:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "615:23:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 47, + "nodeType": "ExpressionStatement", + "src": "615:23:0" + }, + { + "expression": { + "argumentTypes": null, + "id": 50, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 48, + "name": "m_appParams", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13, + "src": "642:11:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 49, + "name": "_appParams", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21, + "src": "656:10:0", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "642:24:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 51, + "nodeType": "ExpressionStatement", + "src": "642:24:0" + } + ] + }, + "documentation": "Constructor", + "id": 53, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "id": 24, + "name": "_iexecHubAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15, + "src": "408:16:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 25, + "modifierName": { + "argumentTypes": null, + "id": 23, + "name": "IexecHubAccessor", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2475, + "src": "391:16:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecHubAccessor_$2475_$", + "typeString": "type(contract IexecHubAccessor)" + } + }, + "nodeType": "ModifierInvocation", + "src": "391:34:0" + } + ], + "name": "App", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 22, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15, + "name": "_iexecHubAddress", + "nodeType": "VariableDeclaration", + "scope": 53, + "src": "301:24:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 14, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "301:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 17, + "name": "_appName", + "nodeType": "VariableDeclaration", + "scope": 53, + "src": "329:16:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 16, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "329:6:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 19, + "name": "_appPrice", + "nodeType": "VariableDeclaration", + "scope": 53, + "src": "349:17:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 18, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "349:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 21, + "name": "_appParams", + "nodeType": "VariableDeclaration", + "scope": 53, + "src": "370:18:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 20, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "370:6:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "297:92:0" + }, + "payable": false, + "returnParameters": { + "id": 26, + "nodeType": "ParameterList", + "parameters": [], + "src": "435:0:0" + }, + "scope": 54, + "src": "285:386:0", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 55, + "src": "86:590:0" + } + ], + "src": "0:677:0" + }, + "compiler": { + "name": "solc", + "version": "0.4.21+commit.dfe3193c.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "2.0.0", + "updatedAt": "2018-06-12T14:56:21.133Z" +} \ No newline at end of file diff --git a/deployed/contracts/AppHub.json b/deployed/contracts/AppHub.json new file mode 100644 index 00000000..354b432b --- /dev/null +++ b/deployed/contracts/AppHub.json @@ -0,0 +1,4341 @@ +{ + "contractName": "AppHub", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "m_totalAppCount", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_newOwner", + "type": "address" + } + ], + "name": "setImmutableOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "m_owner", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "m_changeable", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "constant": true, + "inputs": [ + { + "name": "_app", + "type": "address" + } + ], + "name": "isAppRegistered", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_owner", + "type": "address" + } + ], + "name": "getAppsCount", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_owner", + "type": "address" + }, + { + "name": "_index", + "type": "uint256" + } + ], + "name": "getApp", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_index", + "type": "uint256" + } + ], + "name": "getAppByIndex", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_appName", + "type": "string" + }, + { + "name": "_appPrice", + "type": "uint256" + }, + { + "name": "_appParams", + "type": "string" + } + ], + "name": "createApp", + "outputs": [ + { + "name": "createdApp", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x6060604052341561000f57600080fd5b6000805474010000000000000000000000000000000000000000600160a060020a031990911633600160a060020a03161760a060020a60ff021916178155610ca490819061005d90396000f3006060604052600436106100985763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166323797ed9811461009d5780633a911d30146100cf5780635476f49d146101005780638403be9114610113578063baebcaf014610146578063bbac78a914610168578063deff41c114610189578063e21b9d081461019c578063fc06a877146101af575b600080fd5b34156100a857600080fd5b6100b360043561024b565b604051600160a060020a03909116815260200160405180910390f35b34156100da57600080fd5b6100ee600160a060020a0360043516610266565b60405190815260200160405180910390f35b341561010b57600080fd5b6100ee610281565b341561011e57600080fd5b610132600160a060020a0360043516610287565b604051901515815260200160405180910390f35b341561015157600080fd5b6100b3600160a060020a03600435166024356102a5565b341561017357600080fd5b610187600160a060020a03600435166102cd565b005b341561019457600080fd5b6100b36103a9565b34156101a757600080fd5b6101326103b8565b34156101ba57600080fd5b6100b360046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001909190803590602001908201803590602001908080601f0160208091040260200160405190810160405281815292919060208401838380828437509496506103d995505050505050565b600090815260046020526040902054600160a060020a031690565b600160a060020a031660009081526001602052604090205490565b60055481565b600160a060020a031660009081526003602052604090205460ff1690565b600160a060020a03918216600090815260026020908152604080832093835292905220541690565b60005433600160a060020a039081169116146102e857600080fd5b60005474010000000000000000000000000000000000000000900460ff16151561031157600080fd5b600160a060020a038116151561032657600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911774ff000000000000000000000000000000000000000019169055565b600054600160a060020a031681565b60005474010000000000000000000000000000000000000000900460ff1681565b60008054819033600160a060020a039081169116146103f757600080fd5b338585856104036105f5565b600160a060020a038516815260408101839052608060208201818152906060830190830186818151815260200191508051906020019080838360005b8381101561045757808201518382015260200161043f565b50505050905090810190601f1680156104845780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b838110156104ba5780820151838201526020016104a2565b50505050905090810190601f1680156104e75780820380516001836020036101000a031916815260200191505b509650505050505050604051809103906000f080151561050657600080fd5b9050610512328261051a565b949350505050565b600160a060020a03821660009081526001602081905260408220546105449163ffffffff6105df16565b60055490915061055b90600163ffffffff6105df16565b600581905560009081526004602090815260408083208054600160a060020a0396871673ffffffffffffffffffffffffffffffffffffffff199182168117909255969095168352600180835281842085905560028352818420948452938252808320805490961685179095559281526003909252919020805460ff19169091179055565b6000828201838110156105ee57fe5b9392505050565b604051610673806106068339019056006060604052341561000f57600080fd5b6040516106733803806106738339810160405280805191906020018051820191906020018051919060200180516000805460a060020a60ff0219600160a060020a03338116600160a060020a0319909316929092171674010000000000000000000000000000000000000000179091559201918591508116151561009257600080fd5b60018054600160a060020a031916600160a060020a039283161790553381163290911614156100c057600080fd5b6100d6326401000000006102c461010c82021704565b60028380516100e99291602001906101cd565b50600382905560048180516101029291602001906101cd565b5050505050610268565b60005433600160a060020a0390811691161461012757600080fd5b60005474010000000000000000000000000000000000000000900460ff16151561015057600080fd5b600160a060020a038116151561016557600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008054600160a060020a031916600160a060020a03929092169190911760a060020a60ff0219169055565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061020e57805160ff191683800117855561023b565b8280016001018555821561023b579182015b8281111561023b578251825591602001919060010190610220565b5061024792915061024b565b5090565b61026591905b808211156102475760008155600101610251565b90565b6103fc806102776000396000f3006060604052600436106100775763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166326137e6b811461007c578063358982a3146100a157806388fc56c01461012b578063bbac78a91461013e578063deff41c11461015f578063e21b9d081461018e575b600080fd5b341561008757600080fd5b61008f6101b5565b60405190815260200160405180910390f35b34156100ac57600080fd5b6100b46101bb565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156100f05780820151838201526020016100d8565b50505050905090810190601f16801561011d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561013657600080fd5b6100b4610259565b341561014957600080fd5b61015d600160a060020a03600435166102c4565b005b341561016a57600080fd5b6101726103a0565b604051600160a060020a03909116815260200160405180910390f35b341561019957600080fd5b6101a16103af565b604051901515815260200160405180910390f35b60035481565b60028054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156102515780601f1061022657610100808354040283529160200191610251565b820191906000526020600020905b81548152906001019060200180831161023457829003601f168201915b505050505081565b60048054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156102515780601f1061022657610100808354040283529160200191610251565b60005433600160a060020a039081169116146102df57600080fd5b60005474010000000000000000000000000000000000000000900460ff16151561030857600080fd5b600160a060020a038116151561031d57600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911774ff000000000000000000000000000000000000000019169055565b600054600160a060020a031681565b60005474010000000000000000000000000000000000000000900460ff16815600a165627a7a723058206d99b62a46fd6c98aa2d6fdc4f0dc4efd9a258d38aa451bf0086c59b301c301c0029a165627a7a72305820b9a0e370247ae1efb1243ba4f2d6e809f8d7bc2d2060445732251051820b3dfa0029", + "deployedBytecode": "0x6060604052600436106100985763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166323797ed9811461009d5780633a911d30146100cf5780635476f49d146101005780638403be9114610113578063baebcaf014610146578063bbac78a914610168578063deff41c114610189578063e21b9d081461019c578063fc06a877146101af575b600080fd5b34156100a857600080fd5b6100b360043561024b565b604051600160a060020a03909116815260200160405180910390f35b34156100da57600080fd5b6100ee600160a060020a0360043516610266565b60405190815260200160405180910390f35b341561010b57600080fd5b6100ee610281565b341561011e57600080fd5b610132600160a060020a0360043516610287565b604051901515815260200160405180910390f35b341561015157600080fd5b6100b3600160a060020a03600435166024356102a5565b341561017357600080fd5b610187600160a060020a03600435166102cd565b005b341561019457600080fd5b6100b36103a9565b34156101a757600080fd5b6101326103b8565b34156101ba57600080fd5b6100b360046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001909190803590602001908201803590602001908080601f0160208091040260200160405190810160405281815292919060208401838380828437509496506103d995505050505050565b600090815260046020526040902054600160a060020a031690565b600160a060020a031660009081526001602052604090205490565b60055481565b600160a060020a031660009081526003602052604090205460ff1690565b600160a060020a03918216600090815260026020908152604080832093835292905220541690565b60005433600160a060020a039081169116146102e857600080fd5b60005474010000000000000000000000000000000000000000900460ff16151561031157600080fd5b600160a060020a038116151561032657600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911774ff000000000000000000000000000000000000000019169055565b600054600160a060020a031681565b60005474010000000000000000000000000000000000000000900460ff1681565b60008054819033600160a060020a039081169116146103f757600080fd5b338585856104036105f5565b600160a060020a038516815260408101839052608060208201818152906060830190830186818151815260200191508051906020019080838360005b8381101561045757808201518382015260200161043f565b50505050905090810190601f1680156104845780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b838110156104ba5780820151838201526020016104a2565b50505050905090810190601f1680156104e75780820380516001836020036101000a031916815260200191505b509650505050505050604051809103906000f080151561050657600080fd5b9050610512328261051a565b949350505050565b600160a060020a03821660009081526001602081905260408220546105449163ffffffff6105df16565b60055490915061055b90600163ffffffff6105df16565b600581905560009081526004602090815260408083208054600160a060020a0396871673ffffffffffffffffffffffffffffffffffffffff199182168117909255969095168352600180835281842085905560028352818420948452938252808320805490961685179095559281526003909252919020805460ff19169091179055565b6000828201838110156105ee57fe5b9392505050565b604051610673806106068339019056006060604052341561000f57600080fd5b6040516106733803806106738339810160405280805191906020018051820191906020018051919060200180516000805460a060020a60ff0219600160a060020a03338116600160a060020a0319909316929092171674010000000000000000000000000000000000000000179091559201918591508116151561009257600080fd5b60018054600160a060020a031916600160a060020a039283161790553381163290911614156100c057600080fd5b6100d6326401000000006102c461010c82021704565b60028380516100e99291602001906101cd565b50600382905560048180516101029291602001906101cd565b5050505050610268565b60005433600160a060020a0390811691161461012757600080fd5b60005474010000000000000000000000000000000000000000900460ff16151561015057600080fd5b600160a060020a038116151561016557600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008054600160a060020a031916600160a060020a03929092169190911760a060020a60ff0219169055565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061020e57805160ff191683800117855561023b565b8280016001018555821561023b579182015b8281111561023b578251825591602001919060010190610220565b5061024792915061024b565b5090565b61026591905b808211156102475760008155600101610251565b90565b6103fc806102776000396000f3006060604052600436106100775763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166326137e6b811461007c578063358982a3146100a157806388fc56c01461012b578063bbac78a91461013e578063deff41c11461015f578063e21b9d081461018e575b600080fd5b341561008757600080fd5b61008f6101b5565b60405190815260200160405180910390f35b34156100ac57600080fd5b6100b46101bb565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156100f05780820151838201526020016100d8565b50505050905090810190601f16801561011d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561013657600080fd5b6100b4610259565b341561014957600080fd5b61015d600160a060020a03600435166102c4565b005b341561016a57600080fd5b6101726103a0565b604051600160a060020a03909116815260200160405180910390f35b341561019957600080fd5b6101a16103af565b604051901515815260200160405180910390f35b60035481565b60028054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156102515780601f1061022657610100808354040283529160200191610251565b820191906000526020600020905b81548152906001019060200180831161023457829003601f168201915b505050505081565b60048054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156102515780601f1061022657610100808354040283529160200191610251565b60005433600160a060020a039081169116146102df57600080fd5b60005474010000000000000000000000000000000000000000900460ff16151561030857600080fd5b600160a060020a038116151561031d57600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911774ff000000000000000000000000000000000000000019169055565b600054600160a060020a031681565b60005474010000000000000000000000000000000000000000900460ff16815600a165627a7a723058206d99b62a46fd6c98aa2d6fdc4f0dc4efd9a258d38aa451bf0086c59b301c301c0029a165627a7a72305820b9a0e370247ae1efb1243ba4f2d6e809f8d7bc2d2060445732251051820b3dfa0029", + "sourceMap": "100:1666:1:-;;;572:30;;;;;;;;667:7:14;:25;;696:19;-1:-1:-1;;;;;;667:25:14;;;682:10;-1:-1:-1;;;;;667:25:14;;-1:-1:-1;;;;;;696:19:14;;;;100:1666:1;;;;;;;;", + "deployedSourceMap": "100:1666:1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;974:105;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;974:105:1;;;;;;;;;;;;;;732:109;;;;;;;;;;-1:-1:-1;;;;;732:109:1;;;;;;;;;;;;;;;;;;;;479:63;;;;;;;;;;;;627:103;;;;;;;;;;-1:-1:-1;;;;;627:103:1;;;;;;;;;;;;;;;;;;;;;;843:129;;;;;;;;;;-1:-1:-1;;;;;843:129:1;;;;;;;876:234:14;;;;;;;;;;-1:-1:-1;;;;;876:234:14;;;;;;;238:22;;;;;;;;;;;;263:27;;;;;;;;;;;;1419:344:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1419:344:1;;-1:-1:-1;1419:344:1;;-1:-1:-1;;;;;;1419:344:1;974:105;1034:7;1055:20;;;:12;:20;;;;;;-1:-1:-1;;;;;1055:20:1;;974:105::o;732:109::-;-1:-1:-1;;;;;812:25:1;791:7;812:25;;;:17;:25;;;;;;;732:109::o;479:63::-;;;;:::o;627:103::-;-1:-1:-1;;;;;705:21:1;687:4;705:21;;;:15;:21;;;;;;;;;627:103::o;843:129::-;-1:-1:-1;;;;;933:27:1;;;912:7;933:27;;;:19;:27;;;;;;;;:35;;;;;;;;;;843:129::o;876:234:14:-;502:7;;488:10;-1:-1:-1;;;;;488:21:14;;;502:7;;488:21;480:30;;;;;;956:12;;;;;;;948:21;;;;;;;;-1:-1:-1;;;;;981:23:14;;;;973:32;;;;;;1035:7;;-1:-1:-1;;;;;1014:40:14;;;;1035:7;1014:40;;;;;;;;;;1058:7;:24;;-1:-1:-1;;1058:24:14;-1:-1:-1;;;;;1058:24:14;;;;;;;;-1:-1:-1;;1086:20:14;;;876:234::o;238:22::-;;;-1:-1:-1;;;;;238:22:14;;:::o;263:27::-;;;;;;;;;:::o;1419:344:1:-;1551:18;502:7:14;;1551:18:1;;488:10:14;-1:-1:-1;;;;;488:21:14;;;502:7;;488:21;480:30;;;;;;1657:10:1;1672:8;1685:9;1699:10;1645:68;;:::i;:::-;-1:-1:-1;;;;;1645:68:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;1645:68:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;1645:68:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1628:85;;1717:25;1724:9;1735:6;1717;:25::i;:::-;1753:6;1419:344;-1:-1:-1;;;;1419:344:1:o;1082:334::-;-1:-1:-1;;;;;1152:25:1;;1142:7;1152:25;;;1182:1;1152:25;;;;;;;;:32;;;:29;:32;:::i;:::-;1204:15;;1142:42;;-1:-1:-1;1204:22:1;;1224:1;1204:22;:19;:22;:::i;:::-;1188:15;:38;;;1230:36;;;;:12;:36;;;;;;;;:43;;-1:-1:-1;;;;;1230:43:1;;;-1:-1:-1;;1230:43:1;;;;;;;;1277:27;;;;;;1230:43;1277:27;;;;;;:41;;;1322:19;:27;;;;;:31;;;;;;;;;:43;;;;;;;;;;1369:25;;;:15;:25;;;;;;:43;;-1:-1:-1;;1369:43:1;;;;;;1082:334::o;405:123:15:-;463:7;489:5;;;505:6;;;;498:14;;;;523:1;405:123;-1:-1:-1;;;405:123:15:o;100:1666:1:-;;;;;;;;;;:::o", + "source": "pragma solidity ^0.4.21;\n\nimport './App.sol';\nimport \"./OwnableOZ.sol\";\nimport \"./SafeMathOZ.sol\";\n\ncontract AppHub is OwnableOZ // is Owned by IexecHub\n{\n\n\tusing SafeMathOZ for uint256;\n\n\t/**\n\t * Members\n\t */\n\tmapping(address => uint256) m_appCountByOwner;\n\tmapping(address => mapping(uint256 => address)) m_appByOwnerByIndex;\n\tmapping(address => bool) m_appRegistered;\n\n\tmapping(uint256 => address) m_appByIndex;\n\tuint256 public m_totalAppCount;\n\n\t/**\n\t * Constructor\n\t */\n\tfunction AppHub() public\n\t{\n\t}\n\n\t/**\n\t * Methods\n\t */\n\tfunction isAppRegistered(address _app) public view returns (bool)\n\t{\n\t\treturn m_appRegistered[_app];\n\t}\n\tfunction getAppsCount(address _owner) public view returns (uint256)\n\t{\n\t\treturn m_appCountByOwner[_owner];\n\t}\n\tfunction getApp(address _owner, uint256 _index) public view returns (address)\n\t{\n\t\treturn m_appByOwnerByIndex[_owner][_index];\n\t}\n\tfunction getAppByIndex(uint256 _index) public view returns (address)\n\t{\n\t\treturn m_appByIndex[_index];\n\t}\n\n\tfunction addApp(address _owner, address _app) internal\n\t{\n\t\tuint id = m_appCountByOwner[_owner].add(1);\n\t\tm_totalAppCount=m_totalAppCount.add(1);\n\t\tm_appByIndex [m_totalAppCount] = _app;\n\t\tm_appCountByOwner [_owner] = id;\n\t\tm_appByOwnerByIndex[_owner][id] = _app;\n\t\tm_appRegistered [_app] = true;\n\t}\n\n\tfunction createApp(\n\t\tstring _appName,\n\t\tuint256 _appPrice,\n\t\tstring _appParams)\n\tpublic onlyOwner /*owner == IexecHub*/ returns (address createdApp)\n\t{\n\t\t// tx.origin == owner\n\t\t// msg.sender == IexecHub\n\t\taddress newApp = new App(\n\t\t\tmsg.sender,\n\t\t\t_appName,\n\t\t\t_appPrice,\n\t\t\t_appParams\n\t\t);\n\t\taddApp(tx.origin, newApp);\n\t\treturn newApp;\n\t}\n\n}\n", + "sourcePath": "/Users/fbranci/iexecdev/PoCo/contracts/AppHub.sol", + "ast": { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/AppHub.sol", + "exportedSymbols": { + "AppHub": [ + 224 + ] + }, + "id": 225, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 56, + "literals": [ + "solidity", + "^", + "0.4", + ".21" + ], + "nodeType": "PragmaDirective", + "src": "0:24:1" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/App.sol", + "file": "./App.sol", + "id": 57, + "nodeType": "ImportDirective", + "scope": 225, + "sourceUnit": 55, + "src": "26:19:1", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/OwnableOZ.sol", + "file": "./OwnableOZ.sol", + "id": 58, + "nodeType": "ImportDirective", + "scope": 225, + "sourceUnit": 3748, + "src": "46:25:1", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/SafeMathOZ.sol", + "file": "./SafeMathOZ.sol", + "id": 59, + "nodeType": "ImportDirective", + "scope": 225, + "sourceUnit": 3925, + "src": "72:26:1", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": [], + "baseName": { + "contractScope": null, + "id": 60, + "name": "OwnableOZ", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 3747, + "src": "119:9:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_OwnableOZ_$3747", + "typeString": "contract OwnableOZ" + } + }, + "id": 61, + "nodeType": "InheritanceSpecifier", + "src": "119:9:1" + } + ], + "contractDependencies": [ + 54, + 3747 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 224, + "linearizedBaseContracts": [ + 224, + 3747 + ], + "name": "AppHub", + "nodeType": "ContractDefinition", + "nodes": [ + { + "id": 64, + "libraryName": { + "contractScope": null, + "id": 62, + "name": "SafeMathOZ", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 3924, + "src": "163:10:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_SafeMathOZ_$3924", + "typeString": "library SafeMathOZ" + } + }, + "nodeType": "UsingForDirective", + "src": "157:29:1", + "typeName": { + "id": 63, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "178:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + { + "constant": false, + "id": 68, + "name": "m_appCountByOwner", + "nodeType": "VariableDeclaration", + "scope": 224, + "src": "211:65:1", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "typeName": { + "id": 67, + "keyType": { + "id": 65, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "219:7:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "211:27:1", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "valueType": { + "id": 66, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "230:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 74, + "name": "m_appByOwnerByIndex", + "nodeType": "VariableDeclaration", + "scope": 224, + "src": "279:67:1", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_address_$_$", + "typeString": "mapping(address => mapping(uint256 => address))" + }, + "typeName": { + "id": 73, + "keyType": { + "id": 69, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "287:7:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "279:47:1", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_address_$_$", + "typeString": "mapping(address => mapping(uint256 => address))" + }, + "valueType": { + "id": 72, + "keyType": { + "id": 70, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "306:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Mapping", + "src": "298:27:1", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + }, + "valueType": { + "id": 71, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "317:7:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 78, + "name": "m_appRegistered", + "nodeType": "VariableDeclaration", + "scope": 224, + "src": "349:63:1", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + }, + "typeName": { + "id": 77, + "keyType": { + "id": 75, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "357:7:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "349:24:1", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + }, + "valueType": { + "id": 76, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "368:4:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 82, + "name": "m_appByIndex", + "nodeType": "VariableDeclaration", + "scope": 224, + "src": "416:60:1", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + }, + "typeName": { + "id": 81, + "keyType": { + "id": 79, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "424:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Mapping", + "src": "416:27:1", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + }, + "valueType": { + "id": 80, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "435:7:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 84, + "name": "m_totalAppCount", + "nodeType": "VariableDeclaration", + "scope": 224, + "src": "479:63:1", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 83, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "479:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "public" + }, + { + "body": { + "id": 87, + "nodeType": "Block", + "src": "598:4:1", + "statements": [] + }, + "documentation": "Constructor", + "id": 88, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "AppHub", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 85, + "nodeType": "ParameterList", + "parameters": [], + "src": "587:2:1" + }, + "payable": false, + "returnParameters": { + "id": 86, + "nodeType": "ParameterList", + "parameters": [], + "src": "598:0:1" + }, + "scope": 224, + "src": "572:30:1", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 99, + "nodeType": "Block", + "src": "694:36:1", + "statements": [ + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 95, + "name": "m_appRegistered", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 78, + "src": "705:15:1", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 97, + "indexExpression": { + "argumentTypes": null, + "id": 96, + "name": "_app", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 90, + "src": "721:4:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "705:21:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 94, + "id": 98, + "nodeType": "Return", + "src": "698:28:1" + } + ] + }, + "documentation": "Methods", + "id": 100, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "isAppRegistered", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 91, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 90, + "name": "_app", + "nodeType": "VariableDeclaration", + "scope": 100, + "src": "652:12:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 89, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "652:7:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "651:14:1" + }, + "payable": false, + "returnParameters": { + "id": 94, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 93, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 100, + "src": "687:4:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 92, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "687:4:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "686:6:1" + }, + "scope": 224, + "src": "627:103:1", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 111, + "nodeType": "Block", + "src": "801:40:1", + "statements": [ + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 107, + "name": "m_appCountByOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 68, + "src": "812:17:1", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 109, + "indexExpression": { + "argumentTypes": null, + "id": 108, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 102, + "src": "830:6:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "812:25:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 106, + "id": 110, + "nodeType": "Return", + "src": "805:32:1" + } + ] + }, + "documentation": null, + "id": 112, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getAppsCount", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 103, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 102, + "name": "_owner", + "nodeType": "VariableDeclaration", + "scope": 112, + "src": "754:14:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 101, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "754:7:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "753:16:1" + }, + "payable": false, + "returnParameters": { + "id": 106, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 105, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 112, + "src": "791:7:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 104, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "791:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "790:9:1" + }, + "scope": 224, + "src": "732:109:1", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 127, + "nodeType": "Block", + "src": "922:50:1", + "statements": [ + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 121, + "name": "m_appByOwnerByIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74, + "src": "933:19:1", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_address_$_$", + "typeString": "mapping(address => mapping(uint256 => address))" + } + }, + "id": 123, + "indexExpression": { + "argumentTypes": null, + "id": 122, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 114, + "src": "953:6:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "933:27:1", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + } + }, + "id": 125, + "indexExpression": { + "argumentTypes": null, + "id": 124, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 116, + "src": "961:6:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "933:35:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 120, + "id": 126, + "nodeType": "Return", + "src": "926:42:1" + } + ] + }, + "documentation": null, + "id": 128, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getApp", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 117, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 114, + "name": "_owner", + "nodeType": "VariableDeclaration", + "scope": 128, + "src": "859:14:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 113, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "859:7:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 116, + "name": "_index", + "nodeType": "VariableDeclaration", + "scope": 128, + "src": "875:14:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 115, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "875:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "858:32:1" + }, + "payable": false, + "returnParameters": { + "id": 120, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 119, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 128, + "src": "912:7:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 118, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "912:7:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "911:9:1" + }, + "scope": 224, + "src": "843:129:1", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 139, + "nodeType": "Block", + "src": "1044:35:1", + "statements": [ + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 135, + "name": "m_appByIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 82, + "src": "1055:12:1", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + } + }, + "id": 137, + "indexExpression": { + "argumentTypes": null, + "id": 136, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 130, + "src": "1068:6:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1055:20:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 134, + "id": 138, + "nodeType": "Return", + "src": "1048:27:1" + } + ] + }, + "documentation": null, + "id": 140, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getAppByIndex", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 131, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 130, + "name": "_index", + "nodeType": "VariableDeclaration", + "scope": 140, + "src": "997:14:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 129, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "997:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "996:16:1" + }, + "payable": false, + "returnParameters": { + "id": 134, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 133, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 140, + "src": "1034:7:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 132, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1034:7:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1033:9:1" + }, + "scope": 224, + "src": "974:105:1", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 189, + "nodeType": "Block", + "src": "1138:278:1", + "statements": [ + { + "assignments": [ + 148 + ], + "declarations": [ + { + "constant": false, + "id": 148, + "name": "id", + "nodeType": "VariableDeclaration", + "scope": 190, + "src": "1142:7:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 147, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1142:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 155, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31", + "id": 153, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1182:1:1", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 149, + "name": "m_appCountByOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 68, + "src": "1152:17:1", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 151, + "indexExpression": { + "argumentTypes": null, + "id": 150, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 142, + "src": "1170:6:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1152:25:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 152, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 3773, + "src": "1152:29:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 154, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1152:32:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1142:42:1" + }, + { + "expression": { + "argumentTypes": null, + "id": 161, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 156, + "name": "m_totalAppCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 84, + "src": "1188:15:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31", + "id": 159, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1224:1:1", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "expression": { + "argumentTypes": null, + "id": 157, + "name": "m_totalAppCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 84, + "src": "1204:15:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 158, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 3773, + "src": "1204:19:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 160, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1204:22:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1188:38:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 162, + "nodeType": "ExpressionStatement", + "src": "1188:38:1" + }, + { + "expression": { + "argumentTypes": null, + "id": 167, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 163, + "name": "m_appByIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 82, + "src": "1230:12:1", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + } + }, + "id": 165, + "indexExpression": { + "argumentTypes": null, + "id": 164, + "name": "m_totalAppCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 84, + "src": "1250:15:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1230:36:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 166, + "name": "_app", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 144, + "src": "1269:4:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1230:43:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 168, + "nodeType": "ExpressionStatement", + "src": "1230:43:1" + }, + { + "expression": { + "argumentTypes": null, + "id": 173, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 169, + "name": "m_appCountByOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 68, + "src": "1277:17:1", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 171, + "indexExpression": { + "argumentTypes": null, + "id": 170, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 142, + "src": "1297:6:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1277:27:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 172, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 148, + "src": "1316:2:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1277:41:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 174, + "nodeType": "ExpressionStatement", + "src": "1277:41:1" + }, + { + "expression": { + "argumentTypes": null, + "id": 181, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 175, + "name": "m_appByOwnerByIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74, + "src": "1322:19:1", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_address_$_$", + "typeString": "mapping(address => mapping(uint256 => address))" + } + }, + "id": 178, + "indexExpression": { + "argumentTypes": null, + "id": 176, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 142, + "src": "1342:6:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1322:27:1", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + } + }, + "id": 179, + "indexExpression": { + "argumentTypes": null, + "id": 177, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 148, + "src": "1350:2:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1322:31:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 180, + "name": "_app", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 144, + "src": "1361:4:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1322:43:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 182, + "nodeType": "ExpressionStatement", + "src": "1322:43:1" + }, + { + "expression": { + "argumentTypes": null, + "id": 187, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 183, + "name": "m_appRegistered", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 78, + "src": "1369:15:1", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 185, + "indexExpression": { + "argumentTypes": null, + "id": 184, + "name": "_app", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 144, + "src": "1389:4:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1369:25:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 186, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1408:4:1", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "1369:43:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 188, + "nodeType": "ExpressionStatement", + "src": "1369:43:1" + } + ] + }, + "documentation": null, + "id": 190, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "addApp", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 145, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 142, + "name": "_owner", + "nodeType": "VariableDeclaration", + "scope": 190, + "src": "1098:14:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 141, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1098:7:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 144, + "name": "_app", + "nodeType": "VariableDeclaration", + "scope": 190, + "src": "1114:12:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 143, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1114:7:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1097:30:1" + }, + "payable": false, + "returnParameters": { + "id": 146, + "nodeType": "ParameterList", + "parameters": [], + "src": "1138:0:1" + }, + "scope": 224, + "src": "1082:334:1", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 222, + "nodeType": "Block", + "src": "1572:191:1", + "statements": [ + { + "assignments": [ + 204 + ], + "declarations": [ + { + "constant": false, + "id": 204, + "name": "newApp", + "nodeType": "VariableDeclaration", + "scope": 223, + "src": "1628:14:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 203, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1628:7:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 213, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 207, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "1657:3:1", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 208, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1657:10:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 209, + "name": "_appName", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 192, + "src": "1672:8:1", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "id": 210, + "name": "_appPrice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 194, + "src": "1685:9:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 211, + "name": "_appParams", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 196, + "src": "1699:10:1", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 206, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "1645:7:1", + "typeDescriptions": { + "typeIdentifier": "t_function_creation_nonpayable$_t_address_$_t_string_memory_ptr_$_t_uint256_$_t_string_memory_ptr_$returns$_t_contract$_App_$54_$", + "typeString": "function (address,string memory,uint256,string memory) returns (contract App)" + }, + "typeName": { + "contractScope": null, + "id": 205, + "name": "App", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 54, + "src": "1649:3:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_App_$54", + "typeString": "contract App" + } + } + }, + "id": 212, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1645:68:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_App_$54", + "typeString": "contract App" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1628:85:1" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 215, + "name": "tx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7018, + "src": "1724:2:1", + "typeDescriptions": { + "typeIdentifier": "t_magic_transaction", + "typeString": "tx" + } + }, + "id": 216, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "origin", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1724:9:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 217, + "name": "newApp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 204, + "src": "1735:6:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 214, + "name": "addApp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 190, + "src": "1717:6:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address)" + } + }, + "id": 218, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1717:25:1", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 219, + "nodeType": "ExpressionStatement", + "src": "1717:25:1" + }, + { + "expression": { + "argumentTypes": null, + "id": 220, + "name": "newApp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 204, + "src": "1753:6:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 202, + "id": 221, + "nodeType": "Return", + "src": "1746:13:1" + } + ] + }, + "documentation": null, + "id": 223, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 199, + "modifierName": { + "argumentTypes": null, + "id": 198, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3700, + "src": "1510:9:1", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "1510:9:1" + } + ], + "name": "createApp", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 197, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 192, + "name": "_appName", + "nodeType": "VariableDeclaration", + "scope": 223, + "src": "1441:16:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 191, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1441:6:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 194, + "name": "_appPrice", + "nodeType": "VariableDeclaration", + "scope": 223, + "src": "1461:17:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 193, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1461:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 196, + "name": "_appParams", + "nodeType": "VariableDeclaration", + "scope": 223, + "src": "1482:18:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 195, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1482:6:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1437:64:1" + }, + "payable": false, + "returnParameters": { + "id": 202, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 201, + "name": "createdApp", + "nodeType": "VariableDeclaration", + "scope": 223, + "src": "1551:18:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 200, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1551:7:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1550:20:1" + }, + "scope": 224, + "src": "1419:344:1", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 225, + "src": "100:1666:1" + } + ], + "src": "0:1767:1" + }, + "legacyAST": { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/AppHub.sol", + "exportedSymbols": { + "AppHub": [ + 224 + ] + }, + "id": 225, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 56, + "literals": [ + "solidity", + "^", + "0.4", + ".21" + ], + "nodeType": "PragmaDirective", + "src": "0:24:1" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/App.sol", + "file": "./App.sol", + "id": 57, + "nodeType": "ImportDirective", + "scope": 225, + "sourceUnit": 55, + "src": "26:19:1", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/OwnableOZ.sol", + "file": "./OwnableOZ.sol", + "id": 58, + "nodeType": "ImportDirective", + "scope": 225, + "sourceUnit": 3748, + "src": "46:25:1", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/SafeMathOZ.sol", + "file": "./SafeMathOZ.sol", + "id": 59, + "nodeType": "ImportDirective", + "scope": 225, + "sourceUnit": 3925, + "src": "72:26:1", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": [], + "baseName": { + "contractScope": null, + "id": 60, + "name": "OwnableOZ", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 3747, + "src": "119:9:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_OwnableOZ_$3747", + "typeString": "contract OwnableOZ" + } + }, + "id": 61, + "nodeType": "InheritanceSpecifier", + "src": "119:9:1" + } + ], + "contractDependencies": [ + 54, + 3747 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 224, + "linearizedBaseContracts": [ + 224, + 3747 + ], + "name": "AppHub", + "nodeType": "ContractDefinition", + "nodes": [ + { + "id": 64, + "libraryName": { + "contractScope": null, + "id": 62, + "name": "SafeMathOZ", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 3924, + "src": "163:10:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_SafeMathOZ_$3924", + "typeString": "library SafeMathOZ" + } + }, + "nodeType": "UsingForDirective", + "src": "157:29:1", + "typeName": { + "id": 63, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "178:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + { + "constant": false, + "id": 68, + "name": "m_appCountByOwner", + "nodeType": "VariableDeclaration", + "scope": 224, + "src": "211:65:1", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "typeName": { + "id": 67, + "keyType": { + "id": 65, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "219:7:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "211:27:1", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "valueType": { + "id": 66, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "230:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 74, + "name": "m_appByOwnerByIndex", + "nodeType": "VariableDeclaration", + "scope": 224, + "src": "279:67:1", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_address_$_$", + "typeString": "mapping(address => mapping(uint256 => address))" + }, + "typeName": { + "id": 73, + "keyType": { + "id": 69, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "287:7:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "279:47:1", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_address_$_$", + "typeString": "mapping(address => mapping(uint256 => address))" + }, + "valueType": { + "id": 72, + "keyType": { + "id": 70, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "306:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Mapping", + "src": "298:27:1", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + }, + "valueType": { + "id": 71, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "317:7:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 78, + "name": "m_appRegistered", + "nodeType": "VariableDeclaration", + "scope": 224, + "src": "349:63:1", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + }, + "typeName": { + "id": 77, + "keyType": { + "id": 75, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "357:7:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "349:24:1", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + }, + "valueType": { + "id": 76, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "368:4:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 82, + "name": "m_appByIndex", + "nodeType": "VariableDeclaration", + "scope": 224, + "src": "416:60:1", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + }, + "typeName": { + "id": 81, + "keyType": { + "id": 79, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "424:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Mapping", + "src": "416:27:1", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + }, + "valueType": { + "id": 80, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "435:7:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 84, + "name": "m_totalAppCount", + "nodeType": "VariableDeclaration", + "scope": 224, + "src": "479:63:1", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 83, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "479:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "public" + }, + { + "body": { + "id": 87, + "nodeType": "Block", + "src": "598:4:1", + "statements": [] + }, + "documentation": "Constructor", + "id": 88, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "AppHub", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 85, + "nodeType": "ParameterList", + "parameters": [], + "src": "587:2:1" + }, + "payable": false, + "returnParameters": { + "id": 86, + "nodeType": "ParameterList", + "parameters": [], + "src": "598:0:1" + }, + "scope": 224, + "src": "572:30:1", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 99, + "nodeType": "Block", + "src": "694:36:1", + "statements": [ + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 95, + "name": "m_appRegistered", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 78, + "src": "705:15:1", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 97, + "indexExpression": { + "argumentTypes": null, + "id": 96, + "name": "_app", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 90, + "src": "721:4:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "705:21:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 94, + "id": 98, + "nodeType": "Return", + "src": "698:28:1" + } + ] + }, + "documentation": "Methods", + "id": 100, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "isAppRegistered", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 91, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 90, + "name": "_app", + "nodeType": "VariableDeclaration", + "scope": 100, + "src": "652:12:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 89, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "652:7:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "651:14:1" + }, + "payable": false, + "returnParameters": { + "id": 94, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 93, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 100, + "src": "687:4:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 92, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "687:4:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "686:6:1" + }, + "scope": 224, + "src": "627:103:1", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 111, + "nodeType": "Block", + "src": "801:40:1", + "statements": [ + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 107, + "name": "m_appCountByOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 68, + "src": "812:17:1", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 109, + "indexExpression": { + "argumentTypes": null, + "id": 108, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 102, + "src": "830:6:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "812:25:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 106, + "id": 110, + "nodeType": "Return", + "src": "805:32:1" + } + ] + }, + "documentation": null, + "id": 112, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getAppsCount", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 103, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 102, + "name": "_owner", + "nodeType": "VariableDeclaration", + "scope": 112, + "src": "754:14:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 101, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "754:7:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "753:16:1" + }, + "payable": false, + "returnParameters": { + "id": 106, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 105, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 112, + "src": "791:7:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 104, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "791:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "790:9:1" + }, + "scope": 224, + "src": "732:109:1", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 127, + "nodeType": "Block", + "src": "922:50:1", + "statements": [ + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 121, + "name": "m_appByOwnerByIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74, + "src": "933:19:1", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_address_$_$", + "typeString": "mapping(address => mapping(uint256 => address))" + } + }, + "id": 123, + "indexExpression": { + "argumentTypes": null, + "id": 122, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 114, + "src": "953:6:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "933:27:1", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + } + }, + "id": 125, + "indexExpression": { + "argumentTypes": null, + "id": 124, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 116, + "src": "961:6:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "933:35:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 120, + "id": 126, + "nodeType": "Return", + "src": "926:42:1" + } + ] + }, + "documentation": null, + "id": 128, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getApp", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 117, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 114, + "name": "_owner", + "nodeType": "VariableDeclaration", + "scope": 128, + "src": "859:14:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 113, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "859:7:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 116, + "name": "_index", + "nodeType": "VariableDeclaration", + "scope": 128, + "src": "875:14:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 115, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "875:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "858:32:1" + }, + "payable": false, + "returnParameters": { + "id": 120, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 119, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 128, + "src": "912:7:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 118, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "912:7:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "911:9:1" + }, + "scope": 224, + "src": "843:129:1", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 139, + "nodeType": "Block", + "src": "1044:35:1", + "statements": [ + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 135, + "name": "m_appByIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 82, + "src": "1055:12:1", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + } + }, + "id": 137, + "indexExpression": { + "argumentTypes": null, + "id": 136, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 130, + "src": "1068:6:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1055:20:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 134, + "id": 138, + "nodeType": "Return", + "src": "1048:27:1" + } + ] + }, + "documentation": null, + "id": 140, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getAppByIndex", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 131, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 130, + "name": "_index", + "nodeType": "VariableDeclaration", + "scope": 140, + "src": "997:14:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 129, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "997:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "996:16:1" + }, + "payable": false, + "returnParameters": { + "id": 134, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 133, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 140, + "src": "1034:7:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 132, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1034:7:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1033:9:1" + }, + "scope": 224, + "src": "974:105:1", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 189, + "nodeType": "Block", + "src": "1138:278:1", + "statements": [ + { + "assignments": [ + 148 + ], + "declarations": [ + { + "constant": false, + "id": 148, + "name": "id", + "nodeType": "VariableDeclaration", + "scope": 190, + "src": "1142:7:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 147, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1142:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 155, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31", + "id": 153, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1182:1:1", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 149, + "name": "m_appCountByOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 68, + "src": "1152:17:1", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 151, + "indexExpression": { + "argumentTypes": null, + "id": 150, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 142, + "src": "1170:6:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1152:25:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 152, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 3773, + "src": "1152:29:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 154, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1152:32:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1142:42:1" + }, + { + "expression": { + "argumentTypes": null, + "id": 161, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 156, + "name": "m_totalAppCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 84, + "src": "1188:15:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31", + "id": 159, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1224:1:1", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "expression": { + "argumentTypes": null, + "id": 157, + "name": "m_totalAppCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 84, + "src": "1204:15:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 158, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 3773, + "src": "1204:19:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 160, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1204:22:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1188:38:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 162, + "nodeType": "ExpressionStatement", + "src": "1188:38:1" + }, + { + "expression": { + "argumentTypes": null, + "id": 167, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 163, + "name": "m_appByIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 82, + "src": "1230:12:1", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + } + }, + "id": 165, + "indexExpression": { + "argumentTypes": null, + "id": 164, + "name": "m_totalAppCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 84, + "src": "1250:15:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1230:36:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 166, + "name": "_app", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 144, + "src": "1269:4:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1230:43:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 168, + "nodeType": "ExpressionStatement", + "src": "1230:43:1" + }, + { + "expression": { + "argumentTypes": null, + "id": 173, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 169, + "name": "m_appCountByOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 68, + "src": "1277:17:1", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 171, + "indexExpression": { + "argumentTypes": null, + "id": 170, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 142, + "src": "1297:6:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1277:27:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 172, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 148, + "src": "1316:2:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1277:41:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 174, + "nodeType": "ExpressionStatement", + "src": "1277:41:1" + }, + { + "expression": { + "argumentTypes": null, + "id": 181, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 175, + "name": "m_appByOwnerByIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74, + "src": "1322:19:1", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_address_$_$", + "typeString": "mapping(address => mapping(uint256 => address))" + } + }, + "id": 178, + "indexExpression": { + "argumentTypes": null, + "id": 176, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 142, + "src": "1342:6:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1322:27:1", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + } + }, + "id": 179, + "indexExpression": { + "argumentTypes": null, + "id": 177, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 148, + "src": "1350:2:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1322:31:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 180, + "name": "_app", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 144, + "src": "1361:4:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1322:43:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 182, + "nodeType": "ExpressionStatement", + "src": "1322:43:1" + }, + { + "expression": { + "argumentTypes": null, + "id": 187, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 183, + "name": "m_appRegistered", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 78, + "src": "1369:15:1", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 185, + "indexExpression": { + "argumentTypes": null, + "id": 184, + "name": "_app", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 144, + "src": "1389:4:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1369:25:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 186, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1408:4:1", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "1369:43:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 188, + "nodeType": "ExpressionStatement", + "src": "1369:43:1" + } + ] + }, + "documentation": null, + "id": 190, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "addApp", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 145, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 142, + "name": "_owner", + "nodeType": "VariableDeclaration", + "scope": 190, + "src": "1098:14:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 141, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1098:7:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 144, + "name": "_app", + "nodeType": "VariableDeclaration", + "scope": 190, + "src": "1114:12:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 143, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1114:7:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1097:30:1" + }, + "payable": false, + "returnParameters": { + "id": 146, + "nodeType": "ParameterList", + "parameters": [], + "src": "1138:0:1" + }, + "scope": 224, + "src": "1082:334:1", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 222, + "nodeType": "Block", + "src": "1572:191:1", + "statements": [ + { + "assignments": [ + 204 + ], + "declarations": [ + { + "constant": false, + "id": 204, + "name": "newApp", + "nodeType": "VariableDeclaration", + "scope": 223, + "src": "1628:14:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 203, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1628:7:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 213, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 207, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "1657:3:1", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 208, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1657:10:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 209, + "name": "_appName", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 192, + "src": "1672:8:1", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "id": 210, + "name": "_appPrice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 194, + "src": "1685:9:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 211, + "name": "_appParams", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 196, + "src": "1699:10:1", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 206, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "1645:7:1", + "typeDescriptions": { + "typeIdentifier": "t_function_creation_nonpayable$_t_address_$_t_string_memory_ptr_$_t_uint256_$_t_string_memory_ptr_$returns$_t_contract$_App_$54_$", + "typeString": "function (address,string memory,uint256,string memory) returns (contract App)" + }, + "typeName": { + "contractScope": null, + "id": 205, + "name": "App", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 54, + "src": "1649:3:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_App_$54", + "typeString": "contract App" + } + } + }, + "id": 212, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1645:68:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_App_$54", + "typeString": "contract App" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1628:85:1" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 215, + "name": "tx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7018, + "src": "1724:2:1", + "typeDescriptions": { + "typeIdentifier": "t_magic_transaction", + "typeString": "tx" + } + }, + "id": 216, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "origin", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1724:9:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 217, + "name": "newApp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 204, + "src": "1735:6:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 214, + "name": "addApp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 190, + "src": "1717:6:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address)" + } + }, + "id": 218, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1717:25:1", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 219, + "nodeType": "ExpressionStatement", + "src": "1717:25:1" + }, + { + "expression": { + "argumentTypes": null, + "id": 220, + "name": "newApp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 204, + "src": "1753:6:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 202, + "id": 221, + "nodeType": "Return", + "src": "1746:13:1" + } + ] + }, + "documentation": null, + "id": 223, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 199, + "modifierName": { + "argumentTypes": null, + "id": 198, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3700, + "src": "1510:9:1", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "1510:9:1" + } + ], + "name": "createApp", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 197, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 192, + "name": "_appName", + "nodeType": "VariableDeclaration", + "scope": 223, + "src": "1441:16:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 191, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1441:6:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 194, + "name": "_appPrice", + "nodeType": "VariableDeclaration", + "scope": 223, + "src": "1461:17:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 193, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1461:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 196, + "name": "_appParams", + "nodeType": "VariableDeclaration", + "scope": 223, + "src": "1482:18:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 195, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1482:6:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1437:64:1" + }, + "payable": false, + "returnParameters": { + "id": 202, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 201, + "name": "createdApp", + "nodeType": "VariableDeclaration", + "scope": 223, + "src": "1551:18:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 200, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1551:7:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1550:20:1" + }, + "scope": 224, + "src": "1419:344:1", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 225, + "src": "100:1666:1" + } + ], + "src": "0:1767:1" + }, + "compiler": { + "name": "solc", + "version": "0.4.21+commit.dfe3193c.Emscripten.clang" + }, + "networks": { + "1": { + "events": { + "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + } + }, + "links": {}, + "address": "0xb4f226150bdc6cf901c15e4ed1caeda7ea5c512c", + "transactionHash": "0xfea5e3122cea6830157eb8c4b28319e62d65a64c53c4546160d31aadfb5d6ff6" + } + }, + "schemaVersion": "2.0.0", + "updatedAt": "2018-06-12T15:21:39.629Z" +} \ No newline at end of file diff --git a/deployed/contracts/Dataset.json b/deployed/contracts/Dataset.json new file mode 100644 index 00000000..280563fb --- /dev/null +++ b/deployed/contracts/Dataset.json @@ -0,0 +1,1508 @@ +{ + "contractName": "Dataset", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "m_datasetName", + "outputs": [ + { + "name": "", + "type": "string" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "m_datasetPrice", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_newOwner", + "type": "address" + } + ], + "name": "setImmutableOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "m_datasetParams", + "outputs": [ + { + "name": "", + "type": "string" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "m_owner", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "m_changeable", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "name": "_iexecHubAddress", + "type": "address" + }, + { + "name": "_datasetName", + "type": "string" + }, + { + "name": "_datasetPrice", + "type": "uint256" + }, + { + "name": "_datasetParams", + "type": "string" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + } + ], + "bytecode": "0x6060604052341561000f57600080fd5b6040516106733803806106738339810160405280805191906020018051820191906020018051919060200180516000805460a060020a60ff0219600160a060020a03338116600160a060020a0319909316929092171674010000000000000000000000000000000000000000179091559201918591508116151561009257600080fd5b60018054600160a060020a031916600160a060020a039283161790553381163290911614156100c057600080fd5b6100d63264010000000061025961010c82021704565b60028380516100e99291602001906101cd565b50600382905560048180516101029291602001906101cd565b5050505050610268565b60005433600160a060020a0390811691161461012757600080fd5b60005474010000000000000000000000000000000000000000900460ff16151561015057600080fd5b600160a060020a038116151561016557600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008054600160a060020a031916600160a060020a03929092169190911760a060020a60ff0219169055565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061020e57805160ff191683800117855561023b565b8280016001018555821561023b579182015b8281111561023b578251825591602001919060010190610220565b5061024792915061024b565b5090565b61026591905b808211156102475760008155600101610251565b90565b6103fc806102776000396000f3006060604052600436106100775763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630847c431811461007c57806362d598eb14610106578063bbac78a91461012b578063c2880e171461014c578063deff41c11461015f578063e21b9d081461018e575b600080fd5b341561008757600080fd5b61008f6101b5565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156100cb5780820151838201526020016100b3565b50505050905090810190601f1680156100f85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561011157600080fd5b610119610253565b60405190815260200160405180910390f35b341561013657600080fd5b61014a600160a060020a0360043516610259565b005b341561015757600080fd5b61008f610335565b341561016a57600080fd5b6101726103a0565b604051600160a060020a03909116815260200160405180910390f35b341561019957600080fd5b6101a16103af565b604051901515815260200160405180910390f35b60028054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561024b5780601f106102205761010080835404028352916020019161024b565b820191906000526020600020905b81548152906001019060200180831161022e57829003601f168201915b505050505081565b60035481565b60005433600160a060020a0390811691161461027457600080fd5b60005474010000000000000000000000000000000000000000900460ff16151561029d57600080fd5b600160a060020a03811615156102b257600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911774ff000000000000000000000000000000000000000019169055565b60048054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561024b5780601f106102205761010080835404028352916020019161024b565b600054600160a060020a031681565b60005474010000000000000000000000000000000000000000900460ff16815600a165627a7a723058205ffc863a097aa3a9df8dcd15972d278d368758dd3e2a6e19a607a6f484d5c0b20029", + "deployedBytecode": "0x6060604052600436106100775763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630847c431811461007c57806362d598eb14610106578063bbac78a91461012b578063c2880e171461014c578063deff41c11461015f578063e21b9d081461018e575b600080fd5b341561008757600080fd5b61008f6101b5565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156100cb5780820151838201526020016100b3565b50505050905090810190601f1680156100f85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561011157600080fd5b610119610253565b60405190815260200160405180910390f35b341561013657600080fd5b61014a600160a060020a0360043516610259565b005b341561015757600080fd5b61008f610335565b341561016a57600080fd5b6101726103a0565b604051600160a060020a03909116815260200160405180910390f35b341561019957600080fd5b6101a16103af565b604051901515815260200160405180910390f35b60028054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561024b5780601f106102205761010080835404028352916020019161024b565b820191906000526020600020905b81548152906001019060200180831161022e57829003601f168201915b505050505081565b60035481565b60005433600160a060020a0390811691161461027457600080fd5b60005474010000000000000000000000000000000000000000900460ff16151561029d57600080fd5b600160a060020a03811615156102b257600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911774ff000000000000000000000000000000000000000019169055565b60048054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561024b5780601f106102205761010080835404028352916020019161024b565b600054600160a060020a031681565b60005474010000000000000000000000000000000000000000900460ff16815600a165627a7a723058205ffc863a097aa3a9df8dcd15972d278d368758dd3e2a6e19a607a6f484d5c0b20029", + "sourceMap": "86:657:2:-;;;313:426;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;667:7:14;:25;;-1:-1:-1;;;;;;;;;;;682:10:14;667:25;;-1:-1:-1;;;;;;667:25:14;;;;;;;696:19;;;;;;313:426:2;;;452:16;;-1:-1:-1;300:30:7;;;;292:39;;;;;;335:17;:55;;-1:-1:-1;;;;;;335:55:7;-1:-1:-1;;;;;335:55:7;;;;;;558:10:2;545:23;;:9;:23;;;;;537:32;;;;;;573;595:9;573:21;;;;;;:32;:::i;:::-;633:13;651:12;;633:30;;;;;;;;:::i;:::-;-1:-1:-1;667:14:2;:31;;;702:15;720:14;;702:32;;;;;;;;:::i;:::-;;313:426;;;;86:657;;876:234:14;502:7;;488:10;-1:-1:-1;;;;;488:21:14;;;502:7;;488:21;480:30;;;;;;956:12;;;;;;;948:21;;;;;;;;-1:-1:-1;;;;;981:23:14;;;;973:32;;;;;;1035:7;;-1:-1:-1;;;;;1014:40:14;;;;1035:7;1014:40;;;;;;;;;;1058:7;:24;;-1:-1:-1;;;;;;1058:24:14;-1:-1:-1;;;;;1058:24:14;;;;;;;;-1:-1:-1;;;;;;1086:20:14;;;876:234::o;86:657:2:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;86:657:2;;;-1:-1:-1;86:657:2;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;", + "deployedSourceMap": "86:657:2:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;160:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;160:38:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;201:39;;;;;;;;;;;;;;;;;;;;;;;;;;;876:234:14;;;;;;;;;;;;-1:-1:-1;;;;;876:234:14;;;;;243:40:2;;;;;;;;;;;;238:22:14;;;;;;;;;;;;;;;-1:-1:-1;;;;;238:22:14;;;;;;;;;;;;;;;263:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;160:38:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;201:39::-;;;;:::o;876:234:14:-;502:7;;488:10;-1:-1:-1;;;;;488:21:14;;;502:7;;488:21;480:30;;;;;;956:12;;;;;;;948:21;;;;;;;;-1:-1:-1;;;;;981:23:14;;;;973:32;;;;;;1035:7;;-1:-1:-1;;;;;1014:40:14;;;;1035:7;1014:40;;;;;;;;;;1058:7;:24;;-1:-1:-1;;1058:24:14;-1:-1:-1;;;;;1058:24:14;;;;;;;;-1:-1:-1;;1086:20:14;;;876:234::o;243:40:2:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;238:22:14;;;-1:-1:-1;;;;;238:22:14;;:::o;263:27::-;;;;;;;;;:::o", + "source": "pragma solidity ^0.4.21;\n\nimport './OwnableOZ.sol';\nimport './IexecHubAccessor.sol';\n\ncontract Dataset is OwnableOZ, IexecHubAccessor\n{\n\n\t/**\n\t * Members\n\t */\n\tstring public m_datasetName;\n\tuint256 public m_datasetPrice;\n\tstring public m_datasetParams;\n\n\t/**\n\t * Constructor\n\t */\n\tfunction Dataset(\n\t\taddress _iexecHubAddress,\n\t\tstring _datasetName,\n\t\tuint256 _datasetPrice,\n\t\tstring _datasetParams)\n\tIexecHubAccessor(_iexecHubAddress)\n\tpublic\n\t{\n\t\t// tx.origin == owner\n\t\t// msg.sender == DatasetHub\n\t\trequire(tx.origin != msg.sender);\n\t\tsetImmutableOwnership(tx.origin); // owner → tx.origin\n\n\t\tm_datasetName = _datasetName;\n\t\tm_datasetPrice = _datasetPrice;\n\t\tm_datasetParams = _datasetParams;\n\n\t}\n\n\n}\n", + "sourcePath": "/Users/fbranci/iexecdev/PoCo/contracts/Dataset.sol", + "ast": { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/Dataset.sol", + "exportedSymbols": { + "Dataset": [ + 279 + ] + }, + "id": 280, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 226, + "literals": [ + "solidity", + "^", + "0.4", + ".21" + ], + "nodeType": "PragmaDirective", + "src": "0:24:2" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/OwnableOZ.sol", + "file": "./OwnableOZ.sol", + "id": 227, + "nodeType": "ImportDirective", + "scope": 280, + "sourceUnit": 3748, + "src": "26:25:2", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/IexecHubAccessor.sol", + "file": "./IexecHubAccessor.sol", + "id": 228, + "nodeType": "ImportDirective", + "scope": 280, + "sourceUnit": 2476, + "src": "52:32:2", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": [], + "baseName": { + "contractScope": null, + "id": 229, + "name": "OwnableOZ", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 3747, + "src": "106:9:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_OwnableOZ_$3747", + "typeString": "contract OwnableOZ" + } + }, + "id": 230, + "nodeType": "InheritanceSpecifier", + "src": "106:9:2" + }, + { + "arguments": [], + "baseName": { + "contractScope": null, + "id": 231, + "name": "IexecHubAccessor", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2475, + "src": "117:16:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubAccessor_$2475", + "typeString": "contract IexecHubAccessor" + } + }, + "id": 232, + "nodeType": "InheritanceSpecifier", + "src": "117:16:2" + } + ], + "contractDependencies": [ + 2475, + 3747 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 279, + "linearizedBaseContracts": [ + 279, + 2475, + 3747 + ], + "name": "Dataset", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 234, + "name": "m_datasetName", + "nodeType": "VariableDeclaration", + "scope": 279, + "src": "160:38:2", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + }, + "typeName": { + "id": 233, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "160:6:2", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 236, + "name": "m_datasetPrice", + "nodeType": "VariableDeclaration", + "scope": 279, + "src": "201:39:2", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 235, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "201:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 238, + "name": "m_datasetParams", + "nodeType": "VariableDeclaration", + "scope": 279, + "src": "243:40:2", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + }, + "typeName": { + "id": 237, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "243:6:2", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "public" + }, + { + "body": { + "id": 277, + "nodeType": "Block", + "src": "479:260:2", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 257, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 253, + "name": "tx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7018, + "src": "545:2:2", + "typeDescriptions": { + "typeIdentifier": "t_magic_transaction", + "typeString": "tx" + } + }, + "id": 254, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "origin", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "545:9:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 255, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "558:3:2", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 256, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "558:10:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "545:23:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 252, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "537:7:2", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 258, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "537:32:2", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 259, + "nodeType": "ExpressionStatement", + "src": "537:32:2" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 261, + "name": "tx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7018, + "src": "595:2:2", + "typeDescriptions": { + "typeIdentifier": "t_magic_transaction", + "typeString": "tx" + } + }, + "id": 262, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "origin", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "595:9:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 260, + "name": "setImmutableOwnership", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3746, + "src": "573:21:2", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 263, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "573:32:2", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 264, + "nodeType": "ExpressionStatement", + "src": "573:32:2" + }, + { + "expression": { + "argumentTypes": null, + "id": 267, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 265, + "name": "m_datasetName", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 234, + "src": "633:13:2", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 266, + "name": "_datasetName", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 242, + "src": "651:12:2", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "633:30:2", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 268, + "nodeType": "ExpressionStatement", + "src": "633:30:2" + }, + { + "expression": { + "argumentTypes": null, + "id": 271, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 269, + "name": "m_datasetPrice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 236, + "src": "667:14:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 270, + "name": "_datasetPrice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 244, + "src": "685:13:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "667:31:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 272, + "nodeType": "ExpressionStatement", + "src": "667:31:2" + }, + { + "expression": { + "argumentTypes": null, + "id": 275, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 273, + "name": "m_datasetParams", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 238, + "src": "702:15:2", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 274, + "name": "_datasetParams", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 246, + "src": "720:14:2", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "702:32:2", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 276, + "nodeType": "ExpressionStatement", + "src": "702:32:2" + } + ] + }, + "documentation": "Constructor", + "id": 278, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "id": 249, + "name": "_iexecHubAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 240, + "src": "452:16:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 250, + "modifierName": { + "argumentTypes": null, + "id": 248, + "name": "IexecHubAccessor", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2475, + "src": "435:16:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecHubAccessor_$2475_$", + "typeString": "type(contract IexecHubAccessor)" + } + }, + "nodeType": "ModifierInvocation", + "src": "435:34:2" + } + ], + "name": "Dataset", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 247, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 240, + "name": "_iexecHubAddress", + "nodeType": "VariableDeclaration", + "scope": 278, + "src": "333:24:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 239, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "333:7:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 242, + "name": "_datasetName", + "nodeType": "VariableDeclaration", + "scope": 278, + "src": "361:20:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 241, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "361:6:2", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 244, + "name": "_datasetPrice", + "nodeType": "VariableDeclaration", + "scope": 278, + "src": "385:21:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 243, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "385:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 246, + "name": "_datasetParams", + "nodeType": "VariableDeclaration", + "scope": 278, + "src": "410:22:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 245, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "410:6:2", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "329:104:2" + }, + "payable": false, + "returnParameters": { + "id": 251, + "nodeType": "ParameterList", + "parameters": [], + "src": "479:0:2" + }, + "scope": 279, + "src": "313:426:2", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 280, + "src": "86:657:2" + } + ], + "src": "0:744:2" + }, + "legacyAST": { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/Dataset.sol", + "exportedSymbols": { + "Dataset": [ + 279 + ] + }, + "id": 280, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 226, + "literals": [ + "solidity", + "^", + "0.4", + ".21" + ], + "nodeType": "PragmaDirective", + "src": "0:24:2" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/OwnableOZ.sol", + "file": "./OwnableOZ.sol", + "id": 227, + "nodeType": "ImportDirective", + "scope": 280, + "sourceUnit": 3748, + "src": "26:25:2", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/IexecHubAccessor.sol", + "file": "./IexecHubAccessor.sol", + "id": 228, + "nodeType": "ImportDirective", + "scope": 280, + "sourceUnit": 2476, + "src": "52:32:2", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": [], + "baseName": { + "contractScope": null, + "id": 229, + "name": "OwnableOZ", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 3747, + "src": "106:9:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_OwnableOZ_$3747", + "typeString": "contract OwnableOZ" + } + }, + "id": 230, + "nodeType": "InheritanceSpecifier", + "src": "106:9:2" + }, + { + "arguments": [], + "baseName": { + "contractScope": null, + "id": 231, + "name": "IexecHubAccessor", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2475, + "src": "117:16:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubAccessor_$2475", + "typeString": "contract IexecHubAccessor" + } + }, + "id": 232, + "nodeType": "InheritanceSpecifier", + "src": "117:16:2" + } + ], + "contractDependencies": [ + 2475, + 3747 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 279, + "linearizedBaseContracts": [ + 279, + 2475, + 3747 + ], + "name": "Dataset", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 234, + "name": "m_datasetName", + "nodeType": "VariableDeclaration", + "scope": 279, + "src": "160:38:2", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + }, + "typeName": { + "id": 233, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "160:6:2", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 236, + "name": "m_datasetPrice", + "nodeType": "VariableDeclaration", + "scope": 279, + "src": "201:39:2", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 235, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "201:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 238, + "name": "m_datasetParams", + "nodeType": "VariableDeclaration", + "scope": 279, + "src": "243:40:2", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + }, + "typeName": { + "id": 237, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "243:6:2", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "public" + }, + { + "body": { + "id": 277, + "nodeType": "Block", + "src": "479:260:2", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 257, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 253, + "name": "tx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7018, + "src": "545:2:2", + "typeDescriptions": { + "typeIdentifier": "t_magic_transaction", + "typeString": "tx" + } + }, + "id": 254, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "origin", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "545:9:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 255, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "558:3:2", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 256, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "558:10:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "545:23:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 252, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "537:7:2", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 258, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "537:32:2", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 259, + "nodeType": "ExpressionStatement", + "src": "537:32:2" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 261, + "name": "tx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7018, + "src": "595:2:2", + "typeDescriptions": { + "typeIdentifier": "t_magic_transaction", + "typeString": "tx" + } + }, + "id": 262, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "origin", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "595:9:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 260, + "name": "setImmutableOwnership", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3746, + "src": "573:21:2", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 263, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "573:32:2", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 264, + "nodeType": "ExpressionStatement", + "src": "573:32:2" + }, + { + "expression": { + "argumentTypes": null, + "id": 267, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 265, + "name": "m_datasetName", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 234, + "src": "633:13:2", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 266, + "name": "_datasetName", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 242, + "src": "651:12:2", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "633:30:2", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 268, + "nodeType": "ExpressionStatement", + "src": "633:30:2" + }, + { + "expression": { + "argumentTypes": null, + "id": 271, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 269, + "name": "m_datasetPrice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 236, + "src": "667:14:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 270, + "name": "_datasetPrice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 244, + "src": "685:13:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "667:31:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 272, + "nodeType": "ExpressionStatement", + "src": "667:31:2" + }, + { + "expression": { + "argumentTypes": null, + "id": 275, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 273, + "name": "m_datasetParams", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 238, + "src": "702:15:2", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 274, + "name": "_datasetParams", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 246, + "src": "720:14:2", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "702:32:2", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 276, + "nodeType": "ExpressionStatement", + "src": "702:32:2" + } + ] + }, + "documentation": "Constructor", + "id": 278, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "id": 249, + "name": "_iexecHubAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 240, + "src": "452:16:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 250, + "modifierName": { + "argumentTypes": null, + "id": 248, + "name": "IexecHubAccessor", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2475, + "src": "435:16:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecHubAccessor_$2475_$", + "typeString": "type(contract IexecHubAccessor)" + } + }, + "nodeType": "ModifierInvocation", + "src": "435:34:2" + } + ], + "name": "Dataset", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 247, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 240, + "name": "_iexecHubAddress", + "nodeType": "VariableDeclaration", + "scope": 278, + "src": "333:24:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 239, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "333:7:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 242, + "name": "_datasetName", + "nodeType": "VariableDeclaration", + "scope": 278, + "src": "361:20:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 241, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "361:6:2", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 244, + "name": "_datasetPrice", + "nodeType": "VariableDeclaration", + "scope": 278, + "src": "385:21:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 243, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "385:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 246, + "name": "_datasetParams", + "nodeType": "VariableDeclaration", + "scope": 278, + "src": "410:22:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 245, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "410:6:2", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "329:104:2" + }, + "payable": false, + "returnParameters": { + "id": 251, + "nodeType": "ParameterList", + "parameters": [], + "src": "479:0:2" + }, + "scope": 279, + "src": "313:426:2", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 280, + "src": "86:657:2" + } + ], + "src": "0:744:2" + }, + "compiler": { + "name": "solc", + "version": "0.4.21+commit.dfe3193c.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "2.0.0", + "updatedAt": "2018-06-12T14:56:21.134Z" +} \ No newline at end of file diff --git a/deployed/contracts/DatasetHub.json b/deployed/contracts/DatasetHub.json new file mode 100644 index 00000000..4eb59a0c --- /dev/null +++ b/deployed/contracts/DatasetHub.json @@ -0,0 +1,4341 @@ +{ + "contractName": "DatasetHub", + "abi": [ + { + "constant": false, + "inputs": [ + { + "name": "_newOwner", + "type": "address" + } + ], + "name": "setImmutableOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "m_owner", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "m_changeable", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "m_totalDatasetCount", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "constant": true, + "inputs": [ + { + "name": "_dataset", + "type": "address" + } + ], + "name": "isDatasetRegistred", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_owner", + "type": "address" + } + ], + "name": "getDatasetsCount", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_owner", + "type": "address" + }, + { + "name": "_index", + "type": "uint256" + } + ], + "name": "getDataset", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_index", + "type": "uint256" + } + ], + "name": "getDatasetByIndex", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_datasetName", + "type": "string" + }, + { + "name": "_datasetPrice", + "type": "uint256" + }, + { + "name": "_datasetParams", + "type": "string" + } + ], + "name": "createDataset", + "outputs": [ + { + "name": "createdDataset", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x6060604052341561000f57600080fd5b6000805474010000000000000000000000000000000000000000600160a060020a031990911633600160a060020a03161760a060020a60ff021916178155610ca490819061005d90396000f3006060604052600436106100985763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166316265b4e811461009d5780632b58072f146100d057806331638ced14610101578063346461631461013357806339b7312214610155578063bbac78a9146101f1578063deff41c114610212578063e21b9d0814610225578063fbc09b2614610238575b600080fd5b34156100a857600080fd5b6100bc600160a060020a036004351661024b565b604051901515815260200160405180910390f35b34156100db57600080fd5b6100ef600160a060020a0360043516610269565b60405190815260200160405180910390f35b341561010c57600080fd5b610117600435610284565b604051600160a060020a03909116815260200160405180910390f35b341561013e57600080fd5b610117600160a060020a036004351660243561029f565b341561016057600080fd5b61011760046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001909190803590602001908201803590602001908080601f0160208091040260200160405190810160405281815292919060208401838380828437509496506102c795505050505050565b34156101fc57600080fd5b610210600160a060020a0360043516610408565b005b341561021d57600080fd5b6101176104e4565b341561023057600080fd5b6100bc6104f3565b341561024357600080fd5b6100ef610514565b600160a060020a031660009081526003602052604090205460ff1690565b600160a060020a031660009081526001602052604090205490565b600090815260046020526040902054600160a060020a031690565b600160a060020a03918216600090815260026020908152604080832093835292905220541690565b60008054819033600160a060020a039081169116146102e557600080fd5b338585856102f16105f5565b600160a060020a038516815260408101839052608060208201818152906060830190830186818151815260200191508051906020019080838360005b8381101561034557808201518382015260200161032d565b50505050905090810190601f1680156103725780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b838110156103a8578082015183820152602001610390565b50505050905090810190601f1680156103d55780820380516001836020036101000a031916815260200191505b509650505050505050604051809103906000f08015156103f457600080fd5b9050610400328261051a565b949350505050565b60005433600160a060020a0390811691161461042357600080fd5b60005474010000000000000000000000000000000000000000900460ff16151561044c57600080fd5b600160a060020a038116151561046157600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911774ff000000000000000000000000000000000000000019169055565b600054600160a060020a031681565b60005474010000000000000000000000000000000000000000900460ff1681565b60055481565b600160a060020a03821660009081526001602081905260408220546105449163ffffffff6105df16565b60055490915061055b90600163ffffffff6105df16565b600581905560009081526004602090815260408083208054600160a060020a0396871673ffffffffffffffffffffffffffffffffffffffff199182168117909255969095168352600180835281842085905560028352818420948452938252808320805490961685179095559281526003909252919020805460ff19169091179055565b6000828201838110156105ee57fe5b9392505050565b604051610673806106068339019056006060604052341561000f57600080fd5b6040516106733803806106738339810160405280805191906020018051820191906020018051919060200180516000805460a060020a60ff0219600160a060020a03338116600160a060020a0319909316929092171674010000000000000000000000000000000000000000179091559201918591508116151561009257600080fd5b60018054600160a060020a031916600160a060020a039283161790553381163290911614156100c057600080fd5b6100d63264010000000061025961010c82021704565b60028380516100e99291602001906101cd565b50600382905560048180516101029291602001906101cd565b5050505050610268565b60005433600160a060020a0390811691161461012757600080fd5b60005474010000000000000000000000000000000000000000900460ff16151561015057600080fd5b600160a060020a038116151561016557600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008054600160a060020a031916600160a060020a03929092169190911760a060020a60ff0219169055565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061020e57805160ff191683800117855561023b565b8280016001018555821561023b579182015b8281111561023b578251825591602001919060010190610220565b5061024792915061024b565b5090565b61026591905b808211156102475760008155600101610251565b90565b6103fc806102776000396000f3006060604052600436106100775763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630847c431811461007c57806362d598eb14610106578063bbac78a91461012b578063c2880e171461014c578063deff41c11461015f578063e21b9d081461018e575b600080fd5b341561008757600080fd5b61008f6101b5565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156100cb5780820151838201526020016100b3565b50505050905090810190601f1680156100f85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561011157600080fd5b610119610253565b60405190815260200160405180910390f35b341561013657600080fd5b61014a600160a060020a0360043516610259565b005b341561015757600080fd5b61008f610335565b341561016a57600080fd5b6101726103a0565b604051600160a060020a03909116815260200160405180910390f35b341561019957600080fd5b6101a16103af565b604051901515815260200160405180910390f35b60028054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561024b5780601f106102205761010080835404028352916020019161024b565b820191906000526020600020905b81548152906001019060200180831161022e57829003601f168201915b505050505081565b60035481565b60005433600160a060020a0390811691161461027457600080fd5b60005474010000000000000000000000000000000000000000900460ff16151561029d57600080fd5b600160a060020a03811615156102b257600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911774ff000000000000000000000000000000000000000019169055565b60048054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561024b5780601f106102205761010080835404028352916020019161024b565b600054600160a060020a031681565b60005474010000000000000000000000000000000000000000900460ff16815600a165627a7a723058205ffc863a097aa3a9df8dcd15972d278d368758dd3e2a6e19a607a6f484d5c0b20029a165627a7a72305820c6b63c7fbf6b53812b0fa390d88c1f1cad0ed3058cd9658ae4a3300af6c840350029", + "deployedBytecode": "0x6060604052600436106100985763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166316265b4e811461009d5780632b58072f146100d057806331638ced14610101578063346461631461013357806339b7312214610155578063bbac78a9146101f1578063deff41c114610212578063e21b9d0814610225578063fbc09b2614610238575b600080fd5b34156100a857600080fd5b6100bc600160a060020a036004351661024b565b604051901515815260200160405180910390f35b34156100db57600080fd5b6100ef600160a060020a0360043516610269565b60405190815260200160405180910390f35b341561010c57600080fd5b610117600435610284565b604051600160a060020a03909116815260200160405180910390f35b341561013e57600080fd5b610117600160a060020a036004351660243561029f565b341561016057600080fd5b61011760046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001909190803590602001908201803590602001908080601f0160208091040260200160405190810160405281815292919060208401838380828437509496506102c795505050505050565b34156101fc57600080fd5b610210600160a060020a0360043516610408565b005b341561021d57600080fd5b6101176104e4565b341561023057600080fd5b6100bc6104f3565b341561024357600080fd5b6100ef610514565b600160a060020a031660009081526003602052604090205460ff1690565b600160a060020a031660009081526001602052604090205490565b600090815260046020526040902054600160a060020a031690565b600160a060020a03918216600090815260026020908152604080832093835292905220541690565b60008054819033600160a060020a039081169116146102e557600080fd5b338585856102f16105f5565b600160a060020a038516815260408101839052608060208201818152906060830190830186818151815260200191508051906020019080838360005b8381101561034557808201518382015260200161032d565b50505050905090810190601f1680156103725780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b838110156103a8578082015183820152602001610390565b50505050905090810190601f1680156103d55780820380516001836020036101000a031916815260200191505b509650505050505050604051809103906000f08015156103f457600080fd5b9050610400328261051a565b949350505050565b60005433600160a060020a0390811691161461042357600080fd5b60005474010000000000000000000000000000000000000000900460ff16151561044c57600080fd5b600160a060020a038116151561046157600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911774ff000000000000000000000000000000000000000019169055565b600054600160a060020a031681565b60005474010000000000000000000000000000000000000000900460ff1681565b60055481565b600160a060020a03821660009081526001602081905260408220546105449163ffffffff6105df16565b60055490915061055b90600163ffffffff6105df16565b600581905560009081526004602090815260408083208054600160a060020a0396871673ffffffffffffffffffffffffffffffffffffffff199182168117909255969095168352600180835281842085905560028352818420948452938252808320805490961685179095559281526003909252919020805460ff19169091179055565b6000828201838110156105ee57fe5b9392505050565b604051610673806106068339019056006060604052341561000f57600080fd5b6040516106733803806106738339810160405280805191906020018051820191906020018051919060200180516000805460a060020a60ff0219600160a060020a03338116600160a060020a0319909316929092171674010000000000000000000000000000000000000000179091559201918591508116151561009257600080fd5b60018054600160a060020a031916600160a060020a039283161790553381163290911614156100c057600080fd5b6100d63264010000000061025961010c82021704565b60028380516100e99291602001906101cd565b50600382905560048180516101029291602001906101cd565b5050505050610268565b60005433600160a060020a0390811691161461012757600080fd5b60005474010000000000000000000000000000000000000000900460ff16151561015057600080fd5b600160a060020a038116151561016557600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008054600160a060020a031916600160a060020a03929092169190911760a060020a60ff0219169055565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061020e57805160ff191683800117855561023b565b8280016001018555821561023b579182015b8281111561023b578251825591602001919060010190610220565b5061024792915061024b565b5090565b61026591905b808211156102475760008155600101610251565b90565b6103fc806102776000396000f3006060604052600436106100775763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630847c431811461007c57806362d598eb14610106578063bbac78a91461012b578063c2880e171461014c578063deff41c11461015f578063e21b9d081461018e575b600080fd5b341561008757600080fd5b61008f6101b5565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156100cb5780820151838201526020016100b3565b50505050905090810190601f1680156100f85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561011157600080fd5b610119610253565b60405190815260200160405180910390f35b341561013657600080fd5b61014a600160a060020a0360043516610259565b005b341561015757600080fd5b61008f610335565b341561016a57600080fd5b6101726103a0565b604051600160a060020a03909116815260200160405180910390f35b341561019957600080fd5b6101a16103af565b604051901515815260200160405180910390f35b60028054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561024b5780601f106102205761010080835404028352916020019161024b565b820191906000526020600020905b81548152906001019060200180831161022e57829003601f168201915b505050505081565b60035481565b60005433600160a060020a0390811691161461027457600080fd5b60005474010000000000000000000000000000000000000000900460ff16151561029d57600080fd5b600160a060020a03811615156102b257600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911774ff000000000000000000000000000000000000000019169055565b60048054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561024b5780601f106102205761010080835404028352916020019161024b565b600054600160a060020a031681565b60005474010000000000000000000000000000000000000000900460ff16815600a165627a7a723058205ffc863a097aa3a9df8dcd15972d278d368758dd3e2a6e19a607a6f484d5c0b20029a165627a7a72305820c6b63c7fbf6b53812b0fa390d88c1f1cad0ed3058cd9658ae4a3300af6c840350029", + "sourceMap": "104:1845:3:-;;;601:34;;;;;;;;667:7:14;:25;;696:19;-1:-1:-1;;;;;;667:25:14;;;682:10;-1:-1:-1;;;;;667:25:14;;-1:-1:-1;;;;;;696:19:14;;;;104:1845:3;;;;;;;;", + "deployedSourceMap": "104:1845:3:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;660:118;;;;;;;;;;-1:-1:-1;;;;;660:118:3;;;;;;;;;;;;;;;;;;;;;;780:117;;;;;;;;;;-1:-1:-1;;;;;780:117:3;;;;;;;;;;;;;;;;;;;;1038:113;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1038:113:3;;;;;;;;;;;;;;899:137;;;;;;;;;;-1:-1:-1;;;;;899:137:3;;;;;;;1553:394;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1553:394:3;;-1:-1:-1;1553:394:3;;-1:-1:-1;;;;;;1553:394:3;876:234:14;;;;;;;;;;-1:-1:-1;;;;;876:234:14;;;;;;;238:22;;;;;;;;;;;;263:27;;;;;;;;;;;;502:67:3;;;;;;;;;;;;660:118;-1:-1:-1;;;;;745:29:3;727:4;745:29;;;:19;:29;;;;;;;;;660:118::o;780:117::-;-1:-1:-1;;;;;864:29:3;843:7;864:29;;;:21;:29;;;;;;;780:117::o;1038:113::-;1102:7;1123:24;;;:16;:24;;;;;;-1:-1:-1;;;;;1123:24:3;;1038:113::o;899:137::-;-1:-1:-1;;;;;993:31:3;;;972:7;993:31;;;:23;:31;;;;;;;;:39;;;;;;;;;;899:137::o;1553:394::-;1699:22;502:7:14;;1699:22:3;;488:10:14;-1:-1:-1;;;;;488:21:14;;;502:7;;488:21;480:30;;;;;;1817:10:3;1832:12;1849:13;1867:14;1801:84;;:::i;:::-;-1:-1:-1;;;;;1801:84:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;1801:84:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;1801:84:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1780:105;;1889:33;1900:9;1911:10;1889;:33::i;:::-;1933:10;1553:394;-1:-1:-1;;;;1553:394:3:o;876:234:14:-;502:7;;488:10;-1:-1:-1;;;;;488:21:14;;;502:7;;488:21;480:30;;;;;;956:12;;;;;;;948:21;;;;;;;;-1:-1:-1;;;;;981:23:14;;;;973:32;;;;;;1035:7;;-1:-1:-1;;;;;1014:40:14;;;;1035:7;1014:40;;;;;;;;;;1058:7;:24;;-1:-1:-1;;1058:24:14;-1:-1:-1;;;;;1058:24:14;;;;;;;;-1:-1:-1;;1086:20:14;;;876:234::o;238:22::-;;;-1:-1:-1;;;;;238:22:14;;:::o;263:27::-;;;;;;;;;:::o;502:67:3:-;;;;:::o;1154:396::-;-1:-1:-1;;;;;1232:29:3;;1222:7;1232:29;;;1266:1;1232:29;;;;;;;;:36;;;:33;:36;:::i;:::-;1294:19;;1222:46;;-1:-1:-1;1294:26:3;;1318:1;1294:26;:23;:26;:::i;:::-;1272:19;:48;;;1324:44;;;;:16;:44;;;;;;;;:55;;-1:-1:-1;;;;;1324:55:3;;;-1:-1:-1;;1324:55:3;;;;;;;;1383:31;;;;;;1324:55;1383:31;;;;;;:49;;;1436:23;:31;;;;;:35;;;;;;;;;:55;;;;;;;;;;1495:33;;;:19;:33;;;;;;:51;;-1:-1:-1;;1495:51:3;;;;;;1154:396::o;405:123:15:-;463:7;489:5;;;505:6;;;;498:14;;;;523:1;405:123;-1:-1:-1;;;405:123:15:o;104:1845:3:-;;;;;;;;;;:::o", + "source": "pragma solidity ^0.4.21;\n\nimport \"./Dataset.sol\";\nimport \"./OwnableOZ.sol\";\nimport \"./SafeMathOZ.sol\";\n\ncontract DatasetHub is OwnableOZ // is Owned by IexecHub\n{\n\tusing SafeMathOZ for uint256;\n\n\t/**\n\t * Members\n\t */\n\tmapping(address => uint256) m_datasetCountByOwner;\n\tmapping(address => mapping(uint256 => address)) m_datasetByOwnerByIndex;\n\tmapping(address => bool) m_datasetRegistered;\n\n\tmapping(uint256 => address) m_datasetByIndex;\n\tuint256 public m_totalDatasetCount;\n\n\n\n\t/**\n\t * Constructor\n\t */\n\tfunction DatasetHub() public\n\t{\n\t}\n\n\t/**\n\t * Methods\n\t */\n\tfunction isDatasetRegistred(address _dataset) public view returns (bool)\n\t{\n\t\treturn m_datasetRegistered[_dataset];\n\t}\n\tfunction getDatasetsCount(address _owner) public view returns (uint256)\n\t{\n\t\treturn m_datasetCountByOwner[_owner];\n\t}\n\tfunction getDataset(address _owner, uint256 _index) public view returns (address)\n\t{\n\t\treturn m_datasetByOwnerByIndex[_owner][_index];\n\t}\n\tfunction getDatasetByIndex(uint256 _index) public view returns (address)\n\t{\n\t\treturn m_datasetByIndex[_index];\n\t}\n\n\tfunction addDataset(address _owner, address _dataset) internal\n\t{\n\t\tuint id = m_datasetCountByOwner[_owner].add(1);\n\t\tm_totalDatasetCount = m_totalDatasetCount.add(1);\n\t\tm_datasetByIndex [m_totalDatasetCount] = _dataset;\n\t\tm_datasetCountByOwner [_owner] = id;\n\t\tm_datasetByOwnerByIndex[_owner][id] = _dataset;\n\t\tm_datasetRegistered [_dataset] = true;\n\t}\n\n\tfunction createDataset(\n\t\tstring _datasetName,\n\t\tuint256 _datasetPrice,\n\t\tstring _datasetParams)\n\tpublic onlyOwner /*owner == IexecHub*/ returns (address createdDataset)\n\t{\n\t\t// tx.origin == owner\n\t\t// msg.sender == IexecHub\n\t\taddress newDataset = new Dataset(\n\t\t\tmsg.sender,\n\t\t\t_datasetName,\n\t\t\t_datasetPrice,\n\t\t\t_datasetParams\n\t\t);\n\t\taddDataset(tx.origin, newDataset);\n\t\treturn newDataset;\n\t}\n}\n", + "sourcePath": "/Users/fbranci/iexecdev/PoCo/contracts/DatasetHub.sol", + "ast": { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/DatasetHub.sol", + "exportedSymbols": { + "DatasetHub": [ + 449 + ] + }, + "id": 450, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 281, + "literals": [ + "solidity", + "^", + "0.4", + ".21" + ], + "nodeType": "PragmaDirective", + "src": "0:24:3" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/Dataset.sol", + "file": "./Dataset.sol", + "id": 282, + "nodeType": "ImportDirective", + "scope": 450, + "sourceUnit": 280, + "src": "26:23:3", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/OwnableOZ.sol", + "file": "./OwnableOZ.sol", + "id": 283, + "nodeType": "ImportDirective", + "scope": 450, + "sourceUnit": 3748, + "src": "50:25:3", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/SafeMathOZ.sol", + "file": "./SafeMathOZ.sol", + "id": 284, + "nodeType": "ImportDirective", + "scope": 450, + "sourceUnit": 3925, + "src": "76:26:3", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": [], + "baseName": { + "contractScope": null, + "id": 285, + "name": "OwnableOZ", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 3747, + "src": "127:9:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_OwnableOZ_$3747", + "typeString": "contract OwnableOZ" + } + }, + "id": 286, + "nodeType": "InheritanceSpecifier", + "src": "127:9:3" + } + ], + "contractDependencies": [ + 279, + 3747 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 449, + "linearizedBaseContracts": [ + 449, + 3747 + ], + "name": "DatasetHub", + "nodeType": "ContractDefinition", + "nodes": [ + { + "id": 289, + "libraryName": { + "contractScope": null, + "id": 287, + "name": "SafeMathOZ", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 3924, + "src": "170:10:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_SafeMathOZ_$3924", + "typeString": "library SafeMathOZ" + } + }, + "nodeType": "UsingForDirective", + "src": "164:29:3", + "typeName": { + "id": 288, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "185:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + { + "constant": false, + "id": 293, + "name": "m_datasetCountByOwner", + "nodeType": "VariableDeclaration", + "scope": 449, + "src": "218:69:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "typeName": { + "id": 292, + "keyType": { + "id": 290, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "226:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "218:27:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "valueType": { + "id": 291, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "237:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 299, + "name": "m_datasetByOwnerByIndex", + "nodeType": "VariableDeclaration", + "scope": 449, + "src": "290:71:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_address_$_$", + "typeString": "mapping(address => mapping(uint256 => address))" + }, + "typeName": { + "id": 298, + "keyType": { + "id": 294, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "298:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "290:47:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_address_$_$", + "typeString": "mapping(address => mapping(uint256 => address))" + }, + "valueType": { + "id": 297, + "keyType": { + "id": 295, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "317:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Mapping", + "src": "309:27:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + }, + "valueType": { + "id": 296, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "328:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 303, + "name": "m_datasetRegistered", + "nodeType": "VariableDeclaration", + "scope": 449, + "src": "364:67:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + }, + "typeName": { + "id": 302, + "keyType": { + "id": 300, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "372:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "364:24:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + }, + "valueType": { + "id": 301, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "383:4:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 307, + "name": "m_datasetByIndex", + "nodeType": "VariableDeclaration", + "scope": 449, + "src": "435:64:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + }, + "typeName": { + "id": 306, + "keyType": { + "id": 304, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "443:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Mapping", + "src": "435:27:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + }, + "valueType": { + "id": 305, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "454:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 309, + "name": "m_totalDatasetCount", + "nodeType": "VariableDeclaration", + "scope": 449, + "src": "502:67:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 308, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "502:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "public" + }, + { + "body": { + "id": 312, + "nodeType": "Block", + "src": "631:4:3", + "statements": [] + }, + "documentation": "Constructor", + "id": 313, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "DatasetHub", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 310, + "nodeType": "ParameterList", + "parameters": [], + "src": "620:2:3" + }, + "payable": false, + "returnParameters": { + "id": 311, + "nodeType": "ParameterList", + "parameters": [], + "src": "631:0:3" + }, + "scope": 449, + "src": "601:34:3", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 324, + "nodeType": "Block", + "src": "734:44:3", + "statements": [ + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 320, + "name": "m_datasetRegistered", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 303, + "src": "745:19:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 322, + "indexExpression": { + "argumentTypes": null, + "id": 321, + "name": "_dataset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 315, + "src": "765:8:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "745:29:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 319, + "id": 323, + "nodeType": "Return", + "src": "738:36:3" + } + ] + }, + "documentation": "Methods", + "id": 325, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "isDatasetRegistred", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 316, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 315, + "name": "_dataset", + "nodeType": "VariableDeclaration", + "scope": 325, + "src": "688:16:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 314, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "688:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "687:18:3" + }, + "payable": false, + "returnParameters": { + "id": 319, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 318, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 325, + "src": "727:4:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 317, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "727:4:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "726:6:3" + }, + "scope": 449, + "src": "660:118:3", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 336, + "nodeType": "Block", + "src": "853:44:3", + "statements": [ + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 332, + "name": "m_datasetCountByOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 293, + "src": "864:21:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 334, + "indexExpression": { + "argumentTypes": null, + "id": 333, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 327, + "src": "886:6:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "864:29:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 331, + "id": 335, + "nodeType": "Return", + "src": "857:36:3" + } + ] + }, + "documentation": null, + "id": 337, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getDatasetsCount", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 328, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 327, + "name": "_owner", + "nodeType": "VariableDeclaration", + "scope": 337, + "src": "806:14:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 326, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "806:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "805:16:3" + }, + "payable": false, + "returnParameters": { + "id": 331, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 330, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 337, + "src": "843:7:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 329, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "843:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "842:9:3" + }, + "scope": 449, + "src": "780:117:3", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 352, + "nodeType": "Block", + "src": "982:54:3", + "statements": [ + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 346, + "name": "m_datasetByOwnerByIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 299, + "src": "993:23:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_address_$_$", + "typeString": "mapping(address => mapping(uint256 => address))" + } + }, + "id": 348, + "indexExpression": { + "argumentTypes": null, + "id": 347, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 339, + "src": "1017:6:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "993:31:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + } + }, + "id": 350, + "indexExpression": { + "argumentTypes": null, + "id": 349, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 341, + "src": "1025:6:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "993:39:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 345, + "id": 351, + "nodeType": "Return", + "src": "986:46:3" + } + ] + }, + "documentation": null, + "id": 353, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getDataset", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 342, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 339, + "name": "_owner", + "nodeType": "VariableDeclaration", + "scope": 353, + "src": "919:14:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 338, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "919:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 341, + "name": "_index", + "nodeType": "VariableDeclaration", + "scope": 353, + "src": "935:14:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 340, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "935:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "918:32:3" + }, + "payable": false, + "returnParameters": { + "id": 345, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 344, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 353, + "src": "972:7:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 343, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "972:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "971:9:3" + }, + "scope": 449, + "src": "899:137:3", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 364, + "nodeType": "Block", + "src": "1112:39:3", + "statements": [ + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 360, + "name": "m_datasetByIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 307, + "src": "1123:16:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + } + }, + "id": 362, + "indexExpression": { + "argumentTypes": null, + "id": 361, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 355, + "src": "1140:6:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1123:24:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 359, + "id": 363, + "nodeType": "Return", + "src": "1116:31:3" + } + ] + }, + "documentation": null, + "id": 365, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getDatasetByIndex", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 356, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 355, + "name": "_index", + "nodeType": "VariableDeclaration", + "scope": 365, + "src": "1065:14:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 354, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1065:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1064:16:3" + }, + "payable": false, + "returnParameters": { + "id": 359, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 358, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 365, + "src": "1102:7:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 357, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1102:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1101:9:3" + }, + "scope": 449, + "src": "1038:113:3", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 414, + "nodeType": "Block", + "src": "1218:332:3", + "statements": [ + { + "assignments": [ + 373 + ], + "declarations": [ + { + "constant": false, + "id": 373, + "name": "id", + "nodeType": "VariableDeclaration", + "scope": 415, + "src": "1222:7:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 372, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1222:4:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 380, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31", + "id": 378, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1266:1:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 374, + "name": "m_datasetCountByOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 293, + "src": "1232:21:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 376, + "indexExpression": { + "argumentTypes": null, + "id": 375, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 367, + "src": "1254:6:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1232:29:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 377, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 3773, + "src": "1232:33:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 379, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1232:36:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1222:46:3" + }, + { + "expression": { + "argumentTypes": null, + "id": 386, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 381, + "name": "m_totalDatasetCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 309, + "src": "1272:19:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31", + "id": 384, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1318:1:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "expression": { + "argumentTypes": null, + "id": 382, + "name": "m_totalDatasetCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 309, + "src": "1294:19:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 383, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 3773, + "src": "1294:23:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 385, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1294:26:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1272:48:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 387, + "nodeType": "ExpressionStatement", + "src": "1272:48:3" + }, + { + "expression": { + "argumentTypes": null, + "id": 392, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 388, + "name": "m_datasetByIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 307, + "src": "1324:16:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + } + }, + "id": 390, + "indexExpression": { + "argumentTypes": null, + "id": 389, + "name": "m_totalDatasetCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 309, + "src": "1348:19:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1324:44:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 391, + "name": "_dataset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 369, + "src": "1371:8:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1324:55:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 393, + "nodeType": "ExpressionStatement", + "src": "1324:55:3" + }, + { + "expression": { + "argumentTypes": null, + "id": 398, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 394, + "name": "m_datasetCountByOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 293, + "src": "1383:21:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 396, + "indexExpression": { + "argumentTypes": null, + "id": 395, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 367, + "src": "1407:6:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1383:31:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 397, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 373, + "src": "1430:2:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1383:49:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 399, + "nodeType": "ExpressionStatement", + "src": "1383:49:3" + }, + { + "expression": { + "argumentTypes": null, + "id": 406, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 400, + "name": "m_datasetByOwnerByIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 299, + "src": "1436:23:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_address_$_$", + "typeString": "mapping(address => mapping(uint256 => address))" + } + }, + "id": 403, + "indexExpression": { + "argumentTypes": null, + "id": 401, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 367, + "src": "1460:6:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1436:31:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + } + }, + "id": 404, + "indexExpression": { + "argumentTypes": null, + "id": 402, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 373, + "src": "1468:2:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1436:35:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 405, + "name": "_dataset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 369, + "src": "1483:8:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1436:55:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 407, + "nodeType": "ExpressionStatement", + "src": "1436:55:3" + }, + { + "expression": { + "argumentTypes": null, + "id": 412, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 408, + "name": "m_datasetRegistered", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 303, + "src": "1495:19:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 410, + "indexExpression": { + "argumentTypes": null, + "id": 409, + "name": "_dataset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 369, + "src": "1519:8:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1495:33:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 411, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1542:4:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "1495:51:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 413, + "nodeType": "ExpressionStatement", + "src": "1495:51:3" + } + ] + }, + "documentation": null, + "id": 415, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "addDataset", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 370, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 367, + "name": "_owner", + "nodeType": "VariableDeclaration", + "scope": 415, + "src": "1174:14:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 366, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1174:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 369, + "name": "_dataset", + "nodeType": "VariableDeclaration", + "scope": 415, + "src": "1190:16:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 368, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1190:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1173:34:3" + }, + "payable": false, + "returnParameters": { + "id": 371, + "nodeType": "ParameterList", + "parameters": [], + "src": "1218:0:3" + }, + "scope": 449, + "src": "1154:396:3", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 447, + "nodeType": "Block", + "src": "1724:223:3", + "statements": [ + { + "assignments": [ + 429 + ], + "declarations": [ + { + "constant": false, + "id": 429, + "name": "newDataset", + "nodeType": "VariableDeclaration", + "scope": 448, + "src": "1780:18:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 428, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1780:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 438, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 432, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "1817:3:3", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 433, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1817:10:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 434, + "name": "_datasetName", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 417, + "src": "1832:12:3", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "id": 435, + "name": "_datasetPrice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 419, + "src": "1849:13:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 436, + "name": "_datasetParams", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 421, + "src": "1867:14:3", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 431, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "1801:11:3", + "typeDescriptions": { + "typeIdentifier": "t_function_creation_nonpayable$_t_address_$_t_string_memory_ptr_$_t_uint256_$_t_string_memory_ptr_$returns$_t_contract$_Dataset_$279_$", + "typeString": "function (address,string memory,uint256,string memory) returns (contract Dataset)" + }, + "typeName": { + "contractScope": null, + "id": 430, + "name": "Dataset", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 279, + "src": "1805:7:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Dataset_$279", + "typeString": "contract Dataset" + } + } + }, + "id": 437, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1801:84:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Dataset_$279", + "typeString": "contract Dataset" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1780:105:3" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 440, + "name": "tx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7018, + "src": "1900:2:3", + "typeDescriptions": { + "typeIdentifier": "t_magic_transaction", + "typeString": "tx" + } + }, + "id": 441, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "origin", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1900:9:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 442, + "name": "newDataset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 429, + "src": "1911:10:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 439, + "name": "addDataset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 415, + "src": "1889:10:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address)" + } + }, + "id": 443, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1889:33:3", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 444, + "nodeType": "ExpressionStatement", + "src": "1889:33:3" + }, + { + "expression": { + "argumentTypes": null, + "id": 445, + "name": "newDataset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 429, + "src": "1933:10:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 427, + "id": 446, + "nodeType": "Return", + "src": "1926:17:3" + } + ] + }, + "documentation": null, + "id": 448, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 424, + "modifierName": { + "argumentTypes": null, + "id": 423, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3700, + "src": "1658:9:3", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "1658:9:3" + } + ], + "name": "createDataset", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 422, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 417, + "name": "_datasetName", + "nodeType": "VariableDeclaration", + "scope": 448, + "src": "1579:19:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 416, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1579:6:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 419, + "name": "_datasetPrice", + "nodeType": "VariableDeclaration", + "scope": 448, + "src": "1602:21:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 418, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1602:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 421, + "name": "_datasetParams", + "nodeType": "VariableDeclaration", + "scope": 448, + "src": "1627:21:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 420, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1627:6:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1575:74:3" + }, + "payable": false, + "returnParameters": { + "id": 427, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 426, + "name": "createdDataset", + "nodeType": "VariableDeclaration", + "scope": 448, + "src": "1699:22:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 425, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1699:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1698:24:3" + }, + "scope": 449, + "src": "1553:394:3", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 450, + "src": "104:1845:3" + } + ], + "src": "0:1950:3" + }, + "legacyAST": { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/DatasetHub.sol", + "exportedSymbols": { + "DatasetHub": [ + 449 + ] + }, + "id": 450, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 281, + "literals": [ + "solidity", + "^", + "0.4", + ".21" + ], + "nodeType": "PragmaDirective", + "src": "0:24:3" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/Dataset.sol", + "file": "./Dataset.sol", + "id": 282, + "nodeType": "ImportDirective", + "scope": 450, + "sourceUnit": 280, + "src": "26:23:3", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/OwnableOZ.sol", + "file": "./OwnableOZ.sol", + "id": 283, + "nodeType": "ImportDirective", + "scope": 450, + "sourceUnit": 3748, + "src": "50:25:3", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/SafeMathOZ.sol", + "file": "./SafeMathOZ.sol", + "id": 284, + "nodeType": "ImportDirective", + "scope": 450, + "sourceUnit": 3925, + "src": "76:26:3", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": [], + "baseName": { + "contractScope": null, + "id": 285, + "name": "OwnableOZ", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 3747, + "src": "127:9:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_OwnableOZ_$3747", + "typeString": "contract OwnableOZ" + } + }, + "id": 286, + "nodeType": "InheritanceSpecifier", + "src": "127:9:3" + } + ], + "contractDependencies": [ + 279, + 3747 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 449, + "linearizedBaseContracts": [ + 449, + 3747 + ], + "name": "DatasetHub", + "nodeType": "ContractDefinition", + "nodes": [ + { + "id": 289, + "libraryName": { + "contractScope": null, + "id": 287, + "name": "SafeMathOZ", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 3924, + "src": "170:10:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_SafeMathOZ_$3924", + "typeString": "library SafeMathOZ" + } + }, + "nodeType": "UsingForDirective", + "src": "164:29:3", + "typeName": { + "id": 288, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "185:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + { + "constant": false, + "id": 293, + "name": "m_datasetCountByOwner", + "nodeType": "VariableDeclaration", + "scope": 449, + "src": "218:69:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "typeName": { + "id": 292, + "keyType": { + "id": 290, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "226:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "218:27:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "valueType": { + "id": 291, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "237:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 299, + "name": "m_datasetByOwnerByIndex", + "nodeType": "VariableDeclaration", + "scope": 449, + "src": "290:71:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_address_$_$", + "typeString": "mapping(address => mapping(uint256 => address))" + }, + "typeName": { + "id": 298, + "keyType": { + "id": 294, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "298:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "290:47:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_address_$_$", + "typeString": "mapping(address => mapping(uint256 => address))" + }, + "valueType": { + "id": 297, + "keyType": { + "id": 295, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "317:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Mapping", + "src": "309:27:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + }, + "valueType": { + "id": 296, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "328:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 303, + "name": "m_datasetRegistered", + "nodeType": "VariableDeclaration", + "scope": 449, + "src": "364:67:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + }, + "typeName": { + "id": 302, + "keyType": { + "id": 300, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "372:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "364:24:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + }, + "valueType": { + "id": 301, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "383:4:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 307, + "name": "m_datasetByIndex", + "nodeType": "VariableDeclaration", + "scope": 449, + "src": "435:64:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + }, + "typeName": { + "id": 306, + "keyType": { + "id": 304, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "443:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Mapping", + "src": "435:27:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + }, + "valueType": { + "id": 305, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "454:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 309, + "name": "m_totalDatasetCount", + "nodeType": "VariableDeclaration", + "scope": 449, + "src": "502:67:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 308, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "502:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "public" + }, + { + "body": { + "id": 312, + "nodeType": "Block", + "src": "631:4:3", + "statements": [] + }, + "documentation": "Constructor", + "id": 313, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "DatasetHub", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 310, + "nodeType": "ParameterList", + "parameters": [], + "src": "620:2:3" + }, + "payable": false, + "returnParameters": { + "id": 311, + "nodeType": "ParameterList", + "parameters": [], + "src": "631:0:3" + }, + "scope": 449, + "src": "601:34:3", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 324, + "nodeType": "Block", + "src": "734:44:3", + "statements": [ + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 320, + "name": "m_datasetRegistered", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 303, + "src": "745:19:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 322, + "indexExpression": { + "argumentTypes": null, + "id": 321, + "name": "_dataset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 315, + "src": "765:8:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "745:29:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 319, + "id": 323, + "nodeType": "Return", + "src": "738:36:3" + } + ] + }, + "documentation": "Methods", + "id": 325, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "isDatasetRegistred", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 316, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 315, + "name": "_dataset", + "nodeType": "VariableDeclaration", + "scope": 325, + "src": "688:16:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 314, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "688:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "687:18:3" + }, + "payable": false, + "returnParameters": { + "id": 319, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 318, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 325, + "src": "727:4:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 317, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "727:4:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "726:6:3" + }, + "scope": 449, + "src": "660:118:3", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 336, + "nodeType": "Block", + "src": "853:44:3", + "statements": [ + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 332, + "name": "m_datasetCountByOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 293, + "src": "864:21:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 334, + "indexExpression": { + "argumentTypes": null, + "id": 333, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 327, + "src": "886:6:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "864:29:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 331, + "id": 335, + "nodeType": "Return", + "src": "857:36:3" + } + ] + }, + "documentation": null, + "id": 337, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getDatasetsCount", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 328, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 327, + "name": "_owner", + "nodeType": "VariableDeclaration", + "scope": 337, + "src": "806:14:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 326, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "806:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "805:16:3" + }, + "payable": false, + "returnParameters": { + "id": 331, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 330, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 337, + "src": "843:7:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 329, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "843:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "842:9:3" + }, + "scope": 449, + "src": "780:117:3", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 352, + "nodeType": "Block", + "src": "982:54:3", + "statements": [ + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 346, + "name": "m_datasetByOwnerByIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 299, + "src": "993:23:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_address_$_$", + "typeString": "mapping(address => mapping(uint256 => address))" + } + }, + "id": 348, + "indexExpression": { + "argumentTypes": null, + "id": 347, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 339, + "src": "1017:6:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "993:31:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + } + }, + "id": 350, + "indexExpression": { + "argumentTypes": null, + "id": 349, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 341, + "src": "1025:6:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "993:39:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 345, + "id": 351, + "nodeType": "Return", + "src": "986:46:3" + } + ] + }, + "documentation": null, + "id": 353, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getDataset", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 342, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 339, + "name": "_owner", + "nodeType": "VariableDeclaration", + "scope": 353, + "src": "919:14:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 338, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "919:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 341, + "name": "_index", + "nodeType": "VariableDeclaration", + "scope": 353, + "src": "935:14:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 340, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "935:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "918:32:3" + }, + "payable": false, + "returnParameters": { + "id": 345, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 344, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 353, + "src": "972:7:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 343, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "972:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "971:9:3" + }, + "scope": 449, + "src": "899:137:3", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 364, + "nodeType": "Block", + "src": "1112:39:3", + "statements": [ + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 360, + "name": "m_datasetByIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 307, + "src": "1123:16:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + } + }, + "id": 362, + "indexExpression": { + "argumentTypes": null, + "id": 361, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 355, + "src": "1140:6:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1123:24:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 359, + "id": 363, + "nodeType": "Return", + "src": "1116:31:3" + } + ] + }, + "documentation": null, + "id": 365, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getDatasetByIndex", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 356, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 355, + "name": "_index", + "nodeType": "VariableDeclaration", + "scope": 365, + "src": "1065:14:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 354, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1065:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1064:16:3" + }, + "payable": false, + "returnParameters": { + "id": 359, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 358, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 365, + "src": "1102:7:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 357, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1102:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1101:9:3" + }, + "scope": 449, + "src": "1038:113:3", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 414, + "nodeType": "Block", + "src": "1218:332:3", + "statements": [ + { + "assignments": [ + 373 + ], + "declarations": [ + { + "constant": false, + "id": 373, + "name": "id", + "nodeType": "VariableDeclaration", + "scope": 415, + "src": "1222:7:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 372, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1222:4:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 380, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31", + "id": 378, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1266:1:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 374, + "name": "m_datasetCountByOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 293, + "src": "1232:21:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 376, + "indexExpression": { + "argumentTypes": null, + "id": 375, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 367, + "src": "1254:6:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1232:29:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 377, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 3773, + "src": "1232:33:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 379, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1232:36:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1222:46:3" + }, + { + "expression": { + "argumentTypes": null, + "id": 386, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 381, + "name": "m_totalDatasetCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 309, + "src": "1272:19:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31", + "id": 384, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1318:1:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "expression": { + "argumentTypes": null, + "id": 382, + "name": "m_totalDatasetCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 309, + "src": "1294:19:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 383, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 3773, + "src": "1294:23:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 385, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1294:26:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1272:48:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 387, + "nodeType": "ExpressionStatement", + "src": "1272:48:3" + }, + { + "expression": { + "argumentTypes": null, + "id": 392, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 388, + "name": "m_datasetByIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 307, + "src": "1324:16:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + } + }, + "id": 390, + "indexExpression": { + "argumentTypes": null, + "id": 389, + "name": "m_totalDatasetCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 309, + "src": "1348:19:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1324:44:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 391, + "name": "_dataset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 369, + "src": "1371:8:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1324:55:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 393, + "nodeType": "ExpressionStatement", + "src": "1324:55:3" + }, + { + "expression": { + "argumentTypes": null, + "id": 398, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 394, + "name": "m_datasetCountByOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 293, + "src": "1383:21:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 396, + "indexExpression": { + "argumentTypes": null, + "id": 395, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 367, + "src": "1407:6:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1383:31:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 397, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 373, + "src": "1430:2:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1383:49:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 399, + "nodeType": "ExpressionStatement", + "src": "1383:49:3" + }, + { + "expression": { + "argumentTypes": null, + "id": 406, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 400, + "name": "m_datasetByOwnerByIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 299, + "src": "1436:23:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_address_$_$", + "typeString": "mapping(address => mapping(uint256 => address))" + } + }, + "id": 403, + "indexExpression": { + "argumentTypes": null, + "id": 401, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 367, + "src": "1460:6:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1436:31:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + } + }, + "id": 404, + "indexExpression": { + "argumentTypes": null, + "id": 402, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 373, + "src": "1468:2:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1436:35:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 405, + "name": "_dataset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 369, + "src": "1483:8:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1436:55:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 407, + "nodeType": "ExpressionStatement", + "src": "1436:55:3" + }, + { + "expression": { + "argumentTypes": null, + "id": 412, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 408, + "name": "m_datasetRegistered", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 303, + "src": "1495:19:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 410, + "indexExpression": { + "argumentTypes": null, + "id": 409, + "name": "_dataset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 369, + "src": "1519:8:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1495:33:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 411, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1542:4:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "1495:51:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 413, + "nodeType": "ExpressionStatement", + "src": "1495:51:3" + } + ] + }, + "documentation": null, + "id": 415, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "addDataset", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 370, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 367, + "name": "_owner", + "nodeType": "VariableDeclaration", + "scope": 415, + "src": "1174:14:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 366, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1174:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 369, + "name": "_dataset", + "nodeType": "VariableDeclaration", + "scope": 415, + "src": "1190:16:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 368, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1190:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1173:34:3" + }, + "payable": false, + "returnParameters": { + "id": 371, + "nodeType": "ParameterList", + "parameters": [], + "src": "1218:0:3" + }, + "scope": 449, + "src": "1154:396:3", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 447, + "nodeType": "Block", + "src": "1724:223:3", + "statements": [ + { + "assignments": [ + 429 + ], + "declarations": [ + { + "constant": false, + "id": 429, + "name": "newDataset", + "nodeType": "VariableDeclaration", + "scope": 448, + "src": "1780:18:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 428, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1780:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 438, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 432, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "1817:3:3", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 433, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1817:10:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 434, + "name": "_datasetName", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 417, + "src": "1832:12:3", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "id": 435, + "name": "_datasetPrice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 419, + "src": "1849:13:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 436, + "name": "_datasetParams", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 421, + "src": "1867:14:3", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 431, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "1801:11:3", + "typeDescriptions": { + "typeIdentifier": "t_function_creation_nonpayable$_t_address_$_t_string_memory_ptr_$_t_uint256_$_t_string_memory_ptr_$returns$_t_contract$_Dataset_$279_$", + "typeString": "function (address,string memory,uint256,string memory) returns (contract Dataset)" + }, + "typeName": { + "contractScope": null, + "id": 430, + "name": "Dataset", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 279, + "src": "1805:7:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Dataset_$279", + "typeString": "contract Dataset" + } + } + }, + "id": 437, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1801:84:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Dataset_$279", + "typeString": "contract Dataset" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1780:105:3" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 440, + "name": "tx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7018, + "src": "1900:2:3", + "typeDescriptions": { + "typeIdentifier": "t_magic_transaction", + "typeString": "tx" + } + }, + "id": 441, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "origin", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1900:9:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 442, + "name": "newDataset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 429, + "src": "1911:10:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 439, + "name": "addDataset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 415, + "src": "1889:10:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address)" + } + }, + "id": 443, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1889:33:3", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 444, + "nodeType": "ExpressionStatement", + "src": "1889:33:3" + }, + { + "expression": { + "argumentTypes": null, + "id": 445, + "name": "newDataset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 429, + "src": "1933:10:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 427, + "id": 446, + "nodeType": "Return", + "src": "1926:17:3" + } + ] + }, + "documentation": null, + "id": 448, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 424, + "modifierName": { + "argumentTypes": null, + "id": 423, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3700, + "src": "1658:9:3", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "1658:9:3" + } + ], + "name": "createDataset", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 422, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 417, + "name": "_datasetName", + "nodeType": "VariableDeclaration", + "scope": 448, + "src": "1579:19:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 416, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1579:6:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 419, + "name": "_datasetPrice", + "nodeType": "VariableDeclaration", + "scope": 448, + "src": "1602:21:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 418, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1602:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 421, + "name": "_datasetParams", + "nodeType": "VariableDeclaration", + "scope": 448, + "src": "1627:21:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 420, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1627:6:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1575:74:3" + }, + "payable": false, + "returnParameters": { + "id": 427, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 426, + "name": "createdDataset", + "nodeType": "VariableDeclaration", + "scope": 448, + "src": "1699:22:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 425, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1699:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1698:24:3" + }, + "scope": 449, + "src": "1553:394:3", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 450, + "src": "104:1845:3" + } + ], + "src": "0:1950:3" + }, + "compiler": { + "name": "solc", + "version": "0.4.21+commit.dfe3193c.Emscripten.clang" + }, + "networks": { + "1": { + "events": { + "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + } + }, + "links": {}, + "address": "0xd0bb45fd58e357c9b3a5e7a36a5c6b6b5d1cf9b2", + "transactionHash": "0x32e88b373ae05c173eb3d743879f98acbbccde8192a7056ce4a44e7a03cc2896" + } + }, + "schemaVersion": "2.0.0", + "updatedAt": "2018-06-12T15:21:39.560Z" +} \ No newline at end of file diff --git a/deployed/contracts/ERC20.json b/deployed/contracts/ERC20.json new file mode 100644 index 00000000..4b2eb0ec --- /dev/null +++ b/deployed/contracts/ERC20.json @@ -0,0 +1,1799 @@ +{ + "contractName": "ERC20", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "from", + "type": "address" + }, + { + "indexed": true, + "name": "to", + "type": "address" + }, + { + "indexed": false, + "name": "value", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "name": "spender", + "type": "address" + }, + { + "indexed": false, + "name": "value", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "constant": true, + "inputs": [ + { + "name": "who", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "owner", + "type": "address" + }, + { + "name": "spender", + "type": "address" + } + ], + "name": "allowance", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "to", + "type": "address" + }, + { + "name": "value", + "type": "uint256" + } + ], + "name": "transfer", + "outputs": [ + { + "name": "ok", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "from", + "type": "address" + }, + { + "name": "to", + "type": "address" + }, + { + "name": "value", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [ + { + "name": "ok", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "spender", + "type": "address" + }, + { + "name": "value", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [ + { + "name": "ok", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "sourceMap": "", + "deployedSourceMap": "", + "source": "pragma solidity ^0.4.8;\n\ncontract ERC20 {\n uint public totalSupply;\n function balanceOf(address who) constant returns (uint);\n function allowance(address owner, address spender) constant returns (uint);\n\n function transfer(address to, uint value) returns (bool ok);\n function transferFrom(address from, address to, uint value) returns (bool ok);\n function approve(address spender, uint value) returns (bool ok);\n event Transfer(address indexed from, address indexed to, uint value);\n event Approval(address indexed owner, address indexed spender, uint value);\n}\n", + "sourcePath": "rlc-token/contracts/ERC20.sol", + "ast": { + "absolutePath": "rlc-token/contracts/ERC20.sol", + "exportedSymbols": { + "ERC20": [ + 6415 + ] + }, + "id": 6416, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 6351, + "literals": [ + "solidity", + "^", + "0.4", + ".8" + ], + "nodeType": "PragmaDirective", + "src": "0:23:20" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": false, + "id": 6415, + "linearizedBaseContracts": [ + 6415 + ], + "name": "ERC20", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 6353, + "name": "totalSupply", + "nodeType": "VariableDeclaration", + "scope": 6415, + "src": "44:23:20", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6352, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "44:4:20", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 6360, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "balanceOf", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6356, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6355, + "name": "who", + "nodeType": "VariableDeclaration", + "scope": 6360, + "src": "90:11:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6354, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "90:7:20", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "89:13:20" + }, + "payable": false, + "returnParameters": { + "id": 6359, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6358, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 6360, + "src": "121:4:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6357, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "121:4:20", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "120:6:20" + }, + "scope": 6415, + "src": "71:56:20", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 6369, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "allowance", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6365, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6362, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 6369, + "src": "149:13:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6361, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "149:7:20", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6364, + "name": "spender", + "nodeType": "VariableDeclaration", + "scope": 6369, + "src": "164:15:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6363, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "164:7:20", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "148:32:20" + }, + "payable": false, + "returnParameters": { + "id": 6368, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6367, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 6369, + "src": "199:4:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6366, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "199:4:20", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "198:6:20" + }, + "scope": 6415, + "src": "130:75:20", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 6378, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "transfer", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6374, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6371, + "name": "to", + "nodeType": "VariableDeclaration", + "scope": 6378, + "src": "227:10:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6370, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "227:7:20", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6373, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 6378, + "src": "239:10:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6372, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "239:4:20", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "226:24:20" + }, + "payable": false, + "returnParameters": { + "id": 6377, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6376, + "name": "ok", + "nodeType": "VariableDeclaration", + "scope": 6378, + "src": "260:7:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6375, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "260:4:20", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "259:9:20" + }, + "scope": 6415, + "src": "209:60:20", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 6389, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "transferFrom", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6385, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6380, + "name": "from", + "nodeType": "VariableDeclaration", + "scope": 6389, + "src": "294:12:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6379, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "294:7:20", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6382, + "name": "to", + "nodeType": "VariableDeclaration", + "scope": 6389, + "src": "308:10:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6381, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "308:7:20", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6384, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 6389, + "src": "320:10:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6383, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "320:4:20", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "293:38:20" + }, + "payable": false, + "returnParameters": { + "id": 6388, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6387, + "name": "ok", + "nodeType": "VariableDeclaration", + "scope": 6389, + "src": "341:7:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6386, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "341:4:20", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "340:9:20" + }, + "scope": 6415, + "src": "272:78:20", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 6398, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "approve", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6394, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6391, + "name": "spender", + "nodeType": "VariableDeclaration", + "scope": 6398, + "src": "370:15:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6390, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "370:7:20", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6393, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 6398, + "src": "387:10:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6392, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "387:4:20", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "369:29:20" + }, + "payable": false, + "returnParameters": { + "id": 6397, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6396, + "name": "ok", + "nodeType": "VariableDeclaration", + "scope": 6398, + "src": "408:7:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6395, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "408:4:20", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "407:9:20" + }, + "scope": 6415, + "src": "353:64:20", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "anonymous": false, + "documentation": null, + "id": 6406, + "name": "Transfer", + "nodeType": "EventDefinition", + "parameters": { + "id": 6405, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6400, + "indexed": true, + "name": "from", + "nodeType": "VariableDeclaration", + "scope": 6406, + "src": "435:20:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6399, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "435:7:20", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6402, + "indexed": true, + "name": "to", + "nodeType": "VariableDeclaration", + "scope": 6406, + "src": "457:18:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6401, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "457:7:20", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6404, + "indexed": false, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 6406, + "src": "477:10:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6403, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "477:4:20", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "434:54:20" + }, + "src": "420:69:20" + }, + { + "anonymous": false, + "documentation": null, + "id": 6414, + "name": "Approval", + "nodeType": "EventDefinition", + "parameters": { + "id": 6413, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6408, + "indexed": true, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 6414, + "src": "507:21:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6407, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "507:7:20", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6410, + "indexed": true, + "name": "spender", + "nodeType": "VariableDeclaration", + "scope": 6414, + "src": "530:23:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6409, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "530:7:20", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6412, + "indexed": false, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 6414, + "src": "555:10:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6411, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "555:4:20", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "506:60:20" + }, + "src": "492:75:20" + } + ], + "scope": 6416, + "src": "25:544:20" + } + ], + "src": "0:570:20" + }, + "legacyAST": { + "absolutePath": "rlc-token/contracts/ERC20.sol", + "exportedSymbols": { + "ERC20": [ + 6415 + ] + }, + "id": 6416, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 6351, + "literals": [ + "solidity", + "^", + "0.4", + ".8" + ], + "nodeType": "PragmaDirective", + "src": "0:23:20" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": false, + "id": 6415, + "linearizedBaseContracts": [ + 6415 + ], + "name": "ERC20", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 6353, + "name": "totalSupply", + "nodeType": "VariableDeclaration", + "scope": 6415, + "src": "44:23:20", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6352, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "44:4:20", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 6360, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "balanceOf", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6356, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6355, + "name": "who", + "nodeType": "VariableDeclaration", + "scope": 6360, + "src": "90:11:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6354, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "90:7:20", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "89:13:20" + }, + "payable": false, + "returnParameters": { + "id": 6359, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6358, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 6360, + "src": "121:4:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6357, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "121:4:20", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "120:6:20" + }, + "scope": 6415, + "src": "71:56:20", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 6369, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "allowance", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6365, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6362, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 6369, + "src": "149:13:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6361, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "149:7:20", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6364, + "name": "spender", + "nodeType": "VariableDeclaration", + "scope": 6369, + "src": "164:15:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6363, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "164:7:20", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "148:32:20" + }, + "payable": false, + "returnParameters": { + "id": 6368, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6367, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 6369, + "src": "199:4:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6366, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "199:4:20", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "198:6:20" + }, + "scope": 6415, + "src": "130:75:20", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 6378, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "transfer", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6374, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6371, + "name": "to", + "nodeType": "VariableDeclaration", + "scope": 6378, + "src": "227:10:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6370, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "227:7:20", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6373, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 6378, + "src": "239:10:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6372, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "239:4:20", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "226:24:20" + }, + "payable": false, + "returnParameters": { + "id": 6377, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6376, + "name": "ok", + "nodeType": "VariableDeclaration", + "scope": 6378, + "src": "260:7:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6375, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "260:4:20", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "259:9:20" + }, + "scope": 6415, + "src": "209:60:20", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 6389, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "transferFrom", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6385, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6380, + "name": "from", + "nodeType": "VariableDeclaration", + "scope": 6389, + "src": "294:12:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6379, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "294:7:20", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6382, + "name": "to", + "nodeType": "VariableDeclaration", + "scope": 6389, + "src": "308:10:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6381, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "308:7:20", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6384, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 6389, + "src": "320:10:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6383, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "320:4:20", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "293:38:20" + }, + "payable": false, + "returnParameters": { + "id": 6388, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6387, + "name": "ok", + "nodeType": "VariableDeclaration", + "scope": 6389, + "src": "341:7:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6386, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "341:4:20", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "340:9:20" + }, + "scope": 6415, + "src": "272:78:20", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 6398, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "approve", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6394, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6391, + "name": "spender", + "nodeType": "VariableDeclaration", + "scope": 6398, + "src": "370:15:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6390, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "370:7:20", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6393, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 6398, + "src": "387:10:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6392, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "387:4:20", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "369:29:20" + }, + "payable": false, + "returnParameters": { + "id": 6397, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6396, + "name": "ok", + "nodeType": "VariableDeclaration", + "scope": 6398, + "src": "408:7:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6395, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "408:4:20", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "407:9:20" + }, + "scope": 6415, + "src": "353:64:20", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "anonymous": false, + "documentation": null, + "id": 6406, + "name": "Transfer", + "nodeType": "EventDefinition", + "parameters": { + "id": 6405, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6400, + "indexed": true, + "name": "from", + "nodeType": "VariableDeclaration", + "scope": 6406, + "src": "435:20:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6399, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "435:7:20", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6402, + "indexed": true, + "name": "to", + "nodeType": "VariableDeclaration", + "scope": 6406, + "src": "457:18:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6401, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "457:7:20", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6404, + "indexed": false, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 6406, + "src": "477:10:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6403, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "477:4:20", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "434:54:20" + }, + "src": "420:69:20" + }, + { + "anonymous": false, + "documentation": null, + "id": 6414, + "name": "Approval", + "nodeType": "EventDefinition", + "parameters": { + "id": 6413, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6408, + "indexed": true, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 6414, + "src": "507:21:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6407, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "507:7:20", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6410, + "indexed": true, + "name": "spender", + "nodeType": "VariableDeclaration", + "scope": 6414, + "src": "530:23:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6409, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "530:7:20", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6412, + "indexed": false, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 6414, + "src": "555:10:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6411, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "555:4:20", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "506:60:20" + }, + "src": "492:75:20" + } + ], + "scope": 6416, + "src": "25:544:20" + } + ], + "src": "0:570:20" + }, + "compiler": { + "name": "solc", + "version": "0.4.21+commit.dfe3193c.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "2.0.0", + "updatedAt": "2018-06-12T14:56:21.164Z" +} \ No newline at end of file diff --git a/deployed/contracts/IexecAPI.json b/deployed/contracts/IexecAPI.json new file mode 100644 index 00000000..f559670e --- /dev/null +++ b/deployed/contracts/IexecAPI.json @@ -0,0 +1,6854 @@ +{ + "contractName": "IexecAPI", + "abi": [ + { + "constant": false, + "inputs": [ + { + "name": "_newOwner", + "type": "address" + } + ], + "name": "setImmutableOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "m_callbackProofAddress", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "m_owner", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "m_changeable", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "name": "_iexecHubAddress", + "type": "address" + }, + { + "name": "_callbackProofAddress", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "woid", + "type": "address" + } + ], + "name": "WorkOrderActivated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "to", + "type": "address" + }, + { + "indexed": false, + "name": "amount", + "type": "uint256" + } + ], + "name": "WithdrawRLCFromIexecAPI", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "iexecHub", + "type": "address" + }, + { + "indexed": false, + "name": "amount", + "type": "uint256" + } + ], + "name": "ApproveIexecHub", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "iexecHub", + "type": "address" + }, + { + "indexed": false, + "name": "amount", + "type": "uint256" + } + ], + "name": "DepositRLCOnIexecHub", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "iexecHub", + "type": "address" + }, + { + "indexed": false, + "name": "amount", + "type": "uint256" + } + ], + "name": "WithdrawRLCFromIexecHub", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "woid", + "type": "address" + }, + { + "indexed": false, + "name": "stdout", + "type": "string" + }, + { + "indexed": false, + "name": "stderr", + "type": "string" + }, + { + "indexed": false, + "name": "uri", + "type": "string" + } + ], + "name": "WorkOrderCallback", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "constant": false, + "inputs": [ + { + "name": "_marketorderIdx", + "type": "uint256" + }, + { + "name": "_workerpool", + "type": "address" + }, + { + "name": "_app", + "type": "address" + }, + { + "name": "_dataset", + "type": "address" + }, + { + "name": "_params", + "type": "string" + }, + { + "name": "_callback", + "type": "address" + }, + { + "name": "_beneficiary", + "type": "address" + } + ], + "name": "buyForWorkOrder", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_woid", + "type": "address" + }, + { + "name": "_stdout", + "type": "string" + }, + { + "name": "_stderr", + "type": "string" + }, + { + "name": "_uri", + "type": "string" + } + ], + "name": "workOrderCallback", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "amount", + "type": "uint256" + } + ], + "name": "approveIexecHub", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "amount", + "type": "uint256" + } + ], + "name": "withdrawRLCFromIexecAPI", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "amount", + "type": "uint256" + } + ], + "name": "depositRLCOnIexecHub", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "amount", + "type": "uint256" + } + ], + "name": "withdrawRLCFromIexecHub", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x6060604052341561000f57600080fd5b604051604080610c2883398101604052808051919060200180516000805460a060020a60ff0219600160a060020a03338116600160a060020a0319909316929092171674010000000000000000000000000000000000000000179091559092508391508116151561007f57600080fd5b60018054600160a060020a03928316600160a060020a0319918216179091556002805493909216921691909117905550610b6a806100be6000396000f30060606040526004361061008a5763ffffffff60e060020a6000350416634c0f5342811461008f578063514d7067146100b9578063536e28001461019c57806356af48ca1461022057806379117b2e14610236578063a56620f71461024c578063bbac78a914610262578063c2cc421414610281578063deff41c1146102b0578063e21b9d08146102c3575b600080fd5b341561009a57600080fd5b6100a56004356102d6565b604051901515815260200160405180910390f35b34156100c457600080fd5b6100a560048035600160a060020a03169060446024803590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052818152929190602084018383808284375094965061042195505050505050565b34156101a757600080fd5b61021e6004803590600160a060020a0360248035821692604435831692606435169160a49060843590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284375094965050600160a060020a038535811695602001351693506105c992505050565b005b341561022b57600080fd5b6100a560043561071b565b341561024157600080fd5b6100a56004356107f9565b341561025757600080fd5b6100a56004356108eb565b341561026d57600080fd5b61021e600160a060020a0360043516610a23565b341561028c57600080fd5b610294610aff565b604051600160a060020a03909116815260200160405180910390f35b34156102bb57600080fd5b610294610b0e565b34156102ce57600080fd5b6100a5610b1d565b60008054819033600160a060020a039081169116146102f457600080fd5b600154600160a060020a031663b017c0366040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561033357600080fd5b5af1151561034057600080fd5b5050506040518051600154909250600160a060020a03808416925063095ea7b391168560405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b15156103a657600080fd5b5af115156103b357600080fd5b5050506040518051905015156103c857600080fd5b6001547f5e9a23944fb3d019925ad84f8e1696436c1c7229787674a8ef8e08c776050df590600160a060020a031684604051600160a060020a03909216825260208201526040908101905180910390a150600192915050565b60025460009033600160a060020a0390811691161461043f57600080fd5b7f708463eccdafadafbe7022c0f4909af2e585cd08c63eaefa786159e156227e3785858585604051600160a060020a03851681526080602082018181529060408301906060840190840187818151815260200191508051906020019080838360005b838110156104b95780820151838201526020016104a1565b50505050905090810190601f1680156104e65780820380516001836020036101000a031916815260200191505b50848103835286818151815260200191508051906020019080838360005b8381101561051c578082015183820152602001610504565b50505050905090810190601f1680156105495780820380516001836020036101000a031916815260200191505b50848103825285818151815260200191508051906020019080838360005b8381101561057f578082015183820152602001610567565b50505050905090810190601f1680156105ac5780820380516001836020036101000a031916815260200191505b5097505050505050505060405180910390a1506001949350505050565b600154600090600160a060020a031663536e28008989898989898960405160e060020a63ffffffff8a1602815260048101888152600160a060020a0380891660248401528781166044840152868116606484015284811660a4840152831660c483015260e060848301908152909160e40185818151815260200191508051906020019080838360005b8381101561066a578082015183820152602001610652565b50505050905090810190601f1680156106975780820380516001836020036101000a031916815260200191505b5098505050505050505050602060405180830381600087803b15156106bb57600080fd5b5af115156106c857600080fd5b5050506040518051905090507f97bc1c5737260b338426a9a41398356e2567bfb662ff28845fb5cb3e6cdfee9181604051600160a060020a03909116815260200160405180910390a15050505050505050565b6000805433600160a060020a0390811691161461073757600080fd5b600154600160a060020a031663b6b55f258360405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b151561077f57600080fd5b5af1151561078c57600080fd5b5050506040518051905015156107a157600080fd5b6001547fbaa053b1e17bc83190da4939238743339cd734d83d7413a6d3c117df790dd1a590600160a060020a031683604051600160a060020a03909216825260208201526040908101905180910390a1506001919050565b6000805433600160a060020a0390811691161461081557600080fd5b600154600160a060020a0316632e1a7d4d8360405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b151561085d57600080fd5b5af1151561086a57600080fd5b50505060405180519050151561087f57600080fd5b610888826108eb565b151561089357600080fd5b6001547f2114edfbc766dd13ecebe139c59b657991c87b94518361feb5db86f05b0570f190600160a060020a031683604051600160a060020a03909216825260208201526040908101905180910390a1506001919050565b60008054819033600160a060020a0390811691161461090957600080fd5b600154600160a060020a031663b017c0366040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561094857600080fd5b5af1151561095557600080fd5b5050506040518051915050600160a060020a03811663a9059cbb338560405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b15156109b457600080fd5b5af115156109c157600080fd5b5050506040518051905015156109d657600080fd5b7f3cab9babe8fba8f5cfad7cac37057781ced585f6af63c4e64aedbb12a5c96d993384604051600160a060020a03909216825260208201526040908101905180910390a150600192915050565b60005433600160a060020a03908116911614610a3e57600080fd5b60005474010000000000000000000000000000000000000000900460ff161515610a6757600080fd5b600160a060020a0381161515610a7c57600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911774ff000000000000000000000000000000000000000019169055565b600254600160a060020a031681565b600054600160a060020a031681565b60005474010000000000000000000000000000000000000000900460ff16815600a165627a7a723058203c5f00edf167da00906749313aaa54bb10b6fb41b4d3297b9bb90c7027adf5c70029", + "deployedBytecode": "0x60606040526004361061008a5763ffffffff60e060020a6000350416634c0f5342811461008f578063514d7067146100b9578063536e28001461019c57806356af48ca1461022057806379117b2e14610236578063a56620f71461024c578063bbac78a914610262578063c2cc421414610281578063deff41c1146102b0578063e21b9d08146102c3575b600080fd5b341561009a57600080fd5b6100a56004356102d6565b604051901515815260200160405180910390f35b34156100c457600080fd5b6100a560048035600160a060020a03169060446024803590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052818152929190602084018383808284375094965061042195505050505050565b34156101a757600080fd5b61021e6004803590600160a060020a0360248035821692604435831692606435169160a49060843590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284375094965050600160a060020a038535811695602001351693506105c992505050565b005b341561022b57600080fd5b6100a560043561071b565b341561024157600080fd5b6100a56004356107f9565b341561025757600080fd5b6100a56004356108eb565b341561026d57600080fd5b61021e600160a060020a0360043516610a23565b341561028c57600080fd5b610294610aff565b604051600160a060020a03909116815260200160405180910390f35b34156102bb57600080fd5b610294610b0e565b34156102ce57600080fd5b6100a5610b1d565b60008054819033600160a060020a039081169116146102f457600080fd5b600154600160a060020a031663b017c0366040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561033357600080fd5b5af1151561034057600080fd5b5050506040518051600154909250600160a060020a03808416925063095ea7b391168560405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b15156103a657600080fd5b5af115156103b357600080fd5b5050506040518051905015156103c857600080fd5b6001547f5e9a23944fb3d019925ad84f8e1696436c1c7229787674a8ef8e08c776050df590600160a060020a031684604051600160a060020a03909216825260208201526040908101905180910390a150600192915050565b60025460009033600160a060020a0390811691161461043f57600080fd5b7f708463eccdafadafbe7022c0f4909af2e585cd08c63eaefa786159e156227e3785858585604051600160a060020a03851681526080602082018181529060408301906060840190840187818151815260200191508051906020019080838360005b838110156104b95780820151838201526020016104a1565b50505050905090810190601f1680156104e65780820380516001836020036101000a031916815260200191505b50848103835286818151815260200191508051906020019080838360005b8381101561051c578082015183820152602001610504565b50505050905090810190601f1680156105495780820380516001836020036101000a031916815260200191505b50848103825285818151815260200191508051906020019080838360005b8381101561057f578082015183820152602001610567565b50505050905090810190601f1680156105ac5780820380516001836020036101000a031916815260200191505b5097505050505050505060405180910390a1506001949350505050565b600154600090600160a060020a031663536e28008989898989898960405160e060020a63ffffffff8a1602815260048101888152600160a060020a0380891660248401528781166044840152868116606484015284811660a4840152831660c483015260e060848301908152909160e40185818151815260200191508051906020019080838360005b8381101561066a578082015183820152602001610652565b50505050905090810190601f1680156106975780820380516001836020036101000a031916815260200191505b5098505050505050505050602060405180830381600087803b15156106bb57600080fd5b5af115156106c857600080fd5b5050506040518051905090507f97bc1c5737260b338426a9a41398356e2567bfb662ff28845fb5cb3e6cdfee9181604051600160a060020a03909116815260200160405180910390a15050505050505050565b6000805433600160a060020a0390811691161461073757600080fd5b600154600160a060020a031663b6b55f258360405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b151561077f57600080fd5b5af1151561078c57600080fd5b5050506040518051905015156107a157600080fd5b6001547fbaa053b1e17bc83190da4939238743339cd734d83d7413a6d3c117df790dd1a590600160a060020a031683604051600160a060020a03909216825260208201526040908101905180910390a1506001919050565b6000805433600160a060020a0390811691161461081557600080fd5b600154600160a060020a0316632e1a7d4d8360405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b151561085d57600080fd5b5af1151561086a57600080fd5b50505060405180519050151561087f57600080fd5b610888826108eb565b151561089357600080fd5b6001547f2114edfbc766dd13ecebe139c59b657991c87b94518361feb5db86f05b0570f190600160a060020a031683604051600160a060020a03909216825260208201526040908101905180910390a1506001919050565b60008054819033600160a060020a0390811691161461090957600080fd5b600154600160a060020a031663b017c0366040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561094857600080fd5b5af1151561095557600080fd5b5050506040518051915050600160a060020a03811663a9059cbb338560405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b15156109b457600080fd5b5af115156109c157600080fd5b5050506040518051905015156109d657600080fd5b7f3cab9babe8fba8f5cfad7cac37057781ced585f6af63c4e64aedbb12a5c96d993384604051600160a060020a03909216825260208201526040908101905180910390a150600192915050565b60005433600160a060020a03908116911614610a3e57600080fd5b60005474010000000000000000000000000000000000000000900460ff161515610a6757600080fd5b600160a060020a0381161515610a7c57600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911774ff000000000000000000000000000000000000000019169055565b600254600160a060020a031681565b600054600160a060020a031681565b60005474010000000000000000000000000000000000000000900460ff16815600a165627a7a723058203c5f00edf167da00906749313aaa54bb10b6fb41b4d3297b9bb90c7027adf5c70029", + "sourceMap": "163:2197:4:-;;;607:174;;;;;;;;;;;;;;;;;;;;;;;;;;;;667:7:14;:25;;-1:-1:-1;;;;;;;;;;;682:10:14;667:25;;-1:-1:-1;;;;;;667:25:14;;;;;;;696:19;;;;;;607:174:4;;-1:-1:-1;700:16:4;;-1:-1:-1;300:30:7;;;;292:39;;;;;;335:17;:55;;-1:-1:-1;;;;;335:55:7;;;-1:-1:-1;;;;;;335:55:7;;;;;;;731:22:4;:46;;;;;;;;;;;;;;-1:-1:-1;163:2197:4;;;;;;", + "deployedSourceMap": "163:2197:4:-;;;;;;;;;-1:-1:-1;;;163:2197:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1392:250;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1141:248;;;;;;;;;;;;;-1:-1:-1;;;;;1141:248:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1141:248:4;;-1:-1:-1;1141:248:4;;-1:-1:-1;;;;;;1141:248:4;784:354;;;;;;;;;;;;;;-1:-1:-1;;;;;784:354:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;784:354:4;;-1:-1:-1;;;;;;;784:354:4;;;;;;;;;;-1:-1:-1;784:354:4;;-1:-1:-1;;;784:354:4;;;1883:209;;;;;;;;;;;;;;2095:260;;;;;;;;;;;;;;1645:235;;;;;;;;;;;;;;876:234:14;;;;;;;;;;-1:-1:-1;;;;;876:234:14;;;;;550:37:4;;;;;;;;;;;;;;;-1:-1:-1;;;;;550:37:4;;;;;;;;;;;;;;238:22:14;;;;;;;;;;;;263:27;;;;;;;;;;;;1392:250:4;1459:4;502:7:14;;1459:4:4;;488:10:14;-1:-1:-1;;;;;488:21:14;;;502:7;;488:21;480:30;;;;;;1480:17:4;;-1:-1:-1;;;;;1480:17:4;:21;:23;;;;;-1:-1:-1;;;1480:23:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1535:17;;1480:23;;-1:-1:-1;;;;;;1515:11:4;;;;-1:-1:-1;1515:11:4;;1535:17;1555:6;1515:47;;-1:-1:-1;;;1515:47:4;;;;;;-1:-1:-1;;;;;1515:47:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1507:56;;;;;;;;1596:17;;1572:51;;-1:-1:-1;;;;;1596:17:4;1616:6;1572:51;;-1:-1:-1;;;;;1572:51:4;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1634:4:4;;1392:250;-1:-1:-1;;1392:250:4:o;1141:248::-;1290:22;;1257:4;;1276:10;-1:-1:-1;;;;;1276:36:4;;;1290:22;;1276:36;1268:45;;;;;;1322:48;1340:5;1347:7;1356;1365:4;1322:48;;-1:-1:-1;;;;;1322:48:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;1322:48:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;1322:48:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;1322:48:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1381:4:4;1141:248;;;;;;:::o;784:354::-;988:17;;973:12;;-1:-1:-1;;;;;988:17:4;:33;1022:15;1039:11;1052:4;1058:8;1068:7;1077:9;1088:12;988:113;;-1:-1:-1;;;988:113:4;;;;;;;;;;;;-1:-1:-1;;;;;988:113:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;988:113:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;973:128;;1110:24;1129:4;1110:24;;-1:-1:-1;;;;;1110:24:4;;;;;;;;;;;;;;784:354;;;;;;;;:::o;1883:209::-;1955:4;502:7:14;;488:10;-1:-1:-1;;;;;488:21:14;;;502:7;;488:21;480:30;;;;;;1974:17:4;;-1:-1:-1;;;;;1974:17:4;:25;2000:6;1974:33;;-1:-1:-1;;;1974:33:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1966:42;;;;;;;;2046:17;;2017:56;;-1:-1:-1;;;;;2046:17:4;2066:6;2017:56;;-1:-1:-1;;;;;2017:56:4;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2084:4:4;1883:209;;;:::o;2095:260::-;2170:4;502:7:14;;488:10;-1:-1:-1;;;;;488:21:14;;;502:7;;488:21;480:30;;;;;;2189:17:4;;-1:-1:-1;;;;;2189:17:4;:26;2216:6;2189:34;;-1:-1:-1;;;2189:34:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2181:43;;;;;;;;2236:31;2260:6;2236:23;:31::i;:::-;2228:40;;;;;;;;2309:17;;2277:59;;-1:-1:-1;;;;;2309:17:4;2329:6;2277:59;;-1:-1:-1;;;;;2277:59:4;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2347:4:4;2095:260;;;:::o;1645:235::-;1720:4;502:7:14;;1720:4:4;;488:10:14;-1:-1:-1;;;;;488:21:14;;;502:7;;488:21;480:30;;;;;;1741:17:4;;-1:-1:-1;;;;;1741:17:4;:21;:23;;;;;-1:-1:-1;;;1741:23:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;1776:12:4;;;1789:10;1801:6;1776:32;;-1:-1:-1;;;1776:32:4;;;;;;-1:-1:-1;;;;;1776:32:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1768:41;;;;;;;;1818:43;1842:10;1854:6;1818:43;;-1:-1:-1;;;;;1818:43:4;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1872:4:4;;1645:235;-1:-1:-1;;1645:235:4:o;876:234:14:-;502:7;;488:10;-1:-1:-1;;;;;488:21:14;;;502:7;;488:21;480:30;;;;;;956:12;;;;;;;948:21;;;;;;;;-1:-1:-1;;;;;981:23:14;;;;973:32;;;;;;1035:7;;-1:-1:-1;;;;;1014:40:14;;;;1035:7;1014:40;;;;;;;;;;1058:7;:24;;-1:-1:-1;;1058:24:14;-1:-1:-1;;;;;1058:24:14;;;;;;;;-1:-1:-1;;1086:20:14;;;876:234::o;550:37:4:-;;;-1:-1:-1;;;;;550:37:4;;:::o;238:22:14:-;;;-1:-1:-1;;;;;238:22:14;;:::o;263:27::-;;;;;;;;;:::o", + "source": "pragma solidity ^0.4.21;\nimport './OwnableOZ.sol';\nimport './IexecHubAccessor.sol';\nimport './IexecCallbackInterface.sol';\nimport \"rlc-token/contracts/RLC.sol\";\n\n\ncontract IexecAPI is OwnableOZ, IexecHubAccessor, IexecCallbackInterface\n{\n\tevent WorkOrderActivated (address woid);\n\tevent WithdrawRLCFromIexecAPI(address to, uint256 amount);\n\tevent ApproveIexecHub (address iexecHub, uint256 amount);\n\tevent DepositRLCOnIexecHub (address iexecHub, uint256 amount);\n\tevent WithdrawRLCFromIexecHub(address iexecHub, uint256 amount);\n\n\taddress public m_callbackProofAddress;\n\n\t// Constructor\n\tfunction IexecAPI(address _iexecHubAddress, address _callbackProofAddress)\n\tIexecHubAccessor(_iexecHubAddress)\n\tpublic\n\t{\n\t\tm_callbackProofAddress = _callbackProofAddress;\n\t}\n\n\tfunction buyForWorkOrder(\n\t\tuint256 _marketorderIdx,\n\t\taddress _workerpool,\n\t\taddress _app,\n\t\taddress _dataset,\n\t\tstring _params,\n\t\taddress _callback,\n\t\taddress _beneficiary)\n\tpublic\n\t{\n\t\taddress woid = iexecHubInterface.buyForWorkOrder(_marketorderIdx, _workerpool, _app, _dataset, _params, _callback, _beneficiary);\n\t\temit WorkOrderActivated(woid);\n\t}\n\n\tfunction workOrderCallback(\n\t\taddress _woid,\n\t\tstring _stdout,\n\t\tstring _stderr,\n\t\tstring _uri)\n\tpublic returns (bool)\n\t{\n\t\trequire(msg.sender == m_callbackProofAddress);\n\t\temit WorkOrderCallback(_woid, _stdout, _stderr, _uri);\n\t\treturn true;\n\t}\n\n\tfunction approveIexecHub(uint256 amount) public onlyOwner returns (bool)\n\t{\n\t\tRLC rlc = iexecHubInterface.rlc();\n\t\trequire(rlc.approve(address(iexecHubInterface), amount));\n\t\temit ApproveIexecHub(address(iexecHubInterface), amount);\n\t\treturn true;\n\t}\n\n\tfunction withdrawRLCFromIexecAPI(uint256 amount) public onlyOwner returns (bool)\n\t{\n\t\tRLC rlc = iexecHubInterface.rlc();\n\t\trequire(rlc.transfer(msg.sender, amount));\n\t\temit WithdrawRLCFromIexecAPI(msg.sender, amount);\n\t\treturn true;\n\t}\n\n\tfunction depositRLCOnIexecHub(uint256 amount) public onlyOwner returns (bool)\n\t{\n\t\trequire(iexecHubInterface.deposit(amount));\n\t\temit DepositRLCOnIexecHub(address(iexecHubInterface), amount);\n\t\treturn true;\n\t}\n\n\tfunction withdrawRLCFromIexecHub(uint256 amount) public onlyOwner returns (bool)\n\t{\n\t\trequire(iexecHubInterface.withdraw(amount));\n\t\trequire(withdrawRLCFromIexecAPI(amount));\n\t\temit WithdrawRLCFromIexecHub(address(iexecHubInterface), amount);\n\t\treturn true;\n\t}\n\n\n\n}\n", + "sourcePath": "/Users/fbranci/iexecdev/PoCo/contracts/IexecAPI.sol", + "ast": { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/IexecAPI.sol", + "exportedSymbols": { + "IexecAPI": [ + 698 + ] + }, + "id": 699, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 451, + "literals": [ + "solidity", + "^", + "0.4", + ".21" + ], + "nodeType": "PragmaDirective", + "src": "0:24:4" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/OwnableOZ.sol", + "file": "./OwnableOZ.sol", + "id": 452, + "nodeType": "ImportDirective", + "scope": 699, + "sourceUnit": 3748, + "src": "25:25:4", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/IexecHubAccessor.sol", + "file": "./IexecHubAccessor.sol", + "id": 453, + "nodeType": "ImportDirective", + "scope": 699, + "sourceUnit": 2476, + "src": "51:32:4", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/IexecCallbackInterface.sol", + "file": "./IexecCallbackInterface.sol", + "id": 454, + "nodeType": "ImportDirective", + "scope": 699, + "sourceUnit": 725, + "src": "84:38:4", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "rlc-token/contracts/RLC.sol", + "file": "rlc-token/contracts/RLC.sol", + "id": 455, + "nodeType": "ImportDirective", + "scope": 699, + "sourceUnit": 6786, + "src": "123:37:4", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": [], + "baseName": { + "contractScope": null, + "id": 456, + "name": "OwnableOZ", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 3747, + "src": "184:9:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_OwnableOZ_$3747", + "typeString": "contract OwnableOZ" + } + }, + "id": 457, + "nodeType": "InheritanceSpecifier", + "src": "184:9:4" + }, + { + "arguments": [], + "baseName": { + "contractScope": null, + "id": 458, + "name": "IexecHubAccessor", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2475, + "src": "195:16:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubAccessor_$2475", + "typeString": "contract IexecHubAccessor" + } + }, + "id": 459, + "nodeType": "InheritanceSpecifier", + "src": "195:16:4" + }, + { + "arguments": [], + "baseName": { + "contractScope": null, + "id": 460, + "name": "IexecCallbackInterface", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 724, + "src": "213:22:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecCallbackInterface_$724", + "typeString": "contract IexecCallbackInterface" + } + }, + "id": 461, + "nodeType": "InheritanceSpecifier", + "src": "213:22:4" + } + ], + "contractDependencies": [ + 724, + 2475, + 3747 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 698, + "linearizedBaseContracts": [ + 698, + 724, + 2475, + 3747 + ], + "name": "IexecAPI", + "nodeType": "ContractDefinition", + "nodes": [ + { + "anonymous": false, + "documentation": null, + "id": 465, + "name": "WorkOrderActivated", + "nodeType": "EventDefinition", + "parameters": { + "id": 464, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 463, + "indexed": false, + "name": "woid", + "nodeType": "VariableDeclaration", + "scope": 465, + "src": "269:12:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 462, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "269:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "268:14:4" + }, + "src": "239:44:4" + }, + { + "anonymous": false, + "documentation": null, + "id": 471, + "name": "WithdrawRLCFromIexecAPI", + "nodeType": "EventDefinition", + "parameters": { + "id": 470, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 467, + "indexed": false, + "name": "to", + "nodeType": "VariableDeclaration", + "scope": 471, + "src": "315:10:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 466, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "315:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 469, + "indexed": false, + "name": "amount", + "nodeType": "VariableDeclaration", + "scope": 471, + "src": "333:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 468, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "333:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "314:34:4" + }, + "src": "285:64:4" + }, + { + "anonymous": false, + "documentation": null, + "id": 477, + "name": "ApproveIexecHub", + "nodeType": "EventDefinition", + "parameters": { + "id": 476, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 473, + "indexed": false, + "name": "iexecHub", + "nodeType": "VariableDeclaration", + "scope": 477, + "src": "381:16:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 472, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "381:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 475, + "indexed": false, + "name": "amount", + "nodeType": "VariableDeclaration", + "scope": 477, + "src": "399:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 474, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "399:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "380:34:4" + }, + "src": "351:64:4" + }, + { + "anonymous": false, + "documentation": null, + "id": 483, + "name": "DepositRLCOnIexecHub", + "nodeType": "EventDefinition", + "parameters": { + "id": 482, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 479, + "indexed": false, + "name": "iexecHub", + "nodeType": "VariableDeclaration", + "scope": 483, + "src": "447:16:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 478, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "447:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 481, + "indexed": false, + "name": "amount", + "nodeType": "VariableDeclaration", + "scope": 483, + "src": "465:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 480, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "465:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "446:34:4" + }, + "src": "417:64:4" + }, + { + "anonymous": false, + "documentation": null, + "id": 489, + "name": "WithdrawRLCFromIexecHub", + "nodeType": "EventDefinition", + "parameters": { + "id": 488, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 485, + "indexed": false, + "name": "iexecHub", + "nodeType": "VariableDeclaration", + "scope": 489, + "src": "513:16:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 484, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "513:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 487, + "indexed": false, + "name": "amount", + "nodeType": "VariableDeclaration", + "scope": 489, + "src": "531:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 486, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "531:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "512:34:4" + }, + "src": "483:64:4" + }, + { + "constant": false, + "id": 491, + "name": "m_callbackProofAddress", + "nodeType": "VariableDeclaration", + "scope": 698, + "src": "550:37:4", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 490, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "550:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "body": { + "id": 505, + "nodeType": "Block", + "src": "727:54:4", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 503, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 501, + "name": "m_callbackProofAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 491, + "src": "731:22:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 502, + "name": "_callbackProofAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 495, + "src": "756:21:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "731:46:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 504, + "nodeType": "ExpressionStatement", + "src": "731:46:4" + } + ] + }, + "documentation": null, + "id": 506, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "id": 498, + "name": "_iexecHubAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 493, + "src": "700:16:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 499, + "modifierName": { + "argumentTypes": null, + "id": 497, + "name": "IexecHubAccessor", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2475, + "src": "683:16:4", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecHubAccessor_$2475_$", + "typeString": "type(contract IexecHubAccessor)" + } + }, + "nodeType": "ModifierInvocation", + "src": "683:34:4" + } + ], + "name": "IexecAPI", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 496, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 493, + "name": "_iexecHubAddress", + "nodeType": "VariableDeclaration", + "scope": 506, + "src": "625:24:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 492, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "625:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 495, + "name": "_callbackProofAddress", + "nodeType": "VariableDeclaration", + "scope": 506, + "src": "651:29:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 494, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "651:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "624:57:4" + }, + "payable": false, + "returnParameters": { + "id": 500, + "nodeType": "ParameterList", + "parameters": [], + "src": "727:0:4" + }, + "scope": 698, + "src": "607:174:4", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 540, + "nodeType": "Block", + "src": "969:169:4", + "statements": [ + { + "assignments": [ + 524 + ], + "declarations": [ + { + "constant": false, + "id": 524, + "name": "woid", + "nodeType": "VariableDeclaration", + "scope": 541, + "src": "973:12:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 523, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "973:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 535, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 527, + "name": "_marketorderIdx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 508, + "src": "1022:15:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 528, + "name": "_workerpool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 510, + "src": "1039:11:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 529, + "name": "_app", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 512, + "src": "1052:4:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 530, + "name": "_dataset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 514, + "src": "1058:8:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 531, + "name": "_params", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 516, + "src": "1068:7:4", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "id": 532, + "name": "_callback", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 518, + "src": "1077:9:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 533, + "name": "_beneficiary", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 520, + "src": "1088:12:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 525, + "name": "iexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2441, + "src": "988:17:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$2802", + "typeString": "contract IexecHubInterface" + } + }, + "id": 526, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "buyForWorkOrder", + "nodeType": "MemberAccess", + "referencedDeclaration": 2563, + "src": "988:33:4", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_address_$_t_address_$_t_address_$_t_string_memory_ptr_$_t_address_$_t_address_$returns$_t_address_$", + "typeString": "function (uint256,address,address,address,string memory,address,address) external returns (address)" + } + }, + "id": 534, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "988:113:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "973:128:4" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 537, + "name": "woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 524, + "src": "1129:4:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 536, + "name": "WorkOrderActivated", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 465, + "src": "1110:18:4", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 538, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1110:24:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 539, + "nodeType": "EmitStatement", + "src": "1105:29:4" + } + ] + }, + "documentation": null, + "id": 541, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "buyForWorkOrder", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 521, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 508, + "name": "_marketorderIdx", + "nodeType": "VariableDeclaration", + "scope": 541, + "src": "812:23:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 507, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "812:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 510, + "name": "_workerpool", + "nodeType": "VariableDeclaration", + "scope": 541, + "src": "839:19:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 509, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "839:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 512, + "name": "_app", + "nodeType": "VariableDeclaration", + "scope": 541, + "src": "862:12:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 511, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "862:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 514, + "name": "_dataset", + "nodeType": "VariableDeclaration", + "scope": 541, + "src": "878:16:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 513, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "878:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 516, + "name": "_params", + "nodeType": "VariableDeclaration", + "scope": 541, + "src": "898:15:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 515, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "898:6:4", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 518, + "name": "_callback", + "nodeType": "VariableDeclaration", + "scope": 541, + "src": "917:17:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 517, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "917:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 520, + "name": "_beneficiary", + "nodeType": "VariableDeclaration", + "scope": 541, + "src": "938:20:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 519, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "938:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "808:151:4" + }, + "payable": false, + "returnParameters": { + "id": 522, + "nodeType": "ParameterList", + "parameters": [], + "src": "969:0:4" + }, + "scope": 698, + "src": "784:354:4", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 570, + "nodeType": "Block", + "src": "1264:125:4", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 558, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 555, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "1276:3:4", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 556, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1276:10:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 557, + "name": "m_callbackProofAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 491, + "src": "1290:22:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1276:36:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 554, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "1268:7:4", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 559, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1268:45:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 560, + "nodeType": "ExpressionStatement", + "src": "1268:45:4" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 562, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 543, + "src": "1340:5:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 563, + "name": "_stdout", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 545, + "src": "1347:7:4", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "id": 564, + "name": "_stderr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 547, + "src": "1356:7:4", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "id": 565, + "name": "_uri", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 549, + "src": "1365:4:4", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 561, + "name": "WorkOrderCallback", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 723, + "src": "1322:17:4", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (address,string memory,string memory,string memory)" + } + }, + "id": 566, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1322:48:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 567, + "nodeType": "EmitStatement", + "src": "1317:53:4" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 568, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1381:4:4", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 553, + "id": 569, + "nodeType": "Return", + "src": "1374:11:4" + } + ] + }, + "documentation": null, + "id": 571, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "workOrderCallback", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 550, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 543, + "name": "_woid", + "nodeType": "VariableDeclaration", + "scope": 571, + "src": "1171:13:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 542, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1171:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 545, + "name": "_stdout", + "nodeType": "VariableDeclaration", + "scope": 571, + "src": "1188:15:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 544, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1188:6:4", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 547, + "name": "_stderr", + "nodeType": "VariableDeclaration", + "scope": 571, + "src": "1207:15:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 546, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1207:6:4", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 549, + "name": "_uri", + "nodeType": "VariableDeclaration", + "scope": 571, + "src": "1226:12:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 548, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1226:6:4", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1167:72:4" + }, + "payable": false, + "returnParameters": { + "id": 553, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 552, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 571, + "src": "1257:4:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 551, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1257:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1256:6:4" + }, + "scope": 698, + "src": "1141:248:4", + "stateMutability": "nonpayable", + "superFunction": 713, + "visibility": "public" + }, + { + "body": { + "id": 605, + "nodeType": "Block", + "src": "1466:176:4", + "statements": [ + { + "assignments": [ + 581 + ], + "declarations": [ + { + "constant": false, + "id": 581, + "name": "rlc", + "nodeType": "VariableDeclaration", + "scope": 606, + "src": "1470:7:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_RLC_$6785", + "typeString": "contract RLC" + }, + "typeName": { + "contractScope": null, + "id": 580, + "name": "RLC", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 6785, + "src": "1470:3:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_RLC_$6785", + "typeString": "contract RLC" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 585, + "initialValue": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 582, + "name": "iexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2441, + "src": "1480:17:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$2802", + "typeString": "contract IexecHubInterface" + } + }, + "id": 583, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "rlc", + "nodeType": "MemberAccess", + "referencedDeclaration": 2480, + "src": "1480:21:4", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_contract$_RLC_$6785_$", + "typeString": "function () view external returns (contract RLC)" + } + }, + "id": 584, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1480:23:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_RLC_$6785", + "typeString": "contract RLC" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1470:33:4" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 590, + "name": "iexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2441, + "src": "1535:17:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$2802", + "typeString": "contract IexecHubInterface" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_IexecHubInterface_$2802", + "typeString": "contract IexecHubInterface" + } + ], + "id": 589, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1527:7:4", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 591, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1527:26:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 592, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 573, + "src": "1555:6:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 587, + "name": "rlc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 581, + "src": "1515:3:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_RLC_$6785", + "typeString": "contract RLC" + } + }, + "id": 588, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "approve", + "nodeType": "MemberAccess", + "referencedDeclaration": 6736, + "src": "1515:11:4", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) external returns (bool)" + } + }, + "id": 593, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1515:47:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 586, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "1507:7:4", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 594, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1507:56:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 595, + "nodeType": "ExpressionStatement", + "src": "1507:56:4" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 598, + "name": "iexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2441, + "src": "1596:17:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$2802", + "typeString": "contract IexecHubInterface" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_IexecHubInterface_$2802", + "typeString": "contract IexecHubInterface" + } + ], + "id": 597, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1588:7:4", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 599, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1588:26:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 600, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 573, + "src": "1616:6:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 596, + "name": "ApproveIexecHub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 477, + "src": "1572:15:4", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 601, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1572:51:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 602, + "nodeType": "EmitStatement", + "src": "1567:56:4" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 603, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1634:4:4", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 579, + "id": 604, + "nodeType": "Return", + "src": "1627:11:4" + } + ] + }, + "documentation": null, + "id": 606, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 576, + "modifierName": { + "argumentTypes": null, + "id": 575, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3700, + "src": "1440:9:4", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "1440:9:4" + } + ], + "name": "approveIexecHub", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 574, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 573, + "name": "amount", + "nodeType": "VariableDeclaration", + "scope": 606, + "src": "1417:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 572, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1417:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1416:16:4" + }, + "payable": false, + "returnParameters": { + "id": 579, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 578, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 606, + "src": "1459:4:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 577, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1459:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1458:6:4" + }, + "scope": 698, + "src": "1392:250:4", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 638, + "nodeType": "Block", + "src": "1727:153:4", + "statements": [ + { + "assignments": [ + 616 + ], + "declarations": [ + { + "constant": false, + "id": 616, + "name": "rlc", + "nodeType": "VariableDeclaration", + "scope": 639, + "src": "1731:7:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_RLC_$6785", + "typeString": "contract RLC" + }, + "typeName": { + "contractScope": null, + "id": 615, + "name": "RLC", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 6785, + "src": "1731:3:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_RLC_$6785", + "typeString": "contract RLC" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 620, + "initialValue": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 617, + "name": "iexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2441, + "src": "1741:17:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$2802", + "typeString": "contract IexecHubInterface" + } + }, + "id": 618, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "rlc", + "nodeType": "MemberAccess", + "referencedDeclaration": 2480, + "src": "1741:21:4", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_contract$_RLC_$6785_$", + "typeString": "function () view external returns (contract RLC)" + } + }, + "id": 619, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1741:23:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_RLC_$6785", + "typeString": "contract RLC" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1731:33:4" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 624, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "1789:3:4", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 625, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1789:10:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 626, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 608, + "src": "1801:6:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 622, + "name": "rlc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 616, + "src": "1776:3:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_RLC_$6785", + "typeString": "contract RLC" + } + }, + "id": 623, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "transfer", + "nodeType": "MemberAccess", + "referencedDeclaration": 6632, + "src": "1776:12:4", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) external returns (bool)" + } + }, + "id": 627, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1776:32:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 621, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "1768:7:4", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 628, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1768:41:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 629, + "nodeType": "ExpressionStatement", + "src": "1768:41:4" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 631, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "1842:3:4", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 632, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1842:10:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 633, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 608, + "src": "1854:6:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 630, + "name": "WithdrawRLCFromIexecAPI", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 471, + "src": "1818:23:4", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 634, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1818:43:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 635, + "nodeType": "EmitStatement", + "src": "1813:48:4" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 636, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1872:4:4", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 614, + "id": 637, + "nodeType": "Return", + "src": "1865:11:4" + } + ] + }, + "documentation": null, + "id": 639, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 611, + "modifierName": { + "argumentTypes": null, + "id": 610, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3700, + "src": "1701:9:4", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "1701:9:4" + } + ], + "name": "withdrawRLCFromIexecAPI", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 609, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 608, + "name": "amount", + "nodeType": "VariableDeclaration", + "scope": 639, + "src": "1678:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 607, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1678:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1677:16:4" + }, + "payable": false, + "returnParameters": { + "id": 614, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 613, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 639, + "src": "1720:4:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 612, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1720:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1719:6:4" + }, + "scope": 698, + "src": "1645:235:4", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 664, + "nodeType": "Block", + "src": "1962:130:4", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 651, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 641, + "src": "2000:6:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 649, + "name": "iexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2441, + "src": "1974:17:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$2802", + "typeString": "contract IexecHubInterface" + } + }, + "id": 650, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "deposit", + "nodeType": "MemberAccess", + "referencedDeclaration": 2749, + "src": "1974:25:4", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) external returns (bool)" + } + }, + "id": 652, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1974:33:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 648, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "1966:7:4", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 653, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1966:42:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 654, + "nodeType": "ExpressionStatement", + "src": "1966:42:4" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 657, + "name": "iexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2441, + "src": "2046:17:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$2802", + "typeString": "contract IexecHubInterface" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_IexecHubInterface_$2802", + "typeString": "contract IexecHubInterface" + } + ], + "id": 656, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2038:7:4", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 658, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2038:26:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 659, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 641, + "src": "2066:6:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 655, + "name": "DepositRLCOnIexecHub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 483, + "src": "2017:20:4", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 660, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2017:56:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 661, + "nodeType": "EmitStatement", + "src": "2012:61:4" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 662, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2084:4:4", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 647, + "id": 663, + "nodeType": "Return", + "src": "2077:11:4" + } + ] + }, + "documentation": null, + "id": 665, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 644, + "modifierName": { + "argumentTypes": null, + "id": 643, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3700, + "src": "1936:9:4", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "1936:9:4" + } + ], + "name": "depositRLCOnIexecHub", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 642, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 641, + "name": "amount", + "nodeType": "VariableDeclaration", + "scope": 665, + "src": "1913:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 640, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1913:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1912:16:4" + }, + "payable": false, + "returnParameters": { + "id": 647, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 646, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 665, + "src": "1955:4:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 645, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1955:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1954:6:4" + }, + "scope": 698, + "src": "1883:209:4", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 696, + "nodeType": "Block", + "src": "2177:178:4", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 677, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 667, + "src": "2216:6:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 675, + "name": "iexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2441, + "src": "2189:17:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$2802", + "typeString": "contract IexecHubInterface" + } + }, + "id": 676, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "withdraw", + "nodeType": "MemberAccess", + "referencedDeclaration": 2756, + "src": "2189:26:4", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) external returns (bool)" + } + }, + "id": 678, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2189:34:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 674, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "2181:7:4", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 679, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2181:43:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 680, + "nodeType": "ExpressionStatement", + "src": "2181:43:4" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 683, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 667, + "src": "2260:6:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 682, + "name": "withdrawRLCFromIexecAPI", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 639, + "src": "2236:23:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) returns (bool)" + } + }, + "id": 684, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2236:31:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 681, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "2228:7:4", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 685, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2228:40:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 686, + "nodeType": "ExpressionStatement", + "src": "2228:40:4" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 689, + "name": "iexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2441, + "src": "2309:17:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$2802", + "typeString": "contract IexecHubInterface" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_IexecHubInterface_$2802", + "typeString": "contract IexecHubInterface" + } + ], + "id": 688, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2301:7:4", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 690, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2301:26:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 691, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 667, + "src": "2329:6:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 687, + "name": "WithdrawRLCFromIexecHub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 489, + "src": "2277:23:4", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 692, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2277:59:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 693, + "nodeType": "EmitStatement", + "src": "2272:64:4" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 694, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2347:4:4", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 673, + "id": 695, + "nodeType": "Return", + "src": "2340:11:4" + } + ] + }, + "documentation": null, + "id": 697, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 670, + "modifierName": { + "argumentTypes": null, + "id": 669, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3700, + "src": "2151:9:4", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "2151:9:4" + } + ], + "name": "withdrawRLCFromIexecHub", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 668, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 667, + "name": "amount", + "nodeType": "VariableDeclaration", + "scope": 697, + "src": "2128:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 666, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2128:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2127:16:4" + }, + "payable": false, + "returnParameters": { + "id": 673, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 672, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 697, + "src": "2170:4:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 671, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2170:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2169:6:4" + }, + "scope": 698, + "src": "2095:260:4", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 699, + "src": "163:2197:4" + } + ], + "src": "0:2361:4" + }, + "legacyAST": { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/IexecAPI.sol", + "exportedSymbols": { + "IexecAPI": [ + 698 + ] + }, + "id": 699, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 451, + "literals": [ + "solidity", + "^", + "0.4", + ".21" + ], + "nodeType": "PragmaDirective", + "src": "0:24:4" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/OwnableOZ.sol", + "file": "./OwnableOZ.sol", + "id": 452, + "nodeType": "ImportDirective", + "scope": 699, + "sourceUnit": 3748, + "src": "25:25:4", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/IexecHubAccessor.sol", + "file": "./IexecHubAccessor.sol", + "id": 453, + "nodeType": "ImportDirective", + "scope": 699, + "sourceUnit": 2476, + "src": "51:32:4", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/IexecCallbackInterface.sol", + "file": "./IexecCallbackInterface.sol", + "id": 454, + "nodeType": "ImportDirective", + "scope": 699, + "sourceUnit": 725, + "src": "84:38:4", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "rlc-token/contracts/RLC.sol", + "file": "rlc-token/contracts/RLC.sol", + "id": 455, + "nodeType": "ImportDirective", + "scope": 699, + "sourceUnit": 6786, + "src": "123:37:4", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": [], + "baseName": { + "contractScope": null, + "id": 456, + "name": "OwnableOZ", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 3747, + "src": "184:9:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_OwnableOZ_$3747", + "typeString": "contract OwnableOZ" + } + }, + "id": 457, + "nodeType": "InheritanceSpecifier", + "src": "184:9:4" + }, + { + "arguments": [], + "baseName": { + "contractScope": null, + "id": 458, + "name": "IexecHubAccessor", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2475, + "src": "195:16:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubAccessor_$2475", + "typeString": "contract IexecHubAccessor" + } + }, + "id": 459, + "nodeType": "InheritanceSpecifier", + "src": "195:16:4" + }, + { + "arguments": [], + "baseName": { + "contractScope": null, + "id": 460, + "name": "IexecCallbackInterface", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 724, + "src": "213:22:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecCallbackInterface_$724", + "typeString": "contract IexecCallbackInterface" + } + }, + "id": 461, + "nodeType": "InheritanceSpecifier", + "src": "213:22:4" + } + ], + "contractDependencies": [ + 724, + 2475, + 3747 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 698, + "linearizedBaseContracts": [ + 698, + 724, + 2475, + 3747 + ], + "name": "IexecAPI", + "nodeType": "ContractDefinition", + "nodes": [ + { + "anonymous": false, + "documentation": null, + "id": 465, + "name": "WorkOrderActivated", + "nodeType": "EventDefinition", + "parameters": { + "id": 464, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 463, + "indexed": false, + "name": "woid", + "nodeType": "VariableDeclaration", + "scope": 465, + "src": "269:12:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 462, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "269:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "268:14:4" + }, + "src": "239:44:4" + }, + { + "anonymous": false, + "documentation": null, + "id": 471, + "name": "WithdrawRLCFromIexecAPI", + "nodeType": "EventDefinition", + "parameters": { + "id": 470, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 467, + "indexed": false, + "name": "to", + "nodeType": "VariableDeclaration", + "scope": 471, + "src": "315:10:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 466, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "315:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 469, + "indexed": false, + "name": "amount", + "nodeType": "VariableDeclaration", + "scope": 471, + "src": "333:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 468, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "333:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "314:34:4" + }, + "src": "285:64:4" + }, + { + "anonymous": false, + "documentation": null, + "id": 477, + "name": "ApproveIexecHub", + "nodeType": "EventDefinition", + "parameters": { + "id": 476, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 473, + "indexed": false, + "name": "iexecHub", + "nodeType": "VariableDeclaration", + "scope": 477, + "src": "381:16:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 472, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "381:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 475, + "indexed": false, + "name": "amount", + "nodeType": "VariableDeclaration", + "scope": 477, + "src": "399:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 474, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "399:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "380:34:4" + }, + "src": "351:64:4" + }, + { + "anonymous": false, + "documentation": null, + "id": 483, + "name": "DepositRLCOnIexecHub", + "nodeType": "EventDefinition", + "parameters": { + "id": 482, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 479, + "indexed": false, + "name": "iexecHub", + "nodeType": "VariableDeclaration", + "scope": 483, + "src": "447:16:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 478, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "447:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 481, + "indexed": false, + "name": "amount", + "nodeType": "VariableDeclaration", + "scope": 483, + "src": "465:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 480, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "465:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "446:34:4" + }, + "src": "417:64:4" + }, + { + "anonymous": false, + "documentation": null, + "id": 489, + "name": "WithdrawRLCFromIexecHub", + "nodeType": "EventDefinition", + "parameters": { + "id": 488, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 485, + "indexed": false, + "name": "iexecHub", + "nodeType": "VariableDeclaration", + "scope": 489, + "src": "513:16:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 484, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "513:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 487, + "indexed": false, + "name": "amount", + "nodeType": "VariableDeclaration", + "scope": 489, + "src": "531:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 486, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "531:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "512:34:4" + }, + "src": "483:64:4" + }, + { + "constant": false, + "id": 491, + "name": "m_callbackProofAddress", + "nodeType": "VariableDeclaration", + "scope": 698, + "src": "550:37:4", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 490, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "550:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "body": { + "id": 505, + "nodeType": "Block", + "src": "727:54:4", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 503, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 501, + "name": "m_callbackProofAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 491, + "src": "731:22:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 502, + "name": "_callbackProofAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 495, + "src": "756:21:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "731:46:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 504, + "nodeType": "ExpressionStatement", + "src": "731:46:4" + } + ] + }, + "documentation": null, + "id": 506, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "id": 498, + "name": "_iexecHubAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 493, + "src": "700:16:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 499, + "modifierName": { + "argumentTypes": null, + "id": 497, + "name": "IexecHubAccessor", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2475, + "src": "683:16:4", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecHubAccessor_$2475_$", + "typeString": "type(contract IexecHubAccessor)" + } + }, + "nodeType": "ModifierInvocation", + "src": "683:34:4" + } + ], + "name": "IexecAPI", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 496, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 493, + "name": "_iexecHubAddress", + "nodeType": "VariableDeclaration", + "scope": 506, + "src": "625:24:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 492, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "625:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 495, + "name": "_callbackProofAddress", + "nodeType": "VariableDeclaration", + "scope": 506, + "src": "651:29:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 494, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "651:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "624:57:4" + }, + "payable": false, + "returnParameters": { + "id": 500, + "nodeType": "ParameterList", + "parameters": [], + "src": "727:0:4" + }, + "scope": 698, + "src": "607:174:4", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 540, + "nodeType": "Block", + "src": "969:169:4", + "statements": [ + { + "assignments": [ + 524 + ], + "declarations": [ + { + "constant": false, + "id": 524, + "name": "woid", + "nodeType": "VariableDeclaration", + "scope": 541, + "src": "973:12:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 523, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "973:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 535, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 527, + "name": "_marketorderIdx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 508, + "src": "1022:15:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 528, + "name": "_workerpool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 510, + "src": "1039:11:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 529, + "name": "_app", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 512, + "src": "1052:4:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 530, + "name": "_dataset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 514, + "src": "1058:8:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 531, + "name": "_params", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 516, + "src": "1068:7:4", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "id": 532, + "name": "_callback", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 518, + "src": "1077:9:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 533, + "name": "_beneficiary", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 520, + "src": "1088:12:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 525, + "name": "iexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2441, + "src": "988:17:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$2802", + "typeString": "contract IexecHubInterface" + } + }, + "id": 526, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "buyForWorkOrder", + "nodeType": "MemberAccess", + "referencedDeclaration": 2563, + "src": "988:33:4", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_address_$_t_address_$_t_address_$_t_string_memory_ptr_$_t_address_$_t_address_$returns$_t_address_$", + "typeString": "function (uint256,address,address,address,string memory,address,address) external returns (address)" + } + }, + "id": 534, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "988:113:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "973:128:4" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 537, + "name": "woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 524, + "src": "1129:4:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 536, + "name": "WorkOrderActivated", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 465, + "src": "1110:18:4", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 538, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1110:24:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 539, + "nodeType": "EmitStatement", + "src": "1105:29:4" + } + ] + }, + "documentation": null, + "id": 541, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "buyForWorkOrder", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 521, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 508, + "name": "_marketorderIdx", + "nodeType": "VariableDeclaration", + "scope": 541, + "src": "812:23:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 507, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "812:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 510, + "name": "_workerpool", + "nodeType": "VariableDeclaration", + "scope": 541, + "src": "839:19:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 509, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "839:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 512, + "name": "_app", + "nodeType": "VariableDeclaration", + "scope": 541, + "src": "862:12:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 511, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "862:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 514, + "name": "_dataset", + "nodeType": "VariableDeclaration", + "scope": 541, + "src": "878:16:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 513, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "878:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 516, + "name": "_params", + "nodeType": "VariableDeclaration", + "scope": 541, + "src": "898:15:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 515, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "898:6:4", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 518, + "name": "_callback", + "nodeType": "VariableDeclaration", + "scope": 541, + "src": "917:17:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 517, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "917:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 520, + "name": "_beneficiary", + "nodeType": "VariableDeclaration", + "scope": 541, + "src": "938:20:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 519, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "938:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "808:151:4" + }, + "payable": false, + "returnParameters": { + "id": 522, + "nodeType": "ParameterList", + "parameters": [], + "src": "969:0:4" + }, + "scope": 698, + "src": "784:354:4", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 570, + "nodeType": "Block", + "src": "1264:125:4", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 558, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 555, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "1276:3:4", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 556, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1276:10:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 557, + "name": "m_callbackProofAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 491, + "src": "1290:22:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1276:36:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 554, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "1268:7:4", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 559, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1268:45:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 560, + "nodeType": "ExpressionStatement", + "src": "1268:45:4" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 562, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 543, + "src": "1340:5:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 563, + "name": "_stdout", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 545, + "src": "1347:7:4", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "id": 564, + "name": "_stderr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 547, + "src": "1356:7:4", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "id": 565, + "name": "_uri", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 549, + "src": "1365:4:4", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 561, + "name": "WorkOrderCallback", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 723, + "src": "1322:17:4", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (address,string memory,string memory,string memory)" + } + }, + "id": 566, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1322:48:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 567, + "nodeType": "EmitStatement", + "src": "1317:53:4" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 568, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1381:4:4", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 553, + "id": 569, + "nodeType": "Return", + "src": "1374:11:4" + } + ] + }, + "documentation": null, + "id": 571, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "workOrderCallback", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 550, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 543, + "name": "_woid", + "nodeType": "VariableDeclaration", + "scope": 571, + "src": "1171:13:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 542, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1171:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 545, + "name": "_stdout", + "nodeType": "VariableDeclaration", + "scope": 571, + "src": "1188:15:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 544, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1188:6:4", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 547, + "name": "_stderr", + "nodeType": "VariableDeclaration", + "scope": 571, + "src": "1207:15:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 546, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1207:6:4", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 549, + "name": "_uri", + "nodeType": "VariableDeclaration", + "scope": 571, + "src": "1226:12:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 548, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1226:6:4", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1167:72:4" + }, + "payable": false, + "returnParameters": { + "id": 553, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 552, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 571, + "src": "1257:4:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 551, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1257:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1256:6:4" + }, + "scope": 698, + "src": "1141:248:4", + "stateMutability": "nonpayable", + "superFunction": 713, + "visibility": "public" + }, + { + "body": { + "id": 605, + "nodeType": "Block", + "src": "1466:176:4", + "statements": [ + { + "assignments": [ + 581 + ], + "declarations": [ + { + "constant": false, + "id": 581, + "name": "rlc", + "nodeType": "VariableDeclaration", + "scope": 606, + "src": "1470:7:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_RLC_$6785", + "typeString": "contract RLC" + }, + "typeName": { + "contractScope": null, + "id": 580, + "name": "RLC", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 6785, + "src": "1470:3:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_RLC_$6785", + "typeString": "contract RLC" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 585, + "initialValue": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 582, + "name": "iexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2441, + "src": "1480:17:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$2802", + "typeString": "contract IexecHubInterface" + } + }, + "id": 583, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "rlc", + "nodeType": "MemberAccess", + "referencedDeclaration": 2480, + "src": "1480:21:4", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_contract$_RLC_$6785_$", + "typeString": "function () view external returns (contract RLC)" + } + }, + "id": 584, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1480:23:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_RLC_$6785", + "typeString": "contract RLC" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1470:33:4" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 590, + "name": "iexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2441, + "src": "1535:17:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$2802", + "typeString": "contract IexecHubInterface" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_IexecHubInterface_$2802", + "typeString": "contract IexecHubInterface" + } + ], + "id": 589, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1527:7:4", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 591, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1527:26:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 592, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 573, + "src": "1555:6:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 587, + "name": "rlc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 581, + "src": "1515:3:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_RLC_$6785", + "typeString": "contract RLC" + } + }, + "id": 588, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "approve", + "nodeType": "MemberAccess", + "referencedDeclaration": 6736, + "src": "1515:11:4", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) external returns (bool)" + } + }, + "id": 593, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1515:47:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 586, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "1507:7:4", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 594, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1507:56:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 595, + "nodeType": "ExpressionStatement", + "src": "1507:56:4" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 598, + "name": "iexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2441, + "src": "1596:17:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$2802", + "typeString": "contract IexecHubInterface" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_IexecHubInterface_$2802", + "typeString": "contract IexecHubInterface" + } + ], + "id": 597, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1588:7:4", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 599, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1588:26:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 600, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 573, + "src": "1616:6:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 596, + "name": "ApproveIexecHub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 477, + "src": "1572:15:4", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 601, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1572:51:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 602, + "nodeType": "EmitStatement", + "src": "1567:56:4" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 603, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1634:4:4", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 579, + "id": 604, + "nodeType": "Return", + "src": "1627:11:4" + } + ] + }, + "documentation": null, + "id": 606, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 576, + "modifierName": { + "argumentTypes": null, + "id": 575, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3700, + "src": "1440:9:4", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "1440:9:4" + } + ], + "name": "approveIexecHub", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 574, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 573, + "name": "amount", + "nodeType": "VariableDeclaration", + "scope": 606, + "src": "1417:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 572, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1417:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1416:16:4" + }, + "payable": false, + "returnParameters": { + "id": 579, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 578, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 606, + "src": "1459:4:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 577, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1459:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1458:6:4" + }, + "scope": 698, + "src": "1392:250:4", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 638, + "nodeType": "Block", + "src": "1727:153:4", + "statements": [ + { + "assignments": [ + 616 + ], + "declarations": [ + { + "constant": false, + "id": 616, + "name": "rlc", + "nodeType": "VariableDeclaration", + "scope": 639, + "src": "1731:7:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_RLC_$6785", + "typeString": "contract RLC" + }, + "typeName": { + "contractScope": null, + "id": 615, + "name": "RLC", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 6785, + "src": "1731:3:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_RLC_$6785", + "typeString": "contract RLC" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 620, + "initialValue": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 617, + "name": "iexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2441, + "src": "1741:17:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$2802", + "typeString": "contract IexecHubInterface" + } + }, + "id": 618, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "rlc", + "nodeType": "MemberAccess", + "referencedDeclaration": 2480, + "src": "1741:21:4", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_contract$_RLC_$6785_$", + "typeString": "function () view external returns (contract RLC)" + } + }, + "id": 619, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1741:23:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_RLC_$6785", + "typeString": "contract RLC" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1731:33:4" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 624, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "1789:3:4", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 625, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1789:10:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 626, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 608, + "src": "1801:6:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 622, + "name": "rlc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 616, + "src": "1776:3:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_RLC_$6785", + "typeString": "contract RLC" + } + }, + "id": 623, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "transfer", + "nodeType": "MemberAccess", + "referencedDeclaration": 6632, + "src": "1776:12:4", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) external returns (bool)" + } + }, + "id": 627, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1776:32:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 621, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "1768:7:4", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 628, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1768:41:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 629, + "nodeType": "ExpressionStatement", + "src": "1768:41:4" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 631, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "1842:3:4", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 632, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1842:10:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 633, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 608, + "src": "1854:6:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 630, + "name": "WithdrawRLCFromIexecAPI", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 471, + "src": "1818:23:4", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 634, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1818:43:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 635, + "nodeType": "EmitStatement", + "src": "1813:48:4" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 636, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1872:4:4", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 614, + "id": 637, + "nodeType": "Return", + "src": "1865:11:4" + } + ] + }, + "documentation": null, + "id": 639, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 611, + "modifierName": { + "argumentTypes": null, + "id": 610, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3700, + "src": "1701:9:4", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "1701:9:4" + } + ], + "name": "withdrawRLCFromIexecAPI", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 609, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 608, + "name": "amount", + "nodeType": "VariableDeclaration", + "scope": 639, + "src": "1678:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 607, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1678:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1677:16:4" + }, + "payable": false, + "returnParameters": { + "id": 614, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 613, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 639, + "src": "1720:4:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 612, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1720:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1719:6:4" + }, + "scope": 698, + "src": "1645:235:4", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 664, + "nodeType": "Block", + "src": "1962:130:4", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 651, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 641, + "src": "2000:6:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 649, + "name": "iexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2441, + "src": "1974:17:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$2802", + "typeString": "contract IexecHubInterface" + } + }, + "id": 650, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "deposit", + "nodeType": "MemberAccess", + "referencedDeclaration": 2749, + "src": "1974:25:4", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) external returns (bool)" + } + }, + "id": 652, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1974:33:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 648, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "1966:7:4", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 653, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1966:42:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 654, + "nodeType": "ExpressionStatement", + "src": "1966:42:4" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 657, + "name": "iexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2441, + "src": "2046:17:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$2802", + "typeString": "contract IexecHubInterface" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_IexecHubInterface_$2802", + "typeString": "contract IexecHubInterface" + } + ], + "id": 656, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2038:7:4", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 658, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2038:26:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 659, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 641, + "src": "2066:6:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 655, + "name": "DepositRLCOnIexecHub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 483, + "src": "2017:20:4", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 660, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2017:56:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 661, + "nodeType": "EmitStatement", + "src": "2012:61:4" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 662, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2084:4:4", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 647, + "id": 663, + "nodeType": "Return", + "src": "2077:11:4" + } + ] + }, + "documentation": null, + "id": 665, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 644, + "modifierName": { + "argumentTypes": null, + "id": 643, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3700, + "src": "1936:9:4", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "1936:9:4" + } + ], + "name": "depositRLCOnIexecHub", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 642, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 641, + "name": "amount", + "nodeType": "VariableDeclaration", + "scope": 665, + "src": "1913:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 640, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1913:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1912:16:4" + }, + "payable": false, + "returnParameters": { + "id": 647, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 646, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 665, + "src": "1955:4:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 645, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1955:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1954:6:4" + }, + "scope": 698, + "src": "1883:209:4", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 696, + "nodeType": "Block", + "src": "2177:178:4", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 677, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 667, + "src": "2216:6:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 675, + "name": "iexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2441, + "src": "2189:17:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$2802", + "typeString": "contract IexecHubInterface" + } + }, + "id": 676, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "withdraw", + "nodeType": "MemberAccess", + "referencedDeclaration": 2756, + "src": "2189:26:4", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) external returns (bool)" + } + }, + "id": 678, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2189:34:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 674, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "2181:7:4", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 679, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2181:43:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 680, + "nodeType": "ExpressionStatement", + "src": "2181:43:4" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 683, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 667, + "src": "2260:6:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 682, + "name": "withdrawRLCFromIexecAPI", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 639, + "src": "2236:23:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) returns (bool)" + } + }, + "id": 684, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2236:31:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 681, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "2228:7:4", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 685, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2228:40:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 686, + "nodeType": "ExpressionStatement", + "src": "2228:40:4" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 689, + "name": "iexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2441, + "src": "2309:17:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$2802", + "typeString": "contract IexecHubInterface" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_IexecHubInterface_$2802", + "typeString": "contract IexecHubInterface" + } + ], + "id": 688, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2301:7:4", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 690, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2301:26:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 691, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 667, + "src": "2329:6:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 687, + "name": "WithdrawRLCFromIexecHub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 489, + "src": "2277:23:4", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 692, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2277:59:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 693, + "nodeType": "EmitStatement", + "src": "2272:64:4" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 694, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2347:4:4", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 673, + "id": 695, + "nodeType": "Return", + "src": "2340:11:4" + } + ] + }, + "documentation": null, + "id": 697, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 670, + "modifierName": { + "argumentTypes": null, + "id": 669, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3700, + "src": "2151:9:4", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "2151:9:4" + } + ], + "name": "withdrawRLCFromIexecHub", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 668, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 667, + "name": "amount", + "nodeType": "VariableDeclaration", + "scope": 697, + "src": "2128:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 666, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2128:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2127:16:4" + }, + "payable": false, + "returnParameters": { + "id": 673, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 672, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 697, + "src": "2170:4:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 671, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2170:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2169:6:4" + }, + "scope": 698, + "src": "2095:260:4", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 699, + "src": "163:2197:4" + } + ], + "src": "0:2361:4" + }, + "compiler": { + "name": "solc", + "version": "0.4.21+commit.dfe3193c.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "2.0.0", + "updatedAt": "2018-06-12T14:56:21.135Z" +} \ No newline at end of file diff --git a/deployed/contracts/IexecCallbackInterface.json b/deployed/contracts/IexecCallbackInterface.json new file mode 100644 index 00000000..eb8114ef --- /dev/null +++ b/deployed/contracts/IexecCallbackInterface.json @@ -0,0 +1,726 @@ +{ + "contractName": "IexecCallbackInterface", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "woid", + "type": "address" + }, + { + "indexed": false, + "name": "stdout", + "type": "string" + }, + { + "indexed": false, + "name": "stderr", + "type": "string" + }, + { + "indexed": false, + "name": "uri", + "type": "string" + } + ], + "name": "WorkOrderCallback", + "type": "event" + }, + { + "constant": false, + "inputs": [ + { + "name": "_woid", + "type": "address" + }, + { + "name": "_stdout", + "type": "string" + }, + { + "name": "_stderr", + "type": "string" + }, + { + "name": "_uri", + "type": "string" + } + ], + "name": "workOrderCallback", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "sourceMap": "", + "deployedSourceMap": "", + "source": "pragma solidity ^0.4.21;\n\ncontract IexecCallbackInterface\n{\n\t\n\tfunction workOrderCallback(\n\t\taddress _woid,\n\t\tstring _stdout,\n\t\tstring _stderr,\n\t\tstring _uri) public returns (bool);\n\n\tevent WorkOrderCallback(address woid, string stdout, string stderr, string uri);\n}\n", + "sourcePath": "/Users/fbranci/iexecdev/PoCo/contracts/IexecCallbackInterface.sol", + "ast": { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/IexecCallbackInterface.sol", + "exportedSymbols": { + "IexecCallbackInterface": [ + 724 + ] + }, + "id": 725, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 700, + "literals": [ + "solidity", + "^", + "0.4", + ".21" + ], + "nodeType": "PragmaDirective", + "src": "0:24:5" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": false, + "id": 724, + "linearizedBaseContracts": [ + 724 + ], + "name": "IexecCallbackInterface", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": null, + "documentation": null, + "id": 713, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "workOrderCallback", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 709, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 702, + "name": "_woid", + "nodeType": "VariableDeclaration", + "scope": 713, + "src": "93:13:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 701, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "93:7:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 704, + "name": "_stdout", + "nodeType": "VariableDeclaration", + "scope": 713, + "src": "110:15:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 703, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "110:6:5", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 706, + "name": "_stderr", + "nodeType": "VariableDeclaration", + "scope": 713, + "src": "129:15:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 705, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "129:6:5", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 708, + "name": "_uri", + "nodeType": "VariableDeclaration", + "scope": 713, + "src": "148:12:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 707, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "148:6:5", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "89:72:5" + }, + "payable": false, + "returnParameters": { + "id": 712, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 711, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 713, + "src": "178:4:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 710, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "178:4:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "177:6:5" + }, + "scope": 724, + "src": "63:121:5", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "anonymous": false, + "documentation": null, + "id": 723, + "name": "WorkOrderCallback", + "nodeType": "EventDefinition", + "parameters": { + "id": 722, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 715, + "indexed": false, + "name": "woid", + "nodeType": "VariableDeclaration", + "scope": 723, + "src": "211:12:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 714, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "211:7:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 717, + "indexed": false, + "name": "stdout", + "nodeType": "VariableDeclaration", + "scope": 723, + "src": "225:13:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 716, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "225:6:5", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 719, + "indexed": false, + "name": "stderr", + "nodeType": "VariableDeclaration", + "scope": 723, + "src": "240:13:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 718, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "240:6:5", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 721, + "indexed": false, + "name": "uri", + "nodeType": "VariableDeclaration", + "scope": 723, + "src": "255:10:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 720, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "255:6:5", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "210:56:5" + }, + "src": "187:80:5" + } + ], + "scope": 725, + "src": "26:243:5" + } + ], + "src": "0:270:5" + }, + "legacyAST": { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/IexecCallbackInterface.sol", + "exportedSymbols": { + "IexecCallbackInterface": [ + 724 + ] + }, + "id": 725, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 700, + "literals": [ + "solidity", + "^", + "0.4", + ".21" + ], + "nodeType": "PragmaDirective", + "src": "0:24:5" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": false, + "id": 724, + "linearizedBaseContracts": [ + 724 + ], + "name": "IexecCallbackInterface", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": null, + "documentation": null, + "id": 713, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "workOrderCallback", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 709, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 702, + "name": "_woid", + "nodeType": "VariableDeclaration", + "scope": 713, + "src": "93:13:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 701, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "93:7:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 704, + "name": "_stdout", + "nodeType": "VariableDeclaration", + "scope": 713, + "src": "110:15:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 703, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "110:6:5", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 706, + "name": "_stderr", + "nodeType": "VariableDeclaration", + "scope": 713, + "src": "129:15:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 705, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "129:6:5", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 708, + "name": "_uri", + "nodeType": "VariableDeclaration", + "scope": 713, + "src": "148:12:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 707, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "148:6:5", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "89:72:5" + }, + "payable": false, + "returnParameters": { + "id": 712, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 711, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 713, + "src": "178:4:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 710, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "178:4:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "177:6:5" + }, + "scope": 724, + "src": "63:121:5", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "anonymous": false, + "documentation": null, + "id": 723, + "name": "WorkOrderCallback", + "nodeType": "EventDefinition", + "parameters": { + "id": 722, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 715, + "indexed": false, + "name": "woid", + "nodeType": "VariableDeclaration", + "scope": 723, + "src": "211:12:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 714, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "211:7:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 717, + "indexed": false, + "name": "stdout", + "nodeType": "VariableDeclaration", + "scope": 723, + "src": "225:13:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 716, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "225:6:5", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 719, + "indexed": false, + "name": "stderr", + "nodeType": "VariableDeclaration", + "scope": 723, + "src": "240:13:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 718, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "240:6:5", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 721, + "indexed": false, + "name": "uri", + "nodeType": "VariableDeclaration", + "scope": 723, + "src": "255:10:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 720, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "255:6:5", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "210:56:5" + }, + "src": "187:80:5" + } + ], + "scope": 725, + "src": "26:243:5" + } + ], + "src": "0:270:5" + }, + "compiler": { + "name": "solc", + "version": "0.4.21+commit.dfe3193c.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "2.0.0", + "updatedAt": "2018-06-12T14:56:21.136Z" +} \ No newline at end of file diff --git a/deployed/contracts/IexecHub.json b/deployed/contracts/IexecHub.json new file mode 100644 index 00000000..02a22a34 --- /dev/null +++ b/deployed/contracts/IexecHub.json @@ -0,0 +1,47559 @@ +{ + "contractName": "IexecHub", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "m_contributionHistory", + "outputs": [ + { + "name": "success", + "type": "uint256" + }, + { + "name": "failed", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "appHub", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "STAKE_BONUS_MIN_THRESHOLD", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "", + "type": "address" + } + ], + "name": "m_scores", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "workerPoolHub", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "SCORE_UNITARY_SLASH", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "STAKE_BONUS_RATIO", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "m_categoriesCount", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "marketplace", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "rlc", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "m_categoriesCreator", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "datasetHub", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "", + "type": "address" + } + ], + "name": "m_accounts", + "outputs": [ + { + "name": "stake", + "type": "uint256" + }, + { + "name": "locked", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "", + "type": "address" + } + ], + "name": "m_woidRegistered", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "", + "type": "uint256" + } + ], + "name": "m_categories", + "outputs": [ + { + "name": "catid", + "type": "uint256" + }, + { + "name": "name", + "type": "string" + }, + { + "name": "description", + "type": "string" + }, + { + "name": "workClockTimeRef", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "woid", + "type": "address" + }, + { + "indexed": true, + "name": "workerPool", + "type": "address" + } + ], + "name": "WorkOrderActivated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "woid", + "type": "address" + }, + { + "indexed": false, + "name": "workerPool", + "type": "address" + } + ], + "name": "WorkOrderClaimed", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "woid", + "type": "address" + }, + { + "indexed": false, + "name": "workerPool", + "type": "address" + } + ], + "name": "WorkOrderCompleted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "appOwner", + "type": "address" + }, + { + "indexed": true, + "name": "app", + "type": "address" + }, + { + "indexed": false, + "name": "appName", + "type": "string" + }, + { + "indexed": false, + "name": "appPrice", + "type": "uint256" + }, + { + "indexed": false, + "name": "appParams", + "type": "string" + } + ], + "name": "CreateApp", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "datasetOwner", + "type": "address" + }, + { + "indexed": true, + "name": "dataset", + "type": "address" + }, + { + "indexed": false, + "name": "datasetName", + "type": "string" + }, + { + "indexed": false, + "name": "datasetPrice", + "type": "uint256" + }, + { + "indexed": false, + "name": "datasetParams", + "type": "string" + } + ], + "name": "CreateDataset", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "workerPoolOwner", + "type": "address" + }, + { + "indexed": true, + "name": "workerPool", + "type": "address" + }, + { + "indexed": false, + "name": "workerPoolDescription", + "type": "string" + } + ], + "name": "CreateWorkerPool", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "catid", + "type": "uint256" + }, + { + "indexed": false, + "name": "name", + "type": "string" + }, + { + "indexed": false, + "name": "description", + "type": "string" + }, + { + "indexed": false, + "name": "workClockTimeRef", + "type": "uint256" + } + ], + "name": "CreateCategory", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "workerPool", + "type": "address" + }, + { + "indexed": false, + "name": "worker", + "type": "address" + } + ], + "name": "WorkerPoolSubscription", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "workerPool", + "type": "address" + }, + { + "indexed": false, + "name": "worker", + "type": "address" + } + ], + "name": "WorkerPoolUnsubscription", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "workerPool", + "type": "address" + }, + { + "indexed": false, + "name": "worker", + "type": "address" + } + ], + "name": "WorkerPoolEviction", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "woid", + "type": "address" + }, + { + "indexed": true, + "name": "worker", + "type": "address" + } + ], + "name": "AccurateContribution", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "woid", + "type": "address" + }, + { + "indexed": true, + "name": "worker", + "type": "address" + } + ], + "name": "FaultyContribution", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "owner", + "type": "address" + }, + { + "indexed": false, + "name": "amount", + "type": "uint256" + } + ], + "name": "Deposit", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "owner", + "type": "address" + }, + { + "indexed": false, + "name": "amount", + "type": "uint256" + } + ], + "name": "Withdraw", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "user", + "type": "address" + }, + { + "indexed": false, + "name": "amount", + "type": "uint256" + } + ], + "name": "Reward", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "user", + "type": "address" + }, + { + "indexed": false, + "name": "amount", + "type": "uint256" + } + ], + "name": "Seize", + "type": "event" + }, + { + "constant": false, + "inputs": [ + { + "name": "_tokenAddress", + "type": "address" + }, + { + "name": "_marketplaceAddress", + "type": "address" + }, + { + "name": "_workerPoolHubAddress", + "type": "address" + }, + { + "name": "_appHubAddress", + "type": "address" + }, + { + "name": "_datasetHubAddress", + "type": "address" + } + ], + "name": "attachContracts", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_categoriesCreator", + "type": "address" + } + ], + "name": "setCategoriesCreator", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_name", + "type": "string" + }, + { + "name": "_description", + "type": "string" + }, + { + "name": "_workClockTimeRef", + "type": "uint256" + } + ], + "name": "createCategory", + "outputs": [ + { + "name": "catid", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_description", + "type": "string" + }, + { + "name": "_subscriptionLockStakePolicy", + "type": "uint256" + }, + { + "name": "_subscriptionMinimumStakePolicy", + "type": "uint256" + }, + { + "name": "_subscriptionMinimumScorePolicy", + "type": "uint256" + } + ], + "name": "createWorkerPool", + "outputs": [ + { + "name": "createdWorkerPool", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_appName", + "type": "string" + }, + { + "name": "_appPrice", + "type": "uint256" + }, + { + "name": "_appParams", + "type": "string" + } + ], + "name": "createApp", + "outputs": [ + { + "name": "createdApp", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_datasetName", + "type": "string" + }, + { + "name": "_datasetPrice", + "type": "uint256" + }, + { + "name": "_datasetParams", + "type": "string" + } + ], + "name": "createDataset", + "outputs": [ + { + "name": "createdDataset", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_marketorderIdx", + "type": "uint256" + }, + { + "name": "_workerpool", + "type": "address" + }, + { + "name": "_app", + "type": "address" + }, + { + "name": "_dataset", + "type": "address" + }, + { + "name": "_params", + "type": "string" + }, + { + "name": "_callback", + "type": "address" + }, + { + "name": "_beneficiary", + "type": "address" + } + ], + "name": "buyForWorkOrder", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_woid", + "type": "address" + } + ], + "name": "isWoidRegistred", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_woid", + "type": "address" + } + ], + "name": "claimFailedConsensus", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_woid", + "type": "address" + }, + { + "name": "_stdout", + "type": "string" + }, + { + "name": "_stderr", + "type": "string" + }, + { + "name": "_uri", + "type": "string" + } + ], + "name": "finalizeWorkOrder", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_catId", + "type": "uint256" + } + ], + "name": "getCategoryWorkClockTimeRef", + "outputs": [ + { + "name": "workClockTimeRef", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_catId", + "type": "uint256" + } + ], + "name": "existingCategory", + "outputs": [ + { + "name": "categoryExist", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_catId", + "type": "uint256" + } + ], + "name": "getCategory", + "outputs": [ + { + "name": "catid", + "type": "uint256" + }, + { + "name": "name", + "type": "string" + }, + { + "name": "description", + "type": "string" + }, + { + "name": "workClockTimeRef", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_worker", + "type": "address" + } + ], + "name": "getWorkerStatus", + "outputs": [ + { + "name": "workerPool", + "type": "address" + }, + { + "name": "workerScore", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_worker", + "type": "address" + } + ], + "name": "getWorkerScore", + "outputs": [ + { + "name": "workerScore", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_worker", + "type": "address" + } + ], + "name": "registerToPool", + "outputs": [ + { + "name": "subscribed", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_worker", + "type": "address" + } + ], + "name": "unregisterFromPool", + "outputs": [ + { + "name": "unsubscribed", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_worker", + "type": "address" + } + ], + "name": "evictWorker", + "outputs": [ + { + "name": "unsubscribed", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_user", + "type": "address" + }, + { + "name": "_amount", + "type": "uint256" + } + ], + "name": "lockForOrder", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_user", + "type": "address" + }, + { + "name": "_amount", + "type": "uint256" + } + ], + "name": "unlockForOrder", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_woid", + "type": "address" + }, + { + "name": "_user", + "type": "address" + }, + { + "name": "_amount", + "type": "uint256" + } + ], + "name": "lockForWork", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_woid", + "type": "address" + }, + { + "name": "_user", + "type": "address" + }, + { + "name": "_amount", + "type": "uint256" + } + ], + "name": "unlockForWork", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_woid", + "type": "address" + }, + { + "name": "_worker", + "type": "address" + }, + { + "name": "_amount", + "type": "uint256" + }, + { + "name": "_reputation", + "type": "bool" + } + ], + "name": "rewardForWork", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_woid", + "type": "address" + }, + { + "name": "_worker", + "type": "address" + }, + { + "name": "_amount", + "type": "uint256" + }, + { + "name": "_reputation", + "type": "bool" + } + ], + "name": "seizeForWork", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_amount", + "type": "uint256" + } + ], + "name": "deposit", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_amount", + "type": "uint256" + } + ], + "name": "withdraw", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_owner", + "type": "address" + } + ], + "name": "checkBalance", + "outputs": [ + { + "name": "stake", + "type": "uint256" + }, + { + "name": "locked", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": "0x6060604052341561000f57600080fd5b60078054600160a060020a03191633600160a060020a0316179055614408806100396000396000f300606060405260043610620002155763ffffffff60e060020a6000350416630800b89e81146200021a5780630c91f2d0146200023e57806310793b5014620002825780631708d72514620002b05780631f87172614620002d2578063234a0ee714620002fd578063298503d9146200032f5780632e1a7d4d14620003c757806332baa8d914620003e057806332ca558714620003f957806339b73122146200041b5780634f73b8e6146200044c578063536e280014620004625780635f51522614620004ac57806366de5a4f14620004ce57806369e99b5c14620004f95780636b4f6865146200051b5780636e885bd71462000546578063747bcd72146200055c578063817e83321462000572578063835436b414620005885780638981d07714620005aa5780638986916314620005d55780638c0f8e1114620005f75780639fdf96251462000619578063a0efe2551462000649578063abc8c7af146200065f578063ac26109e1462000675578063b017c036146200069a578063b218cf1514620006b0578063b6b55f2514620006d2578063b6b57ebd14620006eb578063b6b8c3cd14620007d1578063b7b6e97814620007e7578063bc04d77b146200080c578063be02ee6e1462000822578063ddaeb6001462000844578063e760a11a1462000866578063eeeb2ba014620008a0578063f3052d2614620009ae578063f69f190c14620009c7578063fc06a8771462000a0b575b600080fd5b34156200022657600080fd5b6200023c600160a060020a036004351662000a3c565b005b34156200024a57600080fd5b6200026e600160a060020a0360043581169060243516604435606435151562000a87565b604051901515815260200160405180910390f35b34156200028e57600080fd5b6200029862000bf4565b60405191825260208201526040908101905180910390f35b3415620002bc57600080fd5b6200026e600160a060020a036004351662000bfd565b3415620002de57600080fd5b620002eb60043562000c66565b60405190815260200160405180910390f35b34156200030957600080fd5b6200031362000c95565b604051600160a060020a03909116815260200160405180910390f35b34156200033b57600080fd5b620002eb60046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528181529291906020840183838082843750949650509335935062000ca492505050565b3415620003d357600080fd5b6200026e60043562000e52565b3415620003ec57600080fd5b6200026e60043562000f5a565b34156200040557600080fd5b6200026e600160a060020a036004351662000f6d565b34156200042757600080fd5b6200031360246004803582810192908201359181359160443590810191013562000f8b565b34156200045857600080fd5b620002eb620010c9565b34156200046e57600080fd5b620003136004803590600160a060020a03602480358216926044358316926064358116926084359081019201359060a43581169060c43516620010cf565b3415620004b857600080fd5b62000298600160a060020a0360043516620012f9565b3415620004da57600080fd5b620003136024600480358281019291013590356044356064356200131c565b34156200050557600080fd5b620002eb600160a060020a036004351662001449565b34156200052757600080fd5b6200026e600160a060020a03600435811690602435166044356200145b565b34156200055257600080fd5b620003136200151e565b34156200056857600080fd5b620002eb6200152d565b34156200057e57600080fd5b620002eb62001532565b34156200059457600080fd5b6200026e600160a060020a036004351662001537565b3415620005b657600080fd5b6200026e600160a060020a0360043581169060243516604435620015a0565b3415620005e157600080fd5b6200026e600160a060020a03600435166200164c565b34156200060357600080fd5b620002eb600160a060020a036004351662001bbd565b34156200062557600080fd5b6200026e600160a060020a0360043581169060243516604435606435151562001bd8565b34156200065557600080fd5b620002eb62001d6f565b34156200066b57600080fd5b6200031362001d75565b34156200068157600080fd5b6200026e600160a060020a036004351660243562001d84565b3415620006a657600080fd5b6200031362001dc4565b3415620006bc57600080fd5b6200026e600160a060020a036004351662001dd3565b3415620006de57600080fd5b6200026e6004356200207d565b3415620006f757600080fd5b6200026e60048035600160a060020a03169060446024803590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405281815292919060208401838380828437509496506200219b95505050505050565b3415620007dd57600080fd5b62000313620029e9565b3415620007f357600080fd5b6200026e600160a060020a0360043516602435620029f8565b34156200081857600080fd5b6200031362002a23565b34156200082e57600080fd5b62000298600160a060020a036004351662002a32565b34156200085057600080fd5b6200026e600160a060020a036004351662002a4b565b34156200087257600080fd5b6200023c600160a060020a036004358116906024358116906044358116906064358116906084351662002a60565b3415620008ac57600080fd5b620008b960043562002aff565b604051808581526020018060200180602001848152602001838103835286818151815260200191508051906020019080838360005b8381101562000908578082015183820152602001620008ee565b50505050905090810190601f168015620009365780820380516001836020036101000a031916815260200191505b50838103825285818151815260200191508051906020019080838360005b838110156200096e57808201518382015260200162000954565b50505050905090810190601f1680156200099c5780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390f35b3415620009ba57600080fd5b620008b960043562002c67565b3415620009d357600080fd5b620009e9600160a060020a036004351662002e0d565b604051600160a060020a03909216825260208201526040908101905180910390f35b341562000a1757600080fd5b6200031360246004803582810192908201359181359160443590810191013562002e9c565b60075433600160a060020a0390811691161462000a5857600080fd5b6007805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600160a060020a038416600090815260096020526040812054859060ff16151562000ab157600080fd5b33600160a060020a031686600160a060020a0316630690e5b86040518163ffffffff1660e060020a028152600401602060405180830381600087803b151562000af957600080fd5b5af1151562000b0757600080fd5b50505060405180519050600160a060020a031614151562000b2757600080fd5b62000b33858562002fda565b151562000b3f57600080fd5b821562000be857600b5462000b5c90600163ffffffff6200307116565b600b55600160a060020a0385166000908152600a602052604090205462000b8b90600163ffffffff6200307116565b600160a060020a0386166000818152600a60205260409081902092909255907f98b231d22df4a95e9d99b5d3f4d25fab5a821c22d7f517a522731c2892ed453590889051600160a060020a03909116815260200160405180910390a25b50600195945050505050565b600b54600c5482565b600062000c0b33836200308c565b151562000c1757600080fd5b33600160a060020a03167f9644170e77fec17243f5fdc3519cba6d2162d1dda59af75508fd9a2005aeb78483604051600160a060020a03909116815260200160405180910390a2506001919050565b600062000c738262000f5a565b151562000c7f57600080fd5b5060009081526005602052604090206003015490565b600154600160a060020a031681565b600754600090819033600160a060020a0390811691161462000cc557600080fd5b60065462000cdb90600163ffffffff6200307116565b6006819055600081815260056020526040902090815590506001810185805162000d0a929160200190620036ba565b506002810184805162000d22929160200190620036ba565b50600381018390556006547f62bf08360c9d561749c54eaf4f8bf8cb6c8b6f4f40607bcec39a8172e714d25c90868686604051808581526020018060200180602001848152602001838103835286818151815260200191508051906020019080838360005b8381101562000da157808201518382015260200162000d87565b50505050905090810190601f16801562000dcf5780820380516001836020036101000a031916815260200191505b50838103825285818151815260200191508051906020019080838360005b8381101562000e0757808201518382015260200162000ded565b50505050905090810190601f16801562000e355780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390a150506006549392505050565b600160a060020a03331660009081526008602052604081205462000e7d908363ffffffff620031fa16565b33600160a060020a038181166000908152600860205260408082209490945554169163a9059cbb919085905160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151562000eea57600080fd5b5af1151562000ef857600080fd5b50505060405180519050151562000f0e57600080fd5b7f884edad9ce6fa2440d8a54cc123490eb96d2768479d49ff9c7366125a94243643383604051600160a060020a03909216825260208201526040908101905180910390a1506001919050565b6000908152600560205260408120541190565b600160a060020a031660009081526009602052604090205460ff1690565b6002546000908190600160a060020a03166339b7312288888888886040518663ffffffff1660e060020a0281526004018080602001858152602001806020018381038352888882818152602001925080828437909101848103835285815260200190508585808284378201915050975050505050505050602060405180830381600087803b15156200101c57600080fd5b5af115156200102a57600080fd5b50505060405180519050905080600160a060020a031632600160a060020a03167f49413c774d3fe9c92f6ada69299963d9b4b1c13a1f2a95a019188e2c161ed1438989898989604051602081018490526060808252810185905280604081016080820188888082843790910184810383528581526020019050858580828437820191505097505050505050505060405180910390a39695505050505050565b6103e881565b600454600090339082908190600160a060020a03166302a63c288d858e60405160e060020a63ffffffff86160281526004810193909352600160a060020a039182166024840152166044820152606401602060405180830381600087803b15156200113957600080fd5b5af115156200114757600080fd5b5050506040518051905015156200115d57600080fd5b6200116b838c8c8c6200320d565b91508b838b8b8e868d8d8d8d620011816200373f565b8a8152600160a060020a03808b16602083015289811660408301528881166060830152878116608083015260a0820187905283811660e0830152821661010082015261012060c08201818152908201859052610140820186868082843782019150509b505050505050505050505050604051809103906000f08015156200120757600080fd5b600160a060020a0380821660009081526009602052604090819020805460ff191660011790559192508c1690637919233f9083908f905160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b15156200127f57600080fd5b5af115156200128d57600080fd5b505050604051805190501515620012a357600080fd5b8a600160a060020a03167f359f2105b31d71ee8e2315c3dc3427b3f7297dcc85dd3883d4554e67f1f22d0082604051600160a060020a03909116815260200160405180910390a29b9a5050505050505050505050565b600160a060020a0316600090815260086020526040902080546001909101549091565b6003546004546000918291600160a060020a039182169163215bd303918a918a918a918a918a91166040518763ffffffff1660e060020a028152600401808060200186815260200185815260200184815260200183600160a060020a0316600160a060020a0316815260200182810382528888828181526020019250808284378201915050975050505050505050602060405180830381600087803b1515620013c457600080fd5b5af11515620013d257600080fd5b50505060405180519050905080600160a060020a031632600160a060020a03167f3c29f4ff1e741e465a1ad9cc4c0b8e51c046c021ca9e77172d812ae667f566f889896040516020808252810182905280604081018484808284378201915050935050505060405180910390a39695505050505050565b600a6020526000908152604090205481565b600160a060020a038316600090815260096020526040812054849060ff1615156200148557600080fd5b33600160a060020a031685600160a060020a0316630690e5b86040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515620014cd57600080fd5b5af11515620014db57600080fd5b50505060405180519050600160a060020a0316141515620014fb57600080fd5b6200150784846200346c565b15156200151357600080fd5b506001949350505050565b600354600160a060020a031681565b603281565b600a81565b60006200154533836200308c565b15156200155157600080fd5b33600160a060020a03167f5580db655b3146ef4d1fdba3305cf74dbc3f29126c7a3832533f84e00d149ee383604051600160a060020a03909116815260200160405180910390a2506001919050565b600160a060020a038316600090815260096020526040812054849060ff161515620015ca57600080fd5b33600160a060020a031685600160a060020a0316630690e5b86040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156200161257600080fd5b5af115156200162057600080fd5b50505060405180519050600160a060020a03161415156200164057600080fd5b620015078484620034ef565b600160a060020a038116600090815260096020526040812054819081908190819081908190889060ff1615156200168257600080fd5b88965033600160a060020a031687600160a060020a0316635f44910c6040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515620016cd57600080fd5b5af11515620016db57600080fd5b50505060405180519050600160a060020a0316141515620016fb57600080fd5b86600160a060020a0316630690e5b86040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156200173957600080fd5b5af115156200174757600080fd5b5050506040518051965050600160a060020a03871663e329c4786040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156200179057600080fd5b5af115156200179e57600080fd5b5050506040518051955060019050856004811115620017b957fe5b1480620017d257506002856004811115620017d057fe5b145b1515620017de57600080fd5b85600160a060020a031663898691638a60405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b15156200182d57600080fd5b5af115156200183b57600080fd5b5050506040518051905015156200185157600080fd5b86600160a060020a0316634e71d92d6040518163ffffffff1660e060020a028152600401600060405180830381600087803b15156200188f57600080fd5b5af115156200189d57600080fd5b5050600454600160a060020a03908116915063eb3721be90891663ecc40f646040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515620018eb57600080fd5b5af11515620018f957600080fd5b5050506040518051905060405160e060020a63ffffffff8416028152600481019190915260240161010060405180830381600087803b15156200193b57600080fd5b5af115156200194957600080fd5b5050506040518051906020018051906020018051906020018051906020018051906020018051906020018051906020018051600454959c509a50620019f6975050600160a060020a039093169450636b14ea369350604092505050518163ffffffff1660e060020a028152600401602060405180830381600087803b1515620019d157600080fd5b5af11515620019df57600080fd5b505050604051805186915063ffffffff6200357416565b915062001abf87600160a060020a0316635f44910c6040518163ffffffff1660e060020a028152600401602060405180830381600087803b151562001a3a57600080fd5b5af1151562001a4857600080fd5b5050506040518051905062001ab989600160a060020a0316638628aaff6040518163ffffffff1660e060020a028152600401602060405180830381600087803b151562001a9457600080fd5b5af1151562001aa257600080fd5b505050604051805188915063ffffffff6200307116565b6200346c565b151562001acb57600080fd5b62001ad783836200358b565b151562001ae357600080fd5b62001aef308362002fda565b151562001afb57600080fd5b62001b073083620034ef565b151562001b1357600080fd5b7fb3cae8ec1c2754530963fb2e254826aae88dda74178f1a0c5656776941e604b88988600160a060020a0316630690e5b86040518163ffffffff1660e060020a028152600401602060405180830381600087803b151562001b7357600080fd5b5af1151562001b8157600080fd5b50505060405180519050604051600160a060020a039283168152911660208201526040908101905180910390a150600198975050505050505050565b600160a060020a03166000908152600a602052604090205490565b600160a060020a038416600090815260096020526040812054859060ff16151562001c0257600080fd5b33600160a060020a031686600160a060020a0316630690e5b86040518163ffffffff1660e060020a028152600401602060405180830381600087803b151562001c4a57600080fd5b5af1151562001c5857600080fd5b50505060405180519050600160a060020a031614151562001c7857600080fd5b62001c8485856200358b565b151562001c9057600080fd5b821562000be857600c5462001cad90600163ffffffff6200307116565b600c55600160a060020a0385166000908152600a602052604090205462001d079062001ce190603263ffffffff6200362816565b600160a060020a0387166000908152600a60205260409020549063ffffffff620031fa16565b600160a060020a0386166000818152600a60205260409081902092909255907fd21e70eb7104cb6f403402b79fe1c088dc56b69ecb7474ae68a3e861a5a6d49990889051600160a060020a03909116815260200160405180910390a250600195945050505050565b60065481565b600454600160a060020a031681565b60045460009033600160a060020a0390811691161462001da357600080fd5b62001daf8383620034ef565b151562001dbb57600080fd5b50600192915050565b600054600160a060020a031681565b6003546000903390600160a060020a03166368c197dd8260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151562001e2957600080fd5b5af1151562001e3757600080fd5b50505060405180519050151562001e4d57600080fd5b62001eae8382600160a060020a031663e2d36ef56040518163ffffffff1660e060020a028152600401602060405180830381600087803b151562001e9057600080fd5b5af1151562001e9e57600080fd5b50505060405180519050620034ef565b151562001eba57600080fd5b80600160a060020a0316636ab6936a6040518163ffffffff1660e060020a028152600401602060405180830381600087803b151562001ef857600080fd5b5af1151562001f0657600080fd5b5050506040518051600160a060020a0385166000908152600860205260409020541015905062001f3557600080fd5b80600160a060020a031663cc6f06a36040518163ffffffff1660e060020a028152600401602060405180830381600087803b151562001f7357600080fd5b5af1151562001f8157600080fd5b5050506040518051600160a060020a0385166000908152600a60205260409020541015905062001fb057600080fd5b600354600160a060020a0316631884c517338560405160e060020a63ffffffff8516028152600160a060020a03928316600482015291166024820152604401602060405180830381600087803b15156200200957600080fd5b5af115156200201757600080fd5b5050506040518051905015156200202d57600080fd5b33600160a060020a03167fd3548f8b6a2a11c4a35ef5a16dbf7142c9db5163c7d46e7f66482664277cff0784604051600160a060020a03909116815260200160405180910390a250600192915050565b60008054600160a060020a03166323b872dd33308560405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b1515620020e257600080fd5b5af11515620020f057600080fd5b5050506040518051905015156200210657600080fd5b600160a060020a03331660009081526008602052604090205462002131908363ffffffff6200307116565b33600160a060020a03811660009081526008602052604090819020929092557fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c91849051600160a060020a03909216825260208201526040908101905180910390a1506001919050565b600160a060020a038416600090815260096020526040812054819081908190819081908190819081908d9060ff161515620021d557600080fd5b8d985033600160a060020a031689600160a060020a0316630690e5b86040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156200222057600080fd5b5af115156200222e57600080fd5b50505060405180519050600160a060020a03161415156200224e57600080fd5b600289600160a060020a031663e329c4786040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156200228e57600080fd5b5af115156200229c57600080fd5b505050604051805190506004811115620022b257fe5b14620022bd57600080fd5b88600160a060020a0316636946f6926040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515620022fb57600080fd5b5af115156200230957600080fd5b5050506040518051985050600160a060020a0388166326137e6b6040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156200235257600080fd5b5af115156200236057600080fd5b50505060405180519750506000871115620023e257620023d688600160a060020a031663deff41c16040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515620023b757600080fd5b5af11515620023c557600080fd5b505050604051805190508862002fda565b1515620023e257600080fd5b88600160a060020a03166371a599ca6040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156200242057600080fd5b5af115156200242e57600080fd5b5050506040518051965050600160a060020a03861615620025175785600160a060020a03166362d598eb6040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156200248757600080fd5b5af115156200249557600080fd5b5050506040518051955050600085111562002517576200250b86600160a060020a031663deff41c16040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515620024ec57600080fd5b5af11515620024fa57600080fd5b505050604051805190508662002fda565b15156200251757600080fd5b600454600160a060020a039081169063eb3721be908b1663ecc40f646040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156200256257600080fd5b5af115156200257057600080fd5b5050506040518051905060405160e060020a63ffffffff8416028152600481019190915260240161010060405180830381600087803b1515620025b257600080fd5b5af11515620025c057600080fd5b5050506040518051906020018051906020018051906020018051906020018051906020018051906020018051906020018051600454959c509a5062002648975050600160a060020a039093169450636b14ea369350604092505050518163ffffffff1660e060020a028152600401602060405180830381600087803b1515620019d157600080fd5b9150620026ec89600160a060020a0316635f44910c6040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156200268c57600080fd5b5af115156200269a57600080fd5b50505060405180519050620026e68b600160a060020a0316638628aaff6040518163ffffffff1660e060020a028152600401602060405180830381600087803b151562001a9457600080fd5b6200358b565b1515620026f857600080fd5b6200270483836200346c565b15156200271057600080fd5b88600160a060020a031663d5fdfdbc8e8e8e6040518463ffffffff1660e060020a02815260040180806020018060200180602001848103845287818151815260200191508051906020019080838360005b838110156200277b57808201518382015260200162002761565b50505050905090810190601f168015620027a95780820380516001836020036101000a031916815260200191505b50848103835286818151815260200191508051906020019080838360005b83811015620027e1578082015183820152602001620027c7565b50505050905090810190601f1680156200280f5780820380516001836020036101000a031916815260200191505b50848103825285818151815260200191508051906020019080838360005b83811015620028475780820151838201526020016200282d565b50505050905090810190601f168015620028755780820380516001836020036101000a031916815260200191505b509650505050505050600060405180830381600087803b15156200289857600080fd5b5af11515620028a657600080fd5b505050600160a060020a03301660009081526008602052604081206001015494508411156200293a5762002908620028fa6103e8620028ed87600a63ffffffff6200357416565b9063ffffffff6200364016565b859063ffffffff6200362816565b93506200291630856200358b565b15156200292257600080fd5b6200292e838562002fda565b15156200293a57600080fd5b7fed236d0a24cb7a32c76960696e44bac711b80ef76780688405dc96c2495b75f98e8a600160a060020a0316630690e5b86040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156200299a57600080fd5b5af11515620029a857600080fd5b50505060405180519050604051600160a060020a039283168152911660208201526040908101905180910390a15060019d9c50505050505050505050505050565b600754600160a060020a031681565b60045460009033600160a060020a0390811691161462002a1757600080fd5b62001daf83836200346c565b600254600160a060020a031681565b6008602052600090815260409020805460019091015482565b60096020526000908152604090205460ff1681565b60075433600160a060020a0390811691161462002a7c57600080fd5b600054600160a060020a03161562002a9357600080fd5b6000805473ffffffffffffffffffffffffffffffffffffffff19908116600160a060020a03978816179091556004805482169587169590951790945560038054851693861693909317909255600180548416918516919091179055600280549092169216919091179055565b6005602052806000526040600020600091509050806000015490806001018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801562002bb55780601f1062002b895761010080835404028352916020019162002bb5565b820191906000526020600020905b81548152906001019060200180831162002b9757829003601f168201915b505050505090806002018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801562002c575780601f1062002c2b5761010080835404028352916020019162002c57565b820191906000526020600020905b81548152906001019060200180831162002c3957829003601f168201915b5050505050908060030154905084565b600062002c7362003750565b62002c7d62003750565b600062002c8a8562000f5a565b151562002c9657600080fd5b60008581526005602090815260409182902080546003820154600180840180549396909560029586019593948794938116156101000260001901169290920491601f83018190048102019051908101604052809291908181526020018280546001816001161561010002031660029004801562002d575780601f1062002d2b5761010080835404028352916020019162002d57565b820191906000526020600020905b81548152906001019060200180831162002d3957829003601f168201915b50505050509250818054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801562002df75780601f1062002dcb5761010080835404028352916020019162002df7565b820191906000526020600020905b81548152906001019060200180831162002dd957829003601f168201915b5050505050915093509350935093509193509193565b6003546000908190600160a060020a031663d440c6f38460405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151562002e6357600080fd5b5af1151562002e7157600080fd5b5050506040518051600160a060020a03949094166000908152600a6020526040902054939492505050565b6001546000908190600160a060020a031663fc06a87788888888886040518663ffffffff1660e060020a0281526004018080602001858152602001806020018381038352888882818152602001925080828437909101848103835285815260200190508585808284378201915050975050505050505050602060405180830381600087803b151562002f2d57600080fd5b5af1151562002f3b57600080fd5b50505060405180519050905080600160a060020a031632600160a060020a03167f03d3b6187bbe7d21aa3cf229e292ba41fa8bca6ec2128c0f1625178b8191cdc28989898989604051602081018490526060808252810185905280604081016080820188888082843790910184810383528581526020019050858580828437820191505097505050505050505060405180910390a39695505050505050565b600160a060020a03821660009081526008602052604081205462003005908363ffffffff6200307116565b600160a060020a03841660009081526008602052604090819020919091557f619caafabdd75649b302ba8419e48cccf64f37f1983ac4727cfb38b57703ffc9908490849051600160a060020a03909216825260208201526040908101905180910390a150600192915050565b6000828201838110156200308157fe5b8091505b5092915050565b6003546000908390600160a060020a03166368c197dd8260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515620030e257600080fd5b5af11515620030f057600080fd5b5050506040518051905015156200310657600080fd5b620031678382600160a060020a031663e2d36ef56040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156200314957600080fd5b5af115156200315757600080fd5b505050604051805190506200346c565b15156200317357600080fd5b600354600160a060020a0316630b00de8d858560405160e060020a63ffffffff8516028152600160a060020a03928316600482015291166024820152604401602060405180830381600087803b1515620031cc57600080fd5b5af11515620031da57600080fd5b505050604051805190501515620031f057600080fd5b5060019392505050565b6000828211156200320757fe5b50900390565b600154600090839082908190600160a060020a0316638403be918460405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b15156200326757600080fd5b5af115156200327557600080fd5b5050506040518051905015156200328b57600080fd5b82600160a060020a03166326137e6b6040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515620032c957600080fd5b5af11515620032d757600080fd5b5050506040518051925050600160a060020a03851615620033d457506002548490600160a060020a03166316265b4e8260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b15156200334657600080fd5b5af115156200335457600080fd5b5050506040518051905015156200336a57600080fd5b620033d181600160a060020a03166362d598eb6040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515620033ac57600080fd5b5af11515620033ba57600080fd5b505050604051805184915063ffffffff6200307116565b91505b600354600160a060020a03166368c197dd8860405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b15156200342557600080fd5b5af115156200343357600080fd5b5050506040518051905015156200344957600080fd5b620034558883620034ef565b15156200346157600080fd5b509695505050505050565b600160a060020a0382166000908152600860205260408120600101546200349a908363ffffffff620031fa16565b600160a060020a0384166000908152600860205260409020600181019190915554620034cd908363ffffffff6200307116565b600160a060020a03841660009081526008602052604090205550600192915050565b600160a060020a0382166000908152600860205260408120546200351a908363ffffffff620031fa16565b600160a060020a0384166000908152600860205260409020908155600101546200354b908363ffffffff6200307116565b600160a060020a0384166000908152600860205260409020600190810191909155905092915050565b6000620035848383606462003652565b9392505050565b600160a060020a038216600090815260086020526040812060010154620035b9908363ffffffff620031fa16565b600160a060020a03841660009081526008602052604090819020600101919091557f4051ba94e08bb094159fc38391422b4b8ccfd2b1f8919c0eb37bb042d4b9cd8e908490849051600160a060020a03909216825260208201526040908101905180910390a150600192915050565b600081831062003639578162003584565b5090919050565b60008183101562003639578162003584565b60006200366b62003664858562003673565b83620036a2565b949350505050565b60008083151562003688576000915062003085565b508282028284828115156200369957fe5b04146200308157fe5b6000808284811515620036b157fe5b04949350505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620036fd57805160ff19168380011785556200372d565b828001600101855582156200372d579182015b828111156200372d57825182559160200191906001019062003710565b506200373b92915062003762565b5090565b604051610c5a806200378383390190565b60206040519081016040526000815290565b6200377f91905b808211156200373b576000815560010162003769565b9056006060604052341561000f57600080fd5b604051610c5a380380610c5a8339810160405280805191906020018051919060200180519190602001805191906020018051919060200180519190602001805182019190602001805191906020018051600e8054600160a060020a03191633600160a060020a039081169190911790915590925089161515905061009257600080fd5b6000805460ff1916600190811790915589905560028054600160a060020a0319908116600160a060020a038a81169190911790925560038054821689841617905560048054821688841617905560058054909116918a1691909117905560068490556007838051610107929160200190610141565b5060088054600160a060020a03938416600160a060020a03199182161790915560098054929093169116179055506101dc95505050505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061018257805160ff19168380011785556101af565b828001600101855582156101af579182015b828111156101af578251825591602001919060010190610194565b506101bb9291506101bf565b5090565b6101d991905b808211156101bb57600081556001016101c5565b90565b610a6f806101eb6000396000f3006060604052600436106101065763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630690e5b8811461010b57806315298c771461013a5780631a514d97146101c45780632d4d671f146101eb5780634e71d92d146101fe5780635f44910c146102135780636946f6921461022657806371a599ca146102395780638628aaff1461024c5780639c4a856114610271578063cc3a2dfa14610284578063d3281fd614610297578063d3a69e01146102aa578063d5fdfdbc146102bd578063da1fea2814610392578063e329c478146103a5578063ecc40f64146103dc578063f3859f57146103ef578063f6a5b13e14610402575b600080fd5b341561011657600080fd5b61011e610415565b604051600160a060020a03909116815260200160405180910390f35b341561014557600080fd5b61014d610424565b60405160208082528190810183818151815260200191508051906020019080838360005b83811015610189578082015183820152602001610171565b50505050905090810190601f1680156101b65780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156101cf57600080fd5b6101d76104c2565b604051901515815260200160405180910390f35b34156101f657600080fd5b6101d761053d565b341561020957600080fd5b6102116105b7565b005b341561021e57600080fd5b61011e610647565b341561023157600080fd5b61011e610656565b341561024457600080fd5b61011e610665565b341561025757600080fd5b61025f610674565b60405190815260200160405180910390f35b341561027c57600080fd5b61014d61067a565b341561028f57600080fd5b61014d6106e5565b34156102a257600080fd5b61025f610750565b34156102b557600080fd5b61011e610756565b34156102c857600080fd5b61021160046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052818152929190602084018383808284375094965061076595505050505050565b341561039d57600080fd5b61011e610913565b34156103b057600080fd5b6103b8610922565b604051808260048111156103c857fe5b60ff16815260200191505060405180910390f35b34156103e757600080fd5b61025f61092b565b34156103fa57600080fd5b61014d610931565b341561040d57600080fd5b61011e61099c565b600454600160a060020a031681565b60078054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156104ba5780601f1061048f576101008083540402835291602001916104ba565b820191906000526020600020905b81548152906001019060200180831161049d57829003601f168201915b505050505081565b60045460009033600160a060020a039081169116146104e057600080fd5b600260005460ff1660048111156104f357fe5b146104fd57600080fd5b6000805460ff191660011790557f06c42818c4ab74dff6aec55942f601c2e9b7f2aa4321ee71690b125eacfe465460405160405180910390a15060015b90565b60045460009033600160a060020a0390811691161461055b57600080fd5b600160005460ff16600481111561056e57fe5b1461057857600080fd5b6000805460ff191660021790557f2b0cab0be6d82b2661b3b789c540ec9c7223aac635ac8e59a1e71e1137f2dd7760405160405180910390a150600190565b600e5433600160a060020a039081169116146105d257600080fd5b600160005460ff1660048111156105e557fe5b14806106015750600260005460ff1660048111156105ff57fe5b145b151561060c57600080fd5b6000805460ff191660031790557f1938697ee29e363ecda49e464c6d2aae25f0974bd1f2c81a91c21e13ad8dbf7760405160405180910390a1565b600554600160a060020a031681565b600254600160a060020a031681565b600354600160a060020a031681565b60065481565b600d8054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156104ba5780601f1061048f576101008083540402835291602001916104ba565b600b8054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156104ba5780601f1061048f576101008083540402835291602001916104ba565b600a5481565b600e54600160a060020a031681565b600e5433600160a060020a0390811691161461078057600080fd5b600260005460ff16600481111561079357fe5b1461079d57600080fd5b6000805460ff19166004179055600b8380516107bd9291602001906109ab565b50600c8280516107d19291602001906109ab565b50600d8180516107e59291602001906109ab565b508282826040518084805190602001908083835b602083106108185780518252601f1990920191602091820191016107f9565b6001836020036101000a038019825116818451161790925250505091909101905083805190602001908083835b602083106108645780518252601f199092019160209182019101610845565b6001836020036101000a038019825116818451161790925250505091909101905082805190602001908083835b602083106108b05780518252601f199092019160209182019101610891565b6001836020036101000a03801982511681845116179092525050509190910194506040935050505051908190039020600a557f777f59509d985349c80271b657d2649b218bc6f075a4625821b64448cc235b8660405160405180910390a1505050565b600854600160a060020a031681565b60005460ff1681565b60015481565b600c8054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156104ba5780601f1061048f576101008083540402835291602001916104ba565b600954600160a060020a031681565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106109ec57805160ff1916838001178555610a19565b82800160010185558215610a19579182015b82811115610a195782518255916020019190600101906109fe565b50610a25929150610a29565b5090565b61053a91905b80821115610a255760008155600101610a2f5600a165627a7a72305820aab9d309bae837f3417f3dc81c0f650543365c210e440786b5dfc09f1981eba70029a165627a7a7230582046504159ab1dbf3323b50d5d77d2f716286b233fadce62375204e0fc7ad76d490029", + "deployedBytecode": "0x606060405260043610620002155763ffffffff60e060020a6000350416630800b89e81146200021a5780630c91f2d0146200023e57806310793b5014620002825780631708d72514620002b05780631f87172614620002d2578063234a0ee714620002fd578063298503d9146200032f5780632e1a7d4d14620003c757806332baa8d914620003e057806332ca558714620003f957806339b73122146200041b5780634f73b8e6146200044c578063536e280014620004625780635f51522614620004ac57806366de5a4f14620004ce57806369e99b5c14620004f95780636b4f6865146200051b5780636e885bd71462000546578063747bcd72146200055c578063817e83321462000572578063835436b414620005885780638981d07714620005aa5780638986916314620005d55780638c0f8e1114620005f75780639fdf96251462000619578063a0efe2551462000649578063abc8c7af146200065f578063ac26109e1462000675578063b017c036146200069a578063b218cf1514620006b0578063b6b55f2514620006d2578063b6b57ebd14620006eb578063b6b8c3cd14620007d1578063b7b6e97814620007e7578063bc04d77b146200080c578063be02ee6e1462000822578063ddaeb6001462000844578063e760a11a1462000866578063eeeb2ba014620008a0578063f3052d2614620009ae578063f69f190c14620009c7578063fc06a8771462000a0b575b600080fd5b34156200022657600080fd5b6200023c600160a060020a036004351662000a3c565b005b34156200024a57600080fd5b6200026e600160a060020a0360043581169060243516604435606435151562000a87565b604051901515815260200160405180910390f35b34156200028e57600080fd5b6200029862000bf4565b60405191825260208201526040908101905180910390f35b3415620002bc57600080fd5b6200026e600160a060020a036004351662000bfd565b3415620002de57600080fd5b620002eb60043562000c66565b60405190815260200160405180910390f35b34156200030957600080fd5b6200031362000c95565b604051600160a060020a03909116815260200160405180910390f35b34156200033b57600080fd5b620002eb60046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528181529291906020840183838082843750949650509335935062000ca492505050565b3415620003d357600080fd5b6200026e60043562000e52565b3415620003ec57600080fd5b6200026e60043562000f5a565b34156200040557600080fd5b6200026e600160a060020a036004351662000f6d565b34156200042757600080fd5b6200031360246004803582810192908201359181359160443590810191013562000f8b565b34156200045857600080fd5b620002eb620010c9565b34156200046e57600080fd5b620003136004803590600160a060020a03602480358216926044358316926064358116926084359081019201359060a43581169060c43516620010cf565b3415620004b857600080fd5b62000298600160a060020a0360043516620012f9565b3415620004da57600080fd5b620003136024600480358281019291013590356044356064356200131c565b34156200050557600080fd5b620002eb600160a060020a036004351662001449565b34156200052757600080fd5b6200026e600160a060020a03600435811690602435166044356200145b565b34156200055257600080fd5b620003136200151e565b34156200056857600080fd5b620002eb6200152d565b34156200057e57600080fd5b620002eb62001532565b34156200059457600080fd5b6200026e600160a060020a036004351662001537565b3415620005b657600080fd5b6200026e600160a060020a0360043581169060243516604435620015a0565b3415620005e157600080fd5b6200026e600160a060020a03600435166200164c565b34156200060357600080fd5b620002eb600160a060020a036004351662001bbd565b34156200062557600080fd5b6200026e600160a060020a0360043581169060243516604435606435151562001bd8565b34156200065557600080fd5b620002eb62001d6f565b34156200066b57600080fd5b6200031362001d75565b34156200068157600080fd5b6200026e600160a060020a036004351660243562001d84565b3415620006a657600080fd5b6200031362001dc4565b3415620006bc57600080fd5b6200026e600160a060020a036004351662001dd3565b3415620006de57600080fd5b6200026e6004356200207d565b3415620006f757600080fd5b6200026e60048035600160a060020a03169060446024803590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405281815292919060208401838380828437509496506200219b95505050505050565b3415620007dd57600080fd5b62000313620029e9565b3415620007f357600080fd5b6200026e600160a060020a0360043516602435620029f8565b34156200081857600080fd5b6200031362002a23565b34156200082e57600080fd5b62000298600160a060020a036004351662002a32565b34156200085057600080fd5b6200026e600160a060020a036004351662002a4b565b34156200087257600080fd5b6200023c600160a060020a036004358116906024358116906044358116906064358116906084351662002a60565b3415620008ac57600080fd5b620008b960043562002aff565b604051808581526020018060200180602001848152602001838103835286818151815260200191508051906020019080838360005b8381101562000908578082015183820152602001620008ee565b50505050905090810190601f168015620009365780820380516001836020036101000a031916815260200191505b50838103825285818151815260200191508051906020019080838360005b838110156200096e57808201518382015260200162000954565b50505050905090810190601f1680156200099c5780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390f35b3415620009ba57600080fd5b620008b960043562002c67565b3415620009d357600080fd5b620009e9600160a060020a036004351662002e0d565b604051600160a060020a03909216825260208201526040908101905180910390f35b341562000a1757600080fd5b6200031360246004803582810192908201359181359160443590810191013562002e9c565b60075433600160a060020a0390811691161462000a5857600080fd5b6007805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600160a060020a038416600090815260096020526040812054859060ff16151562000ab157600080fd5b33600160a060020a031686600160a060020a0316630690e5b86040518163ffffffff1660e060020a028152600401602060405180830381600087803b151562000af957600080fd5b5af1151562000b0757600080fd5b50505060405180519050600160a060020a031614151562000b2757600080fd5b62000b33858562002fda565b151562000b3f57600080fd5b821562000be857600b5462000b5c90600163ffffffff6200307116565b600b55600160a060020a0385166000908152600a602052604090205462000b8b90600163ffffffff6200307116565b600160a060020a0386166000818152600a60205260409081902092909255907f98b231d22df4a95e9d99b5d3f4d25fab5a821c22d7f517a522731c2892ed453590889051600160a060020a03909116815260200160405180910390a25b50600195945050505050565b600b54600c5482565b600062000c0b33836200308c565b151562000c1757600080fd5b33600160a060020a03167f9644170e77fec17243f5fdc3519cba6d2162d1dda59af75508fd9a2005aeb78483604051600160a060020a03909116815260200160405180910390a2506001919050565b600062000c738262000f5a565b151562000c7f57600080fd5b5060009081526005602052604090206003015490565b600154600160a060020a031681565b600754600090819033600160a060020a0390811691161462000cc557600080fd5b60065462000cdb90600163ffffffff6200307116565b6006819055600081815260056020526040902090815590506001810185805162000d0a929160200190620036ba565b506002810184805162000d22929160200190620036ba565b50600381018390556006547f62bf08360c9d561749c54eaf4f8bf8cb6c8b6f4f40607bcec39a8172e714d25c90868686604051808581526020018060200180602001848152602001838103835286818151815260200191508051906020019080838360005b8381101562000da157808201518382015260200162000d87565b50505050905090810190601f16801562000dcf5780820380516001836020036101000a031916815260200191505b50838103825285818151815260200191508051906020019080838360005b8381101562000e0757808201518382015260200162000ded565b50505050905090810190601f16801562000e355780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390a150506006549392505050565b600160a060020a03331660009081526008602052604081205462000e7d908363ffffffff620031fa16565b33600160a060020a038181166000908152600860205260408082209490945554169163a9059cbb919085905160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151562000eea57600080fd5b5af1151562000ef857600080fd5b50505060405180519050151562000f0e57600080fd5b7f884edad9ce6fa2440d8a54cc123490eb96d2768479d49ff9c7366125a94243643383604051600160a060020a03909216825260208201526040908101905180910390a1506001919050565b6000908152600560205260408120541190565b600160a060020a031660009081526009602052604090205460ff1690565b6002546000908190600160a060020a03166339b7312288888888886040518663ffffffff1660e060020a0281526004018080602001858152602001806020018381038352888882818152602001925080828437909101848103835285815260200190508585808284378201915050975050505050505050602060405180830381600087803b15156200101c57600080fd5b5af115156200102a57600080fd5b50505060405180519050905080600160a060020a031632600160a060020a03167f49413c774d3fe9c92f6ada69299963d9b4b1c13a1f2a95a019188e2c161ed1438989898989604051602081018490526060808252810185905280604081016080820188888082843790910184810383528581526020019050858580828437820191505097505050505050505060405180910390a39695505050505050565b6103e881565b600454600090339082908190600160a060020a03166302a63c288d858e60405160e060020a63ffffffff86160281526004810193909352600160a060020a039182166024840152166044820152606401602060405180830381600087803b15156200113957600080fd5b5af115156200114757600080fd5b5050506040518051905015156200115d57600080fd5b6200116b838c8c8c6200320d565b91508b838b8b8e868d8d8d8d620011816200373f565b8a8152600160a060020a03808b16602083015289811660408301528881166060830152878116608083015260a0820187905283811660e0830152821661010082015261012060c08201818152908201859052610140820186868082843782019150509b505050505050505050505050604051809103906000f08015156200120757600080fd5b600160a060020a0380821660009081526009602052604090819020805460ff191660011790559192508c1690637919233f9083908f905160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b15156200127f57600080fd5b5af115156200128d57600080fd5b505050604051805190501515620012a357600080fd5b8a600160a060020a03167f359f2105b31d71ee8e2315c3dc3427b3f7297dcc85dd3883d4554e67f1f22d0082604051600160a060020a03909116815260200160405180910390a29b9a5050505050505050505050565b600160a060020a0316600090815260086020526040902080546001909101549091565b6003546004546000918291600160a060020a039182169163215bd303918a918a918a918a918a91166040518763ffffffff1660e060020a028152600401808060200186815260200185815260200184815260200183600160a060020a0316600160a060020a0316815260200182810382528888828181526020019250808284378201915050975050505050505050602060405180830381600087803b1515620013c457600080fd5b5af11515620013d257600080fd5b50505060405180519050905080600160a060020a031632600160a060020a03167f3c29f4ff1e741e465a1ad9cc4c0b8e51c046c021ca9e77172d812ae667f566f889896040516020808252810182905280604081018484808284378201915050935050505060405180910390a39695505050505050565b600a6020526000908152604090205481565b600160a060020a038316600090815260096020526040812054849060ff1615156200148557600080fd5b33600160a060020a031685600160a060020a0316630690e5b86040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515620014cd57600080fd5b5af11515620014db57600080fd5b50505060405180519050600160a060020a0316141515620014fb57600080fd5b6200150784846200346c565b15156200151357600080fd5b506001949350505050565b600354600160a060020a031681565b603281565b600a81565b60006200154533836200308c565b15156200155157600080fd5b33600160a060020a03167f5580db655b3146ef4d1fdba3305cf74dbc3f29126c7a3832533f84e00d149ee383604051600160a060020a03909116815260200160405180910390a2506001919050565b600160a060020a038316600090815260096020526040812054849060ff161515620015ca57600080fd5b33600160a060020a031685600160a060020a0316630690e5b86040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156200161257600080fd5b5af115156200162057600080fd5b50505060405180519050600160a060020a03161415156200164057600080fd5b620015078484620034ef565b600160a060020a038116600090815260096020526040812054819081908190819081908190889060ff1615156200168257600080fd5b88965033600160a060020a031687600160a060020a0316635f44910c6040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515620016cd57600080fd5b5af11515620016db57600080fd5b50505060405180519050600160a060020a0316141515620016fb57600080fd5b86600160a060020a0316630690e5b86040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156200173957600080fd5b5af115156200174757600080fd5b5050506040518051965050600160a060020a03871663e329c4786040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156200179057600080fd5b5af115156200179e57600080fd5b5050506040518051955060019050856004811115620017b957fe5b1480620017d257506002856004811115620017d057fe5b145b1515620017de57600080fd5b85600160a060020a031663898691638a60405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b15156200182d57600080fd5b5af115156200183b57600080fd5b5050506040518051905015156200185157600080fd5b86600160a060020a0316634e71d92d6040518163ffffffff1660e060020a028152600401600060405180830381600087803b15156200188f57600080fd5b5af115156200189d57600080fd5b5050600454600160a060020a03908116915063eb3721be90891663ecc40f646040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515620018eb57600080fd5b5af11515620018f957600080fd5b5050506040518051905060405160e060020a63ffffffff8416028152600481019190915260240161010060405180830381600087803b15156200193b57600080fd5b5af115156200194957600080fd5b5050506040518051906020018051906020018051906020018051906020018051906020018051906020018051906020018051600454959c509a50620019f6975050600160a060020a039093169450636b14ea369350604092505050518163ffffffff1660e060020a028152600401602060405180830381600087803b1515620019d157600080fd5b5af11515620019df57600080fd5b505050604051805186915063ffffffff6200357416565b915062001abf87600160a060020a0316635f44910c6040518163ffffffff1660e060020a028152600401602060405180830381600087803b151562001a3a57600080fd5b5af1151562001a4857600080fd5b5050506040518051905062001ab989600160a060020a0316638628aaff6040518163ffffffff1660e060020a028152600401602060405180830381600087803b151562001a9457600080fd5b5af1151562001aa257600080fd5b505050604051805188915063ffffffff6200307116565b6200346c565b151562001acb57600080fd5b62001ad783836200358b565b151562001ae357600080fd5b62001aef308362002fda565b151562001afb57600080fd5b62001b073083620034ef565b151562001b1357600080fd5b7fb3cae8ec1c2754530963fb2e254826aae88dda74178f1a0c5656776941e604b88988600160a060020a0316630690e5b86040518163ffffffff1660e060020a028152600401602060405180830381600087803b151562001b7357600080fd5b5af1151562001b8157600080fd5b50505060405180519050604051600160a060020a039283168152911660208201526040908101905180910390a150600198975050505050505050565b600160a060020a03166000908152600a602052604090205490565b600160a060020a038416600090815260096020526040812054859060ff16151562001c0257600080fd5b33600160a060020a031686600160a060020a0316630690e5b86040518163ffffffff1660e060020a028152600401602060405180830381600087803b151562001c4a57600080fd5b5af1151562001c5857600080fd5b50505060405180519050600160a060020a031614151562001c7857600080fd5b62001c8485856200358b565b151562001c9057600080fd5b821562000be857600c5462001cad90600163ffffffff6200307116565b600c55600160a060020a0385166000908152600a602052604090205462001d079062001ce190603263ffffffff6200362816565b600160a060020a0387166000908152600a60205260409020549063ffffffff620031fa16565b600160a060020a0386166000818152600a60205260409081902092909255907fd21e70eb7104cb6f403402b79fe1c088dc56b69ecb7474ae68a3e861a5a6d49990889051600160a060020a03909116815260200160405180910390a250600195945050505050565b60065481565b600454600160a060020a031681565b60045460009033600160a060020a0390811691161462001da357600080fd5b62001daf8383620034ef565b151562001dbb57600080fd5b50600192915050565b600054600160a060020a031681565b6003546000903390600160a060020a03166368c197dd8260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151562001e2957600080fd5b5af1151562001e3757600080fd5b50505060405180519050151562001e4d57600080fd5b62001eae8382600160a060020a031663e2d36ef56040518163ffffffff1660e060020a028152600401602060405180830381600087803b151562001e9057600080fd5b5af1151562001e9e57600080fd5b50505060405180519050620034ef565b151562001eba57600080fd5b80600160a060020a0316636ab6936a6040518163ffffffff1660e060020a028152600401602060405180830381600087803b151562001ef857600080fd5b5af1151562001f0657600080fd5b5050506040518051600160a060020a0385166000908152600860205260409020541015905062001f3557600080fd5b80600160a060020a031663cc6f06a36040518163ffffffff1660e060020a028152600401602060405180830381600087803b151562001f7357600080fd5b5af1151562001f8157600080fd5b5050506040518051600160a060020a0385166000908152600a60205260409020541015905062001fb057600080fd5b600354600160a060020a0316631884c517338560405160e060020a63ffffffff8516028152600160a060020a03928316600482015291166024820152604401602060405180830381600087803b15156200200957600080fd5b5af115156200201757600080fd5b5050506040518051905015156200202d57600080fd5b33600160a060020a03167fd3548f8b6a2a11c4a35ef5a16dbf7142c9db5163c7d46e7f66482664277cff0784604051600160a060020a03909116815260200160405180910390a250600192915050565b60008054600160a060020a03166323b872dd33308560405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b1515620020e257600080fd5b5af11515620020f057600080fd5b5050506040518051905015156200210657600080fd5b600160a060020a03331660009081526008602052604090205462002131908363ffffffff6200307116565b33600160a060020a03811660009081526008602052604090819020929092557fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c91849051600160a060020a03909216825260208201526040908101905180910390a1506001919050565b600160a060020a038416600090815260096020526040812054819081908190819081908190819081908d9060ff161515620021d557600080fd5b8d985033600160a060020a031689600160a060020a0316630690e5b86040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156200222057600080fd5b5af115156200222e57600080fd5b50505060405180519050600160a060020a03161415156200224e57600080fd5b600289600160a060020a031663e329c4786040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156200228e57600080fd5b5af115156200229c57600080fd5b505050604051805190506004811115620022b257fe5b14620022bd57600080fd5b88600160a060020a0316636946f6926040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515620022fb57600080fd5b5af115156200230957600080fd5b5050506040518051985050600160a060020a0388166326137e6b6040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156200235257600080fd5b5af115156200236057600080fd5b50505060405180519750506000871115620023e257620023d688600160a060020a031663deff41c16040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515620023b757600080fd5b5af11515620023c557600080fd5b505050604051805190508862002fda565b1515620023e257600080fd5b88600160a060020a03166371a599ca6040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156200242057600080fd5b5af115156200242e57600080fd5b5050506040518051965050600160a060020a03861615620025175785600160a060020a03166362d598eb6040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156200248757600080fd5b5af115156200249557600080fd5b5050506040518051955050600085111562002517576200250b86600160a060020a031663deff41c16040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515620024ec57600080fd5b5af11515620024fa57600080fd5b505050604051805190508662002fda565b15156200251757600080fd5b600454600160a060020a039081169063eb3721be908b1663ecc40f646040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156200256257600080fd5b5af115156200257057600080fd5b5050506040518051905060405160e060020a63ffffffff8416028152600481019190915260240161010060405180830381600087803b1515620025b257600080fd5b5af11515620025c057600080fd5b5050506040518051906020018051906020018051906020018051906020018051906020018051906020018051906020018051600454959c509a5062002648975050600160a060020a039093169450636b14ea369350604092505050518163ffffffff1660e060020a028152600401602060405180830381600087803b1515620019d157600080fd5b9150620026ec89600160a060020a0316635f44910c6040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156200268c57600080fd5b5af115156200269a57600080fd5b50505060405180519050620026e68b600160a060020a0316638628aaff6040518163ffffffff1660e060020a028152600401602060405180830381600087803b151562001a9457600080fd5b6200358b565b1515620026f857600080fd5b6200270483836200346c565b15156200271057600080fd5b88600160a060020a031663d5fdfdbc8e8e8e6040518463ffffffff1660e060020a02815260040180806020018060200180602001848103845287818151815260200191508051906020019080838360005b838110156200277b57808201518382015260200162002761565b50505050905090810190601f168015620027a95780820380516001836020036101000a031916815260200191505b50848103835286818151815260200191508051906020019080838360005b83811015620027e1578082015183820152602001620027c7565b50505050905090810190601f1680156200280f5780820380516001836020036101000a031916815260200191505b50848103825285818151815260200191508051906020019080838360005b83811015620028475780820151838201526020016200282d565b50505050905090810190601f168015620028755780820380516001836020036101000a031916815260200191505b509650505050505050600060405180830381600087803b15156200289857600080fd5b5af11515620028a657600080fd5b505050600160a060020a03301660009081526008602052604081206001015494508411156200293a5762002908620028fa6103e8620028ed87600a63ffffffff6200357416565b9063ffffffff6200364016565b859063ffffffff6200362816565b93506200291630856200358b565b15156200292257600080fd5b6200292e838562002fda565b15156200293a57600080fd5b7fed236d0a24cb7a32c76960696e44bac711b80ef76780688405dc96c2495b75f98e8a600160a060020a0316630690e5b86040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156200299a57600080fd5b5af11515620029a857600080fd5b50505060405180519050604051600160a060020a039283168152911660208201526040908101905180910390a15060019d9c50505050505050505050505050565b600754600160a060020a031681565b60045460009033600160a060020a0390811691161462002a1757600080fd5b62001daf83836200346c565b600254600160a060020a031681565b6008602052600090815260409020805460019091015482565b60096020526000908152604090205460ff1681565b60075433600160a060020a0390811691161462002a7c57600080fd5b600054600160a060020a03161562002a9357600080fd5b6000805473ffffffffffffffffffffffffffffffffffffffff19908116600160a060020a03978816179091556004805482169587169590951790945560038054851693861693909317909255600180548416918516919091179055600280549092169216919091179055565b6005602052806000526040600020600091509050806000015490806001018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801562002bb55780601f1062002b895761010080835404028352916020019162002bb5565b820191906000526020600020905b81548152906001019060200180831162002b9757829003601f168201915b505050505090806002018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801562002c575780601f1062002c2b5761010080835404028352916020019162002c57565b820191906000526020600020905b81548152906001019060200180831162002c3957829003601f168201915b5050505050908060030154905084565b600062002c7362003750565b62002c7d62003750565b600062002c8a8562000f5a565b151562002c9657600080fd5b60008581526005602090815260409182902080546003820154600180840180549396909560029586019593948794938116156101000260001901169290920491601f83018190048102019051908101604052809291908181526020018280546001816001161561010002031660029004801562002d575780601f1062002d2b5761010080835404028352916020019162002d57565b820191906000526020600020905b81548152906001019060200180831162002d3957829003601f168201915b50505050509250818054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801562002df75780601f1062002dcb5761010080835404028352916020019162002df7565b820191906000526020600020905b81548152906001019060200180831162002dd957829003601f168201915b5050505050915093509350935093509193509193565b6003546000908190600160a060020a031663d440c6f38460405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151562002e6357600080fd5b5af1151562002e7157600080fd5b5050506040518051600160a060020a03949094166000908152600a6020526040902054939492505050565b6001546000908190600160a060020a031663fc06a87788888888886040518663ffffffff1660e060020a0281526004018080602001858152602001806020018381038352888882818152602001925080828437909101848103835285815260200190508585808284378201915050975050505050505050602060405180830381600087803b151562002f2d57600080fd5b5af1151562002f3b57600080fd5b50505060405180519050905080600160a060020a031632600160a060020a03167f03d3b6187bbe7d21aa3cf229e292ba41fa8bca6ec2128c0f1625178b8191cdc28989898989604051602081018490526060808252810185905280604081016080820188888082843790910184810383528581526020019050858580828437820191505097505050505050505060405180910390a39695505050505050565b600160a060020a03821660009081526008602052604081205462003005908363ffffffff6200307116565b600160a060020a03841660009081526008602052604090819020919091557f619caafabdd75649b302ba8419e48cccf64f37f1983ac4727cfb38b57703ffc9908490849051600160a060020a03909216825260208201526040908101905180910390a150600192915050565b6000828201838110156200308157fe5b8091505b5092915050565b6003546000908390600160a060020a03166368c197dd8260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515620030e257600080fd5b5af11515620030f057600080fd5b5050506040518051905015156200310657600080fd5b620031678382600160a060020a031663e2d36ef56040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156200314957600080fd5b5af115156200315757600080fd5b505050604051805190506200346c565b15156200317357600080fd5b600354600160a060020a0316630b00de8d858560405160e060020a63ffffffff8516028152600160a060020a03928316600482015291166024820152604401602060405180830381600087803b1515620031cc57600080fd5b5af11515620031da57600080fd5b505050604051805190501515620031f057600080fd5b5060019392505050565b6000828211156200320757fe5b50900390565b600154600090839082908190600160a060020a0316638403be918460405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b15156200326757600080fd5b5af115156200327557600080fd5b5050506040518051905015156200328b57600080fd5b82600160a060020a03166326137e6b6040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515620032c957600080fd5b5af11515620032d757600080fd5b5050506040518051925050600160a060020a03851615620033d457506002548490600160a060020a03166316265b4e8260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b15156200334657600080fd5b5af115156200335457600080fd5b5050506040518051905015156200336a57600080fd5b620033d181600160a060020a03166362d598eb6040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515620033ac57600080fd5b5af11515620033ba57600080fd5b505050604051805184915063ffffffff6200307116565b91505b600354600160a060020a03166368c197dd8860405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b15156200342557600080fd5b5af115156200343357600080fd5b5050506040518051905015156200344957600080fd5b620034558883620034ef565b15156200346157600080fd5b509695505050505050565b600160a060020a0382166000908152600860205260408120600101546200349a908363ffffffff620031fa16565b600160a060020a0384166000908152600860205260409020600181019190915554620034cd908363ffffffff6200307116565b600160a060020a03841660009081526008602052604090205550600192915050565b600160a060020a0382166000908152600860205260408120546200351a908363ffffffff620031fa16565b600160a060020a0384166000908152600860205260409020908155600101546200354b908363ffffffff6200307116565b600160a060020a0384166000908152600860205260409020600190810191909155905092915050565b6000620035848383606462003652565b9392505050565b600160a060020a038216600090815260086020526040812060010154620035b9908363ffffffff620031fa16565b600160a060020a03841660009081526008602052604090819020600101919091557f4051ba94e08bb094159fc38391422b4b8ccfd2b1f8919c0eb37bb042d4b9cd8e908490849051600160a060020a03909216825260208201526040908101905180910390a150600192915050565b600081831062003639578162003584565b5090919050565b60008183101562003639578162003584565b60006200366b62003664858562003673565b83620036a2565b949350505050565b60008083151562003688576000915062003085565b508282028284828115156200369957fe5b04146200308157fe5b6000808284811515620036b157fe5b04949350505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620036fd57805160ff19168380011785556200372d565b828001600101855582156200372d579182015b828111156200372d57825182559160200191906001019062003710565b506200373b92915062003762565b5090565b604051610c5a806200378383390190565b60206040519081016040526000815290565b6200377f91905b808211156200373b576000815560010162003769565b9056006060604052341561000f57600080fd5b604051610c5a380380610c5a8339810160405280805191906020018051919060200180519190602001805191906020018051919060200180519190602001805182019190602001805191906020018051600e8054600160a060020a03191633600160a060020a039081169190911790915590925089161515905061009257600080fd5b6000805460ff1916600190811790915589905560028054600160a060020a0319908116600160a060020a038a81169190911790925560038054821689841617905560048054821688841617905560058054909116918a1691909117905560068490556007838051610107929160200190610141565b5060088054600160a060020a03938416600160a060020a03199182161790915560098054929093169116179055506101dc95505050505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061018257805160ff19168380011785556101af565b828001600101855582156101af579182015b828111156101af578251825591602001919060010190610194565b506101bb9291506101bf565b5090565b6101d991905b808211156101bb57600081556001016101c5565b90565b610a6f806101eb6000396000f3006060604052600436106101065763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630690e5b8811461010b57806315298c771461013a5780631a514d97146101c45780632d4d671f146101eb5780634e71d92d146101fe5780635f44910c146102135780636946f6921461022657806371a599ca146102395780638628aaff1461024c5780639c4a856114610271578063cc3a2dfa14610284578063d3281fd614610297578063d3a69e01146102aa578063d5fdfdbc146102bd578063da1fea2814610392578063e329c478146103a5578063ecc40f64146103dc578063f3859f57146103ef578063f6a5b13e14610402575b600080fd5b341561011657600080fd5b61011e610415565b604051600160a060020a03909116815260200160405180910390f35b341561014557600080fd5b61014d610424565b60405160208082528190810183818151815260200191508051906020019080838360005b83811015610189578082015183820152602001610171565b50505050905090810190601f1680156101b65780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156101cf57600080fd5b6101d76104c2565b604051901515815260200160405180910390f35b34156101f657600080fd5b6101d761053d565b341561020957600080fd5b6102116105b7565b005b341561021e57600080fd5b61011e610647565b341561023157600080fd5b61011e610656565b341561024457600080fd5b61011e610665565b341561025757600080fd5b61025f610674565b60405190815260200160405180910390f35b341561027c57600080fd5b61014d61067a565b341561028f57600080fd5b61014d6106e5565b34156102a257600080fd5b61025f610750565b34156102b557600080fd5b61011e610756565b34156102c857600080fd5b61021160046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052818152929190602084018383808284375094965061076595505050505050565b341561039d57600080fd5b61011e610913565b34156103b057600080fd5b6103b8610922565b604051808260048111156103c857fe5b60ff16815260200191505060405180910390f35b34156103e757600080fd5b61025f61092b565b34156103fa57600080fd5b61014d610931565b341561040d57600080fd5b61011e61099c565b600454600160a060020a031681565b60078054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156104ba5780601f1061048f576101008083540402835291602001916104ba565b820191906000526020600020905b81548152906001019060200180831161049d57829003601f168201915b505050505081565b60045460009033600160a060020a039081169116146104e057600080fd5b600260005460ff1660048111156104f357fe5b146104fd57600080fd5b6000805460ff191660011790557f06c42818c4ab74dff6aec55942f601c2e9b7f2aa4321ee71690b125eacfe465460405160405180910390a15060015b90565b60045460009033600160a060020a0390811691161461055b57600080fd5b600160005460ff16600481111561056e57fe5b1461057857600080fd5b6000805460ff191660021790557f2b0cab0be6d82b2661b3b789c540ec9c7223aac635ac8e59a1e71e1137f2dd7760405160405180910390a150600190565b600e5433600160a060020a039081169116146105d257600080fd5b600160005460ff1660048111156105e557fe5b14806106015750600260005460ff1660048111156105ff57fe5b145b151561060c57600080fd5b6000805460ff191660031790557f1938697ee29e363ecda49e464c6d2aae25f0974bd1f2c81a91c21e13ad8dbf7760405160405180910390a1565b600554600160a060020a031681565b600254600160a060020a031681565b600354600160a060020a031681565b60065481565b600d8054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156104ba5780601f1061048f576101008083540402835291602001916104ba565b600b8054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156104ba5780601f1061048f576101008083540402835291602001916104ba565b600a5481565b600e54600160a060020a031681565b600e5433600160a060020a0390811691161461078057600080fd5b600260005460ff16600481111561079357fe5b1461079d57600080fd5b6000805460ff19166004179055600b8380516107bd9291602001906109ab565b50600c8280516107d19291602001906109ab565b50600d8180516107e59291602001906109ab565b508282826040518084805190602001908083835b602083106108185780518252601f1990920191602091820191016107f9565b6001836020036101000a038019825116818451161790925250505091909101905083805190602001908083835b602083106108645780518252601f199092019160209182019101610845565b6001836020036101000a038019825116818451161790925250505091909101905082805190602001908083835b602083106108b05780518252601f199092019160209182019101610891565b6001836020036101000a03801982511681845116179092525050509190910194506040935050505051908190039020600a557f777f59509d985349c80271b657d2649b218bc6f075a4625821b64448cc235b8660405160405180910390a1505050565b600854600160a060020a031681565b60005460ff1681565b60015481565b600c8054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156104ba5780601f1061048f576101008083540402835291602001916104ba565b600954600160a060020a031681565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106109ec57805160ff1916838001178555610a19565b82800160010185558215610a19579182015b82811115610a195782518255916020019190600101906109fe565b50610a25929150610a29565b5090565b61053a91905b80821115610a255760008155600101610a2f5600a165627a7a72305820aab9d309bae837f3417f3dc81c0f650543365c210e440786b5dfc09f1981eba70029a165627a7a7230582046504159ab1dbf3323b50d5d77d2f716286b233fadce62375204e0fc7ad76d490029", + "sourceMap": "281:17079:6:-;;;2896:69;;;;;;;;2929:19;:32;;-1:-1:-1;;;;;;2929:32:6;2951:10;-1:-1:-1;;;;;2929:32:6;;;;281:17079;;;-1:-1:-1;281:17079:6;;", + "deployedSourceMap": "281:17079:6:-;;;;;;;;;-1:-1:-1;;;281:17079:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3522:137;;;;;;;;;;-1:-1:-1;;;;;3522:137:6;;;;;;;14851:448;;;;;;;;;;-1:-1:-1;;;;;14851:448:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1499:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13055:254;;;;;;;;;;-1:-1:-1;;;;;13055:254:6;;;;;11322:190;;;;;;;;;;;;;;;;;;;;;;;;;;;;;603:27;;;;;;;;;;;;;;;-1:-1:-1;;;;;603:27:6;;;;;;;;;;;;;;3684:616;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3684:616:6;;-1:-1:-1;;3684:616:6;;;-1:-1:-1;3684:616:6;;-1:-1:-1;;;3684:616:6;16081:239;;;;;;;;;;;;;;11515:130;;;;;;;;;;;;;;6310:106;;;;;;;;;;-1:-1:-1;;;;;6310:106:6;;;;;5132:366;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;455:56;;;;;;;;;;;;5534:773;;;;;;;;;;;;;;-1:-1:-1;;;;;5534:773:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16322:159;;;;;;;;;;-1:-1:-1;;;;;16322:159:6;;;;;4303:526;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1452:44;;;;;;;;;;-1:-1:-1;;;;;1452:44:6;;;;;14618:231;;;;;;;;;;-1:-1:-1;;;;;14618:231:6;;;;;;;;;;;;667:34;;;;;;;;;;;;514:54;;;;;;;;;;;;398;;;;;;;;;;;;13312:241;;;;;;;;;;-1:-1:-1;;;;;13312:241:6;;;;;14389:227;;;;;;;;;;-1:-1:-1;;;;;14389:227:6;;;;;;;;;;;;7306:1560;;;;;;;;;;-1:-1:-1;;;;;7306:1560:6;;;;;12168:116;;;;;;;;;;-1:-1:-1;;;;;12168:116:6;;;;;15301:483;;;;;;;;;;-1:-1:-1;;;;;15301:483:6;;;;;;;;;;;;;;;;936:62;;;;;;;;;;;;732:30;;;;;;;;;;;;14078:145;;;;;;;;;;-1:-1:-1;;;;;14078:145:6;;;;;;;380:14;;;;;;;;;;;;12321:731;;;;;;;;;;-1:-1:-1;;;;;12321:731:6;;;;;15823:256;;;;;;;;;;;;;;8869:2430;;;;;;;;;;;;;-1:-1:-1;;;;;8869:2430:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8869:2430:6;;-1:-1:-1;8869:2430:6;;-1:-1:-1;;;;;;8869:2430:6;1001:64;;;;;;;;;;;;14225:150;;;;;;;;;;-1:-1:-1;;;;;14225:150:6;;;;;;;633:31;;;;;;;;;;;;1181:54;;;;;;;;;;-1:-1:-1;;;;;1181:54:6;;;;;1275:48;;;;;;;;;;-1:-1:-1;;;;;1275:48:6;;;;;2968:551;;;;;;;;;;-1:-1:-1;;;;;2968:551:6;;;;;;;;;;;;;;;;;;;;;;;;;876:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;876:57:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;876:57:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11648:330;;;;;;;;;;;;;;11981:184;;;;;;;;;;-1:-1:-1;;;;;11981:184:6;;;;;;;;-1:-1:-1;;;;;11981:184:6;;;;;;;;;;;;;;;;;;;;4832:297;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3522:137;1128:19;;1114:10;-1:-1:-1;;;;;1114:33:6;;;1128:19;;1114:33;1106:42;;;;;;3615:19;:40;;-1:-1:-1;;3615:40:6;-1:-1:-1;;;;;3615:40:6;;;;;;;;;;3522:137::o;14851:448::-;-1:-1:-1;;;;;1382:23:6;;14983:4;1382:23;;;:16;:23;;;;;;14967:5;;1382:23;;1374:32;;;;;;;;15037:10;-1:-1:-1;;;;;15002:45:6;15012:5;-1:-1:-1;;;;;15002:29:6;;:31;;;;;-1:-1:-1;;;15002:31:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15002:45:6;;14994:54;;;;;;;;15060:24;15067:7;15076;15060:6;:24::i;:::-;15052:33;;;;;;;;15093:11;15089:192;;;15145:21;:29;:36;;15179:1;15145:36;:33;:36;:::i;:::-;15113:21;:68;-1:-1:-1;;;;;15206:17:6;;15113:29;15206:17;;;:8;:17;;;;;;:24;;15228:1;15206:24;:21;:24;:::i;:::-;-1:-1:-1;;;;;15186:17:6;;;;;;:8;:17;;;;;;;:44;;;;:17;15240:36;;15261:5;;15240:36;-1:-1:-1;;;;;15240:36:6;;;;;;;;;;;;;;15089:192;-1:-1:-1;15291:4:6;;14851:448;-1:-1:-1;;;;;14851:448:6:o;1499:57::-;;;;;;:::o;13055:254::-;13116:17;13176:33;13189:10;13201:7;13176:12;:33::i;:::-;13168:42;;;;;;;;13270:10;-1:-1:-1;;;;;13245:45:6;;13282:7;13245:45;;-1:-1:-1;;;;;13245:45:6;;;;;;;;;;;;;;-1:-1:-1;13301:4:6;13055:254;;;:::o;11322:190::-;11396:24;11435;11452:6;11435:16;:24::i;:::-;11427:33;;;;;;;;-1:-1:-1;11471:20:6;;;;:12;:20;;;;;:37;;;;11322:190::o;603:27::-;;;-1:-1:-1;;;;;603:27:6;;:::o;3684:616::-;1128:19;;3818:13;;;;1114:10;-1:-1:-1;;;;;1114:33:6;;;1128:19;;1114:33;1106:42;;;;;;3875:17;;:24;;3897:1;3875:24;:21;:24;:::i;:::-;3838:17;:61;;;3940:31;;;;:12;:31;;;;;3975:54;;;3940:31;-1:-1:-1;4033:13:6;;;4070:5;;4033:42;;;;;;;;:::i;:::-;-1:-1:-1;4079:20:6;;;4116:12;;4079:49;;;;;;;;:::i;:::-;-1:-1:-1;4132:25:6;;;:54;;;4210:17;;4195:73;;4229:5;4236:12;4169:17;4195:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;4195:73:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;4195:73:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4279:17:6;;;3684:616;-1:-1:-1;;;3684:616:6:o;16081:239::-;-1:-1:-1;;;;;16187:10:6;16176:22;16134:4;16176:22;;;:10;:22;;;;;:28;:41;;16209:7;16176:41;:32;:41;:::i;:::-;16156:10;-1:-1:-1;;;;;16145:22:6;;;;;;;:10;:22;;;;;;:72;;;;16229:3;;;:12;;16156:10;16254:7;;16229:33;-1:-1:-1;;;16229:33:6;;;;;;-1:-1:-1;;;;;16229:33:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16221:42;;;;;;;;16272:29;16281:10;16293:7;16272:29;;-1:-1:-1;;;;;16272:29:6;;;;;;;;;;;;;;;;;;;;-1:-1:-1;16312:4:6;16081:239;;;:::o;11515:130::-;11579:18;11611:20;;;:12;:20;;;;;:26;:30;;11515:130::o;6310:106::-;-1:-1:-1;;;;;6389:23:6;6371:4;6389:23;;;:16;:23;;;;;;;;;6310:106::o;5132:366::-;5300:10;;5250:22;;;;-1:-1:-1;;;;;5300:10:6;:24;5329:12;;5346:13;5364:14;;5300:83;;;;;-1:-1:-1;;;5300:83:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5300:83:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5279:104;;5417:10;-1:-1:-1;;;;;5392:81:6;5406:9;-1:-1:-1;;;;;5392:81:6;;5429:12;;5443:13;5458:14;;5392:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5392:81:6;;;;;;;;;;;;;;;;;;;;;;;;;;;5484:10;5132:366;-1:-1:-1;;;;;;5132:366:6:o;455:56::-;507:4;455:56;:::o;5534:773::-;5785:11;;5729:7;;5763:10;;5729:7;;;;-1:-1:-1;;;;;5785:11:6;:33;5819:15;5763:10;5847:11;5785:74;;-1:-1:-1;;;5785:74:6;;;;;;;;;;;;;-1:-1:-1;;;;;5785:74:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5777:83;;;;;;;;5884:57;5902:9;5913:11;5926:4;5932:8;5884:17;:57::i;:::-;5865:76;;5986:15;6006:9;6020:4;6029:8;6042:11;6058:8;6071:7;;6083:9;6097:12;5968:145;;:::i;:::-;;;;-1:-1:-1;;;;;5968:145:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6118:27:6;;;;;;;:16;:27;;;;;;;:34;;-1:-1:-1;;6118:34:6;6148:4;6118:34;;;5946:167;;-1:-1:-1;6165:37:6;;;;;5946:167;;6214:15;;6165:65;-1:-1:-1;;;6165:65:6;;;;;;-1:-1:-1;;;;;6165:65:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6157:74;;;;;;;;6271:11;-1:-1:-1;;;;;6241:42:6;;6260:9;6241:42;;-1:-1:-1;;;;;6241:42:6;;;;;;;;;;;;;;6294:9;5534:773;-1:-1:-1;;;;;;;;;;;5534:773:6:o;16322:159::-;-1:-1:-1;;;;;16425:18:6;16381:13;16425:18;;;:10;:18;;;;;:24;;16451:25;;;;;16425:24;;16322:159::o;4303:526::-;4555:13;;4720:11;;4499:25;;;;-1:-1:-1;;;;;4555:13:6;;;;:30;;4590:12;;;;4607:28;;4640:31;;4676;;4720:11;4555:181;;;;;-1:-1:-1;;;4555:181:6;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4555:181:6;-1:-1:-1;;;;;4555:181:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4531:205;;4773:13;-1:-1:-1;;;;;4745:56:6;4762:9;-1:-1:-1;;;;;4745:56:6;;4788:12;;4745:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4812:13;4303:526;-1:-1:-1;;;;;;4303:526:6:o;1452:44::-;;;;;;;;;;;;;:::o;14618:231::-;-1:-1:-1;;;;;1382:23:6;;14730:4;1382:23;;;:16;:23;;;;;;14714:5;;1382:23;;1374:32;;;;;;;;14784:10;-1:-1:-1;;;;;14749:45:6;14759:5;-1:-1:-1;;;;;14749:29:6;;:31;;;;;-1:-1:-1;;;14749:31:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;14749:45:6;;14741:54;;;;;;;;14807:22;14814:5;14821:7;14807:6;:22::i;:::-;14799:31;;;;;;;;-1:-1:-1;14841:4:6;;14618:231;-1:-1:-1;;;;14618:231:6:o;667:34::-;;;-1:-1:-1;;;;;667:34:6;;:::o;514:54::-;566:2;514:54;:::o;398:::-;450:2;398:54;:::o;13312:241::-;13366:17;13426:33;13439:10;13451:7;13426:12;:33::i;:::-;13418:42;;;;;;;;13514:10;-1:-1:-1;;;;;13495:39:6;;13526:7;13495:39;;-1:-1:-1;;;;;13495:39:6;;;;;;;;;;;;;;-1:-1:-1;13545:4:6;13312:241;;;:::o;14389:227::-;-1:-1:-1;;;;;1382:23:6;;14499:4;1382:23;;;:16;:23;;;;;;14483:5;;1382:23;;1374:32;;;;;;;;14553:10;-1:-1:-1;;;;;14518:45:6;14528:5;-1:-1:-1;;;;;14518:29:6;;:31;;;;;-1:-1:-1;;;14518:31:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;14518:45:6;;14510:54;;;;;;;;14576:20;14581:5;14588:7;14576:4;:20::i;7306:1560::-;-1:-1:-1;;;;;1382:23:6;;7394:4;1382:23;;;:16;:23;;;;;;7394:4;;;;;;;;;;;;7378:5;;1382:23;;1374:32;;;;;;;;7439:5;7405:40;;7484:10;-1:-1:-1;;;;;7457:37:6;:9;-1:-1:-1;;;;;7457:21:6;;:23;;;;;-1:-1:-1;;;7457:23:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7457:37:6;;7449:46;;;;;;;;7534:9;-1:-1:-1;;;;;7534:22:6;;:24;;;;;-1:-1:-1;;;7534:24:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;7609:18:6;;;:20;;;;;-1:-1:-1;;;7609:20:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7658:35:6;;-1:-1:-1;7641:13:6;:52;;;;;;;;;:111;;;-1:-1:-1;7714:38:6;7697:13;:55;;;;;;;;;7641:111;7633:120;;;;;;;;7800:10;-1:-1:-1;;;;;7800:31:6;;7832:5;7800:38;;-1:-1:-1;;;7800:38:6;;;;;;-1:-1:-1;;;;;7800:38:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7792:47;;;;;;;;7843:9;-1:-1:-1;;;;;7843:15:6;;:17;;;;;-1:-1:-1;;;7843:17:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;8210:11:6;;-1:-1:-1;;;;;8210:11:6;;;;-1:-1:-1;8210:26:6;;8237;;;:28;;;;;-1:-1:-1;;;8237:28:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8210:56;;-1:-1:-1;;;8210:56:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8342:11;;8178:88;;-1:-1:-1;8210:56:6;-1:-1:-1;8325:47:6;;-1:-1:-1;;;;;;;8342:11:6;;;;-1:-1:-1;8342:27:6;;-1:-1:-1;8342:29:6;;-1:-1:-1;;;8342:29:6;;;;-1:-1:-1;;;8342:29:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8325:5;;-1:-1:-1;8325:47:6;:16;:47;:::i;:::-;8299:73;;8385:67;8393:9;-1:-1:-1;;;;;8393:21:6;;:23;;;;;-1:-1:-1;;;8393:23:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8418:33;8428:9;-1:-1:-1;;;;;8428:20:6;;:22;;;;;-1:-1:-1;;;8428:22:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8418:5;;-1:-1:-1;8418:33:6;:9;:33;:::i;:::-;8385:6;:67::i;:::-;8377:76;;;;;;;;8503:49;8511:15;8536;8503:5;:49::i;:::-;8495:58;;;;;;;;8676:49;8684:4;8709:15;8676:6;:49::i;:::-;8668:58;;;;;;;;8738:49;8746:4;8771:15;8738:4;:49::i;:::-;8730:58;;;;;;;;8798:49;8815:5;8822:9;-1:-1:-1;;;;;8822:22:6;;:24;;;;;-1:-1:-1;;;8822:24:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8798:49;;-1:-1:-1;;;;;8798:49:6;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8858:4:6;;7306:1560;-1:-1:-1;;;;;;;;7306:1560:6:o;12168:116::-;-1:-1:-1;;;;;12263:17:6;12230:19;12263:17;;;:8;:17;;;;;;;12168:116::o;15301:483::-;-1:-1:-1;;;;;1382:23:6;;15432:4;1382:23;;;:16;:23;;;;;;15416:5;;1382:23;;1374:32;;;;;;;;15486:10;-1:-1:-1;;;;;15451:45:6;15461:5;-1:-1:-1;;;;;15451:29:6;;:31;;;;;-1:-1:-1;;;15451:31:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15451:45:6;;15443:54;;;;;;;;15509:23;15515:7;15524;15509:5;:23::i;:::-;15501:32;;;;;;;;15541:11;15537:229;;;15592:28;;:35;;15625:1;15592:35;:32;:35;:::i;:::-;15561:28;:66;-1:-1:-1;;;;;15674:17:6;;;;;;:8;:17;;;;;;15652:65;;15674:42;;566:2;15674:42;:21;:42;:::i;:::-;-1:-1:-1;;;;;15652:17:6;;;;;;:8;:17;;;;;;;:65;:21;:65;:::i;:::-;-1:-1:-1;;;;;15632:17:6;;;;;;:8;:17;;;;;;;:85;;;;:17;15727:34;;15746:5;;15727:34;-1:-1:-1;;;;;15727:34:6;;;;;;;;;;;;;;-1:-1:-1;15776:4:6;;15301:483;-1:-1:-1;;;;;15301:483:6:o;936:62::-;;;;:::o;732:30::-;;;-1:-1:-1;;;;;732:30:6;;:::o;14078:145::-;827:11;;14164:4;;805:10;-1:-1:-1;;;;;805:34:6;;;827:11;;805:34;797:43;;;;;;14183:20;14188:5;14195:7;14183:4;:20::i;:::-;14175:29;;;;;;;;-1:-1:-1;14215:4:6;14078:145;;;;:::o;380:14::-;;;-1:-1:-1;;;;;380:14:6;;:::o;12321:731::-;12509:13;;12378:15;;12463:10;;-1:-1:-1;;;;;12509:13:6;:36;12463:10;12509:48;;-1:-1:-1;;;12509:48:6;;;;;;-1:-1:-1;;;;;12509:48:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12501:57;;;;;;;;12595;12600:7;12609:10;-1:-1:-1;;;;;12609:40:6;;:42;;;;;-1:-1:-1;;;12609:42:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12595:4;:57::i;:::-;12587:66;;;;;;;;12725:10;-1:-1:-1;;;;;12725:43:6;;:45;;;;;-1:-1:-1;;;12725:45:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;12696:19:6;;;;;;:10;:19;;;;;:25;:74;;;-1:-1:-1;12688:83:6;;;;;;12812:10;-1:-1:-1;;;;;12812:43:6;;:45;;;;;-1:-1:-1;;;12812:45:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;12783:17:6;;;;;;:8;:17;;;;;;:74;;;-1:-1:-1;12775:83:6;;;;;;12894:13;;-1:-1:-1;;;;;12894:13:6;:39;12934:10;12946:7;12894:60;;-1:-1:-1;;;12894:60:6;;;;;;-1:-1:-1;;;;;12894:60:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12886:69;;;;;;;;13013:10;-1:-1:-1;;;;;12990:43:6;;13025:7;12990:43;;-1:-1:-1;;;;;12990:43:6;;;;;;;;;;;;;;-1:-1:-1;13044:4:6;;12321:731;-1:-1:-1;;12321:731:6:o;15823:256::-;15875:4;15894:3;;-1:-1:-1;;;;;15894:3:6;:16;15911:10;15931:4;15938:7;15894:52;;-1:-1:-1;;;15894:52:6;;;;;;-1:-1:-1;;;;;15894:52:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15886:61;;;;;;;;-1:-1:-1;;;;;15993:10:6;15982:22;;;;;:10;:22;;;;;:28;:41;;16015:7;15982:41;:32;:41;:::i;:::-;15962:10;-1:-1:-1;;;;;15951:22:6;;;;;;:10;:22;;;;;;;:72;;;;16032:28;;16052:7;;16032:28;-1:-1:-1;;;;;16032:28:6;;;;;;;;;;;;;;;;;;;;-1:-1:-1;16071:4:6;15823:256;;;:::o;8869:2430::-;-1:-1:-1;;;;;1382:23:6;;9011:4;1382:23;;;:16;:23;;;;;;9011:4;;;;;;;;;;;;;;;;8995:5;;1382:23;;1374:32;;;;;;;;9054:5;9022:38;;9100:10;-1:-1:-1;;;;;9072:38:6;:9;-1:-1:-1;;;;;9072:22:6;;:24;;;;;-1:-1:-1;;;9072:24:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9072:38:6;;9064:47;;;;;;;;9151:38;9123:9;-1:-1:-1;;;;;9123:18:6;;:20;;;;;-1:-1:-1;;;9123:20:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:66;;;;;;;;;9115:75;;;;;;9227:9;-1:-1:-1;;;;;9227:15:6;;:17;;;;;-1:-1:-1;;;9227:17:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;9268:14:6;;;:16;;;;;-1:-1:-1;;;9268:16:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;9303:1:6;9292:12;;9288:70;;;9321:31;9328:3;-1:-1:-1;;;;;9328:11:6;;:13;;;;;-1:-1:-1;;;9328:13:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9343:8;9321:6;:31::i;:::-;9313:40;;;;;;;;9401:9;-1:-1:-1;;;;;9401:19:6;;:21;;;;;-1:-1:-1;;;9401:21:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;9431:21:6;;;9427:175;;9484:7;-1:-1:-1;;;;;9484:22:6;;:24;;;;;-1:-1:-1;;;9484:24:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;9532:1:6;9517:16;;9513:85;;;9552:39;9559:7;-1:-1:-1;;;;;9559:15:6;;:17;;;;;-1:-1:-1;;;9559:17:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9578:12;9552:6;:39::i;:::-;9544:48;;;;;;;;10147:11;;-1:-1:-1;;;;;10147:11:6;;;;:26;;10174;;;:28;;;;;-1:-1:-1;;;10174:28:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10147:56;;-1:-1:-1;;;10147:56:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10285:11;;10115:88;;-1:-1:-1;10147:56:6;-1:-1:-1;10268:47:6;;-1:-1:-1;;;;;;;10285:11:6;;;;-1:-1:-1;10285:27:6;;-1:-1:-1;10285:29:6;;-1:-1:-1;;;10285:29:6;;;;-1:-1:-1;;;10285:29:6;;;;;;;;;;;;;;;;;;;;;;;10268:47;10236:79;;10328:66;10335:9;-1:-1:-1;;;;;10335:21:6;;:23;;;;;-1:-1:-1;;;10335:23:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10360:33;10370:9;-1:-1:-1;;;;;10370:20:6;;:22;;;;;-1:-1:-1;;;10370:22:6;;;;;;;;;;;;;;;;;;;;;;;10360:33;10328:5;:66::i;:::-;10320:75;;;;;;;;10460:48;10467:15;10492;10460:6;:48::i;:::-;10452:57;;;;;;;;10559:9;-1:-1:-1;;;;;10559:19:6;;10579:7;10588;10597:4;10559:43;;;;;-1:-1:-1;;;10559:43:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;10559:43:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;10559:43:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;10559:43:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;10969:4:6;10958:16;;;;;:10;:16;;;;;:23;;;;-1:-1:-1;11024:9:6;;11021:199;;;11050:77;11060:66;507:4;11060:35;:5;450:2;11060:35;:16;:35;:::i;:::-;:39;:66;:39;:66;:::i;:::-;11050:5;;:77;:9;:77;:::i;:::-;11042:85;;11140:30;11146:4;11164:5;11140;:30::i;:::-;11132:39;;;;;;;;11184:30;11191:15;11208:5;11184:6;:30::i;:::-;11176:39;;;;;;;;11229:51;11248:5;11255:9;-1:-1:-1;;;;;11255:22:6;;:24;;;;;-1:-1:-1;;;11255:24:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11229:51;;-1:-1:-1;;;;;11229:51:6;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;11291:4:6;;8869:2430;-1:-1:-1;;;;;;;;;;;;;8869:2430:6:o;1001:64::-;;;-1:-1:-1;;;;;1001:64:6;;:::o;14225:150::-;827:11;;14314:4;;805:10;-1:-1:-1;;;;;805:34:6;;;827:11;;805:34;797:43;;;;;;14333:22;14340:5;14347:7;14333:6;:22::i;633:31::-;;;-1:-1:-1;;;;;633:31:6;;:::o;1181:54::-;;;;;;;;;;;;;;;;;;;:::o;1275:48::-;;;;;;;;;;;;;;;:::o;2968:551::-;1128:19;;1114:10;-1:-1:-1;;;;;1114:33:6;;;1128:19;;1114:33;1106:42;;;;;;3206:1;3190:3;-1:-1:-1;;;;;3190:3:6;3182:26;3174:35;;;;;;3213:3;:57;;-1:-1:-1;;3213:57:6;;;-1:-1:-1;;;;;3213:57:6;;;;;;;3274:11;:57;;;;;;;;;;;;;;3335:13;:57;;;;;;;;;;;;;;-1:-1:-1;3396:57:6;;;;;;;;;;;;;-1:-1:-1;3457:57:6;;;;;;;;;;;;;2968:551::o;876:57::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;11648:330::-;11706:13;11721:11;;:::i;:::-;11734:19;;:::i;:::-;11755:24;11794;11811:6;11794:16;:24::i;:::-;11786:33;;;;;;;;11835:20;;;;:12;:20;;;;;;;;;:26;;11933:37;;;;11866:25;;;;11823:151;;11835:26;;11866:25;;11896:32;;;;;11933:37;;11866:25;;11823:151;;;;;;-1:-1:-1;;11823:151:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11648:330;;;;;:::o;11981:184::-;12098:13;;12044:18;;;;-1:-1:-1;;;;;12098:13:6;:34;12133:7;12098:43;;-1:-1:-1;;;12098:43:6;;;;;;-1:-1:-1;;;;;12098:43:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;12143:17:6;;;;;;;;:8;:17;;;;;;12098:43;;11981:184;-1:-1:-1;;;11981:184:6:o;4832:297::-;4976:6;;4934:18;;;;-1:-1:-1;;;;;4976:6:6;:16;4997:8;;5010:9;5024:10;;4976:62;;;;;-1:-1:-1;;;4976:62:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4976:62:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4959:79;;5068:6;-1:-1:-1;;;;;5047:61:6;5057:9;-1:-1:-1;;;;;5047:61:6;;5076:8;;5086:9;5097:10;;5047:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5047:61:6;;;;;;;;;;;;;;;;;;;;;;;;;;;5119:6;4832:297;-1:-1:-1;;;;;;4832:297:6:o;16522:189::-;-1:-1:-1;;;;;16625:17:6;;16588:4;16625:17;;;:10;:17;;;;;:23;:36;;16653:7;16625:36;:27;:36;:::i;:::-;-1:-1:-1;;;;;16599:17:6;;;;;;:10;:17;;;;;;;:62;;;;16670:22;;16610:5;;16684:7;;16670:22;-1:-1:-1;;;;;16670:22:6;;;;;;;;;;;;;;;;;;;;-1:-1:-1;16703:4:6;16522:189;;;;:::o;405:123:15:-;463:7;489:5;;;505:6;;;;498:14;;;;523:1;516:8;;405:123;;;;;;:::o;13556:450:6:-;13740:13;;13634:17;;13693:11;;-1:-1:-1;;;;;13740:13:6;:36;13693:11;13740:49;;-1:-1:-1;;;13740:49:6;;;;;;-1:-1:-1;;;;;13740:49:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13732:58;;;;;;;;13827:59;13834:7;13843:10;-1:-1:-1;;;;;13843:40:6;;:42;;;;;-1:-1:-1;;;13843:42:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13827:6;:59::i;:::-;13819:68;;;;;;;;13923:13;;-1:-1:-1;;;;;13923:13:6;:41;13965:11;13978:7;13923:63;;-1:-1:-1;;;13923:63:6;;;;;;-1:-1:-1;;;;;13923:63:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13915:72;;;;;;;;-1:-1:-1;13998:4:6;;13556:450;-1:-1:-1;;;13556:450:6:o;531:106:15:-;589:7;610:6;;;;603:14;;;;-1:-1:-1;628:5:15;;;531:106::o;6419:848:6:-;6701:6;;6647:7;;6684:4;;6647:7;;;;-1:-1:-1;;;;;6701:6:6;:22;6684:4;6701:29;;-1:-1:-1;;;6701:29:6;;;;;;-1:-1:-1;;;;;6701:29:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6693:38;;;;;;;;6795:3;-1:-1:-1;;;;;6795:14:6;;:16;;;;;-1:-1:-1;;;6795:16:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;6833:22:6;;;6829:256;;-1:-1:-1;6941:10:6;;6919:8;;-1:-1:-1;;;;;6941:10:6;:29;6919:8;6941:39;;-1:-1:-1;;;6941:39:6;;;;;;-1:-1:-1;;;;;6941:39:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6933:48;;;;;;;;7042:38;7055:7;-1:-1:-1;;;;;7055:22:6;;:24;;;;;-1:-1:-1;;;7055:24:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7042:8;;-1:-1:-1;7042:38:6;:12;:38;:::i;:::-;7031:49;;6829:256;7113:13;;-1:-1:-1;;;;;7113:13:6;:36;7150:11;7113:49;;-1:-1:-1;;;7113:49:6;;;;;;-1:-1:-1;;;;;7113:49:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7105:58;;;;;;;;7176:26;7181:10;7193:8;7176:4;:26::i;:::-;7168:35;;;;;;;;-1:-1:-1;7255:8:6;6419:848;-1:-1:-1;;;;;;6419:848:6:o;17131:227::-;-1:-1:-1;;;;;17235:17:6;;17197:4;17235:17;;;:10;:17;;;;;:24;;;:37;;17264:7;17235:37;:28;:37;:::i;:::-;-1:-1:-1;;;;;17208:17:6;;;;;;:10;:17;;;;;:24;;;:64;;;;17303:23;:36;;17331:7;17303:36;:27;:36;:::i;:::-;-1:-1:-1;;;;;17276:17:6;;;;;;:10;:17;;;;;:63;-1:-1:-1;17350:4:6;17131:227;;;;:::o;16904:225::-;-1:-1:-1;;;;;17006:17:6;;16968:4;17006:17;;;:10;:17;;;;;:23;:36;;17034:7;17006:36;:27;:36;:::i;:::-;-1:-1:-1;;;;;16979:17:6;;;;;;:10;:17;;;;;:63;;;17073:24;;;:37;;17102:7;17073:37;:28;:37;:::i;:::-;-1:-1:-1;;;;;17046:17:6;;;;;;:10;:17;;;;;:24;;;;:64;;;;:24;-1:-1:-1;16904:225:6;;;;:::o;1388:114:15:-;1453:7;1474:24;1488:1;1491;1494:3;1474:13;:24::i;:::-;1467:31;1388:114;-1:-1:-1;;;1388:114:15:o;16713:189:6:-;-1:-1:-1;;;;;16816:17:6;;16778:4;16816:17;;;:10;:17;;;;;:24;;;:37;;16845:7;16816:37;:28;:37;:::i;:::-;-1:-1:-1;;;;;16789:17:6;;;;;;:10;:17;;;;;;;:24;;:64;;;;16862:21;;16800:5;;16875:7;;16862:21;-1:-1:-1;;;;;16862:21:6;;;;;;;;;;;;;;;;;;;;-1:-1:-1;16894:4:6;16713:189;;;;:::o;1165:96:15:-;1223:7;1248:1;1244;:5;:13;;1256:1;1244:13;;;-1:-1:-1;1252:1:15;;1165:96;-1:-1:-1;1165:96:15:o;1065:97::-;1123:7;1149:1;1144;:6;;:14;;1157:1;1144:14;;1264:121;1343:7;1364:17;1368:9;1372:1;1375;1368:3;:9::i;:::-;1379:1;1364:3;:17::i;:::-;1357:24;1264:121;-1:-1:-1;;;;1264:121:15:o;640:162::-;698:7;;716:6;;712:32;;;738:1;731:8;;;;712:32;-1:-1:-1;759:5:15;;;763:1;759;:5;775;;;;;;;;:10;768:18;;;805:257;863:7;949:9;965:1;961;:5;;;;;;;;;805:257;-1:-1:-1;;;;805:257:15:o;281:17079:6:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;281:17079:6;;;-1:-1:-1;281:17079:6;:::i;:::-;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o", + "source": "pragma solidity ^0.4.21;\n\nimport \"rlc-token/contracts/RLC.sol\";\n\nimport './WorkOrder.sol';\nimport './Marketplace.sol';\nimport './AppHub.sol';\nimport './DatasetHub.sol';\nimport './WorkerPoolHub.sol';\nimport \"./SafeMathOZ.sol\";\nimport './IexecLib.sol';\n\n\n/**\n * @title IexecHub\n */\n\ncontract IexecHub\n{\n\tusing SafeMathOZ for uint256;\n\n\t/**\n\t* RLC contract for token transfers.\n\t*/\n\tRLC public rlc;\n\n\tuint256 public constant STAKE_BONUS_RATIO = 10;\n\tuint256 public constant STAKE_BONUS_MIN_THRESHOLD = 1000;\n\tuint256 public constant SCORE_UNITARY_SLASH = 50;\n\n\t/**\n\t * Slaves contracts\n\t */\n\tAppHub public appHub;\n\tDatasetHub public datasetHub;\n\tWorkerPoolHub public workerPoolHub;\n\n\t/**\n\t * Market place\n\t */\n\tMarketplace public marketplace;\n\tmodifier onlyMarketplace()\n\t{\n\t\trequire(msg.sender == address(marketplace));\n\t\t_;\n\t}\n\t/**\n\t * Categories\n\t */\n\tmapping(uint256 => IexecLib.Category) public m_categories;\n\tuint256 public m_categoriesCount;\n\taddress public m_categoriesCreator;\n\tmodifier onlyCategoriesCreator()\n\t{\n\t\trequire(msg.sender == m_categoriesCreator);\n\t\t_;\n\t}\n\n\t/**\n\t * Escrow\n\t */\n\tmapping(address => IexecLib.Account) public m_accounts;\n\n\n\t/**\n\t * workOrder Registered\n\t */\n\tmapping(address => bool) public m_woidRegistered;\n\tmodifier onlyRegisteredWoid(address _woid)\n\t{\n\t\trequire(m_woidRegistered[_woid]);\n\t\t_;\n\t}\n\n\t/**\n\t * Reputation for PoCo\n\t */\n\tmapping(address => uint256) public m_scores;\n\tIexecLib.ContributionHistory public m_contributionHistory;\n\n\n\tevent WorkOrderActivated(address woid, address indexed workerPool);\n\tevent WorkOrderClaimed (address woid, address workerPool);\n\tevent WorkOrderCompleted(address woid, address workerPool);\n\n\tevent CreateApp (address indexed appOwner, address indexed app, string appName, uint256 appPrice, string appParams );\n\tevent CreateDataset (address indexed datasetOwner, address indexed dataset, string datasetName, uint256 datasetPrice, string datasetParams);\n\tevent CreateWorkerPool(address indexed workerPoolOwner, address indexed workerPool, string workerPoolDescription );\n\n\tevent CreateCategory (uint256 catid, string name, string description, uint256 workClockTimeRef);\n\n\tevent WorkerPoolSubscription (address indexed workerPool, address worker);\n\tevent WorkerPoolUnsubscription(address indexed workerPool, address worker);\n\tevent WorkerPoolEviction (address indexed workerPool, address worker);\n\n\tevent AccurateContribution(address woid, address indexed worker);\n\tevent FaultyContribution (address woid, address indexed worker);\n\n\tevent Deposit (address owner, uint256 amount);\n\tevent Withdraw(address owner, uint256 amount);\n\tevent Reward (address user, uint256 amount);\n\tevent Seize (address user, uint256 amount);\n\n\t/**\n\t * Constructor\n\t */\n\tfunction IexecHub()\n\tpublic\n\t{\n\t\tm_categoriesCreator = msg.sender;\n\t}\n\n\tfunction attachContracts(\n\t\taddress _tokenAddress,\n\t\taddress _marketplaceAddress,\n\t\taddress _workerPoolHubAddress,\n\t\taddress _appHubAddress,\n\t\taddress _datasetHubAddress)\n\tpublic onlyCategoriesCreator\n\t{\n\t\trequire(address(rlc) == address(0));\n\t\trlc = RLC (_tokenAddress );\n\t\tmarketplace = Marketplace (_marketplaceAddress );\n\t\tworkerPoolHub = WorkerPoolHub(_workerPoolHubAddress);\n\t\tappHub = AppHub (_appHubAddress );\n\t\tdatasetHub = DatasetHub (_datasetHubAddress );\n\n\t}\n\n\tfunction setCategoriesCreator(address _categoriesCreator)\n\tpublic onlyCategoriesCreator\n\t{\n\t\tm_categoriesCreator = _categoriesCreator;\n\t}\n\t/**\n\t * Factory\n\t */\n\n\tfunction createCategory(\n\t\tstring _name,\n\t\tstring _description,\n\t\tuint256 _workClockTimeRef)\n\tpublic onlyCategoriesCreator returns (uint256 catid)\n\t{\n\t\tm_categoriesCount = m_categoriesCount.add(1);\n\t\tIexecLib.Category storage category = m_categories[m_categoriesCount];\n\t\tcategory.catid = m_categoriesCount;\n\t\tcategory.name = _name;\n\t\tcategory.description = _description;\n\t\tcategory.workClockTimeRef = _workClockTimeRef;\n\t\temit CreateCategory(m_categoriesCount, _name, _description, _workClockTimeRef);\n\t\treturn m_categoriesCount;\n\t}\n\n\tfunction createWorkerPool(\n\t\tstring _description,\n\t\tuint256 _subscriptionLockStakePolicy,\n\t\tuint256 _subscriptionMinimumStakePolicy,\n\t\tuint256 _subscriptionMinimumScorePolicy)\n\texternal returns (address createdWorkerPool)\n\t{\n\t\taddress newWorkerPool = workerPoolHub.createWorkerPool(\n\t\t\t_description,\n\t\t\t_subscriptionLockStakePolicy,\n\t\t\t_subscriptionMinimumStakePolicy,\n\t\t\t_subscriptionMinimumScorePolicy,\n\t\t\taddress(marketplace)\n\t\t);\n\t\temit CreateWorkerPool(tx.origin, newWorkerPool, _description);\n\t\treturn newWorkerPool;\n\t}\n\n\tfunction createApp(\n\t\tstring _appName,\n\t\tuint256 _appPrice,\n\t\tstring _appParams)\n\texternal returns (address createdApp)\n\t{\n\t\taddress newApp = appHub.createApp(\n\t\t\t_appName,\n\t\t\t_appPrice,\n\t\t\t_appParams\n\t\t);\n\t\temit CreateApp(tx.origin, newApp, _appName, _appPrice, _appParams);\n\t\treturn newApp;\n\t}\n\n\tfunction createDataset(\n\t\tstring _datasetName,\n\t\tuint256 _datasetPrice,\n\t\tstring _datasetParams)\n\texternal returns (address createdDataset)\n\t{\n\t\taddress newDataset = datasetHub.createDataset(\n\t\t\t_datasetName,\n\t\t\t_datasetPrice,\n\t\t\t_datasetParams\n\t\t\t);\n\t\temit CreateDataset(tx.origin, newDataset, _datasetName, _datasetPrice, _datasetParams);\n\t\treturn newDataset;\n\t}\n\n\t/**\n\t * WorkOrder Emission\n\t */\n\tfunction buyForWorkOrder(\n\t\tuint256 _marketorderIdx,\n\t\taddress _workerpool,\n\t\taddress _app,\n\t\taddress _dataset,\n\t\tstring _params,\n\t\taddress _callback,\n\t\taddress _beneficiary)\n\texternal returns (address)\n\t{\n\t\taddress requester = msg.sender;\n\t\trequire(marketplace.consumeMarketOrderAsk(_marketorderIdx, requester, _workerpool));\n\n\t\tuint256 emitcost = lockWorkOrderCost(requester, _workerpool, _app, _dataset);\n\n\t\tWorkOrder workorder = new WorkOrder(\n\t\t\t_marketorderIdx,\n\t\t\trequester,\n\t\t\t_app,\n\t\t\t_dataset,\n\t\t\t_workerpool,\n\t\t\temitcost,\n\t\t\t_params,\n\t\t\t_callback,\n\t\t\t_beneficiary\n\t\t);\n\n\t\tm_woidRegistered[workorder] = true;\n\n\t\trequire(WorkerPool(_workerpool).emitWorkOrder(workorder, _marketorderIdx));\n\n\t\temit WorkOrderActivated(workorder, _workerpool);\n\t\treturn workorder;\n\t}\n\n\tfunction isWoidRegistred(address _woid) public view returns (bool)\n\t{\n\t\treturn m_woidRegistered[_woid];\n\t}\n\n\tfunction lockWorkOrderCost(\n\t\taddress _requester,\n\t\taddress _workerpool, // Address of a smartcontract\n\t\taddress _app, // Address of a smartcontract\n\t\taddress _dataset) // Address of a smartcontract\n\tinternal returns (uint256)\n\t{\n\t\t// APP\n\t\tApp app = App(_app);\n\t\trequire(appHub.isAppRegistered (_app));\n\t\t// initialize usercost with dapp price\n\t\tuint256 emitcost = app.m_appPrice();\n\n\t\t// DATASET\n\t\tif (_dataset != address(0)) // address(0) → no dataset\n\t\t{\n\t\t\tDataset dataset = Dataset(_dataset);\n\t\t\trequire(datasetHub.isDatasetRegistred(_dataset));\n\t\t\t// add optional datasetPrice for userCost\n\t\t\temitcost = emitcost.add(dataset.m_datasetPrice());\n\t\t}\n\n\t\t// WORKERPOOL\n\t\trequire(workerPoolHub.isWorkerPoolRegistered(_workerpool));\n\n\t\trequire(lock(_requester, emitcost)); // Lock funds for app + dataset payment\n\n\t\treturn emitcost;\n\t}\n\n\t/**\n\t * WorkOrder life cycle\n\t */\n\n\tfunction claimFailedConsensus(address _woid)\n\tpublic onlyRegisteredWoid(_woid) returns (bool)\n\t{\n\t\tWorkOrder workorder = WorkOrder(_woid);\n\t\trequire(workorder.m_requester() == msg.sender);\n\t\tWorkerPool workerpool = WorkerPool(workorder.m_workerpool());\n\n\t\tIexecLib.WorkOrderStatusEnum currentStatus = workorder.m_status();\n\t\trequire(currentStatus == IexecLib.WorkOrderStatusEnum.ACTIVE || currentStatus == IexecLib.WorkOrderStatusEnum.REVEALING);\n\t\t// Unlock stakes for all workers\n\t\trequire(workerpool.claimFailedConsensus(_woid));\n\t\tworkorder.claim(); // revert on error\n\n\t\t/* uint256 value = marketplace.getMarketOrderValue(workorder.m_marketorderIdx()); // revert if not exist */\n\t\t/* address workerpoolOwner = marketplace.getMarketOrderWorkerpoolOwner(workorder.m_marketorderIdx()); // revert if not exist */\n\t\tuint256 value;\n\t\taddress workerpoolOwner;\n\t\t(,,,value,,,,workerpoolOwner) = marketplace.getMarketOrder(workorder.m_marketorderIdx()); // Single call cost less gas\n\t\tuint256 workerpoolStake = value.percentage(marketplace.ASK_STAKE_RATIO());\n\n\t\trequire(unlock (workorder.m_requester(), value.add(workorder.m_emitcost()))); // UNLOCK THE FUNDS FOR REINBURSEMENT\n\t\trequire(seize (workerpoolOwner, workerpoolStake));\n\t\t// put workerpoolOwner stake seize into iexecHub address for bonus for scheduler on next well finalized Task\n\t\trequire(reward (this, workerpoolStake));\n\t\trequire(lock (this, workerpoolStake));\n\n\t\temit WorkOrderClaimed(_woid, workorder.m_workerpool());\n\t\treturn true;\n\t}\n\n\tfunction finalizeWorkOrder(\n\t\taddress _woid,\n\t\tstring _stdout,\n\t\tstring _stderr,\n\t\tstring _uri)\n\tpublic onlyRegisteredWoid(_woid) returns (bool)\n\t{\n\t\tWorkOrder workorder = WorkOrder(_woid);\n\t\trequire(workorder.m_workerpool() == msg.sender);\n\t\trequire(workorder.m_status() == IexecLib.WorkOrderStatusEnum.REVEALING);\n\n\t\t// APP\n\t\tApp app = App(workorder.m_app());\n\t\tuint256 appPrice = app.m_appPrice();\n\t\tif (appPrice > 0)\n\t\t{\n\t\t\trequire(reward(app.m_owner(), appPrice));\n\t\t}\n\n\t\t// DATASET\n\t\tDataset dataset = Dataset(workorder.m_dataset());\n\t\tif (dataset != address(0))\n\t\t{\n\t\t\tuint256 datasetPrice = dataset.m_datasetPrice();\n\t\t\tif (datasetPrice > 0)\n\t\t\t{\n\t\t\t\trequire(reward(dataset.m_owner(), datasetPrice));\n\t\t\t}\n\t\t}\n\n\t\t// WORKERPOOL → rewarding done by the caller itself\n\n\t\t/**\n\t\t * seize stacked funds from requester.\n\t\t * reward = value: was locked at market making\n\t\t * emitcost: was locked at when emiting the workorder\n\t\t */\n\t\t/* uint256 value = marketplace.getMarketOrderValue(workorder.m_marketorderIdx()); // revert if not exist */\n\t\t/* address workerpoolOwner = marketplace.getMarketOrderWorkerpoolOwner(workorder.m_marketorderIdx()); // revert if not exist */\n\t\tuint256 value;\n\t\taddress workerpoolOwner;\n\t\t(,,,value,,,,workerpoolOwner) = marketplace.getMarketOrder(workorder.m_marketorderIdx()); // Single call cost less gas\n\t\tuint256 workerpoolStake = value.percentage(marketplace.ASK_STAKE_RATIO());\n\n\t\trequire(seize (workorder.m_requester(), value.add(workorder.m_emitcost()))); // seize funds for payment (market value + emitcost)\n\t\trequire(unlock(workerpoolOwner, workerpoolStake)); // unlock scheduler stake\n\n\t\t// write results\n\t\tworkorder.setResult(_stdout, _stderr, _uri); // revert on error\n\n\t\t// Rien ne se perd, rien ne se crée, tout se transfere\n\t\t// distribute bonus to scheduler. jackpot bonus come from scheduler stake loose on IexecHub contract\n\t\t// we reuse the varaible value for the kitty / fraction of the kitty (stack too deep)\n\t\t/* (,value) = checkBalance(this); // kitty is locked on `this` wallet */\n\t\tvalue = m_accounts[this].locked; // kitty is locked on `this` wallet\n\t\tif(value > 0)\n\t\t{\n\t\t\tvalue = value.min(value.percentage(STAKE_BONUS_RATIO).max(STAKE_BONUS_MIN_THRESHOLD));\n\t\t\trequire(seize(this, value));\n\t\t\trequire(reward(workerpoolOwner, value));\n\t\t}\n\n\t\temit WorkOrderCompleted(_woid, workorder.m_workerpool());\n\t\treturn true;\n\t}\n\n\t/**\n\t * Views\n\t */\n\tfunction getCategoryWorkClockTimeRef(uint256 _catId) public view returns (uint256 workClockTimeRef)\n\t{\n\t\trequire(existingCategory(_catId));\n\t\treturn m_categories[_catId].workClockTimeRef;\n\t}\n\n\tfunction existingCategory(uint256 _catId) public view returns (bool categoryExist)\n\t{\n\t\treturn m_categories[_catId].catid > 0;\n\t}\n\n\tfunction getCategory(uint256 _catId) public view returns (uint256 catid, string name, string description, uint256 workClockTimeRef)\n\t{\n\t\trequire(existingCategory(_catId));\n\t\treturn (\n\t\t\tm_categories[_catId].catid,\n\t\t\tm_categories[_catId].name,\n\t\t\tm_categories[_catId].description,\n\t\t\tm_categories[_catId].workClockTimeRef\n\t\t);\n\t}\n\n\tfunction getWorkerStatus(address _worker) public view returns (address workerPool, uint256 workerScore)\n\t{\n\t\treturn (workerPoolHub.getWorkerAffectation(_worker), m_scores[_worker]);\n\t}\n\n\tfunction getWorkerScore(address _worker) public view returns (uint256 workerScore)\n\t{\n\t\treturn m_scores[_worker];\n\t}\n\n\t/**\n\t * Worker subscription\n\t */\n\tfunction registerToPool(address _worker) public returns (bool subscribed)\n\t// msg.sender = workerPool\n\t{\n\t\tWorkerPool workerpool = WorkerPool(msg.sender);\n\t\t// Check credentials\n\t\trequire(workerPoolHub.isWorkerPoolRegistered(msg.sender));\n\t\t// Lock worker deposit\n\t\trequire(lock(_worker, workerpool.m_subscriptionLockStakePolicy()));\n\t\t// Check subscription policy\n\t\trequire(m_accounts[_worker].stake >= workerpool.m_subscriptionMinimumStakePolicy());\n\t\trequire(m_scores[_worker] >= workerpool.m_subscriptionMinimumScorePolicy());\n\t\t// Update affectation\n\t\trequire(workerPoolHub.registerWorkerAffectation(msg.sender, _worker));\n\t\t// Trigger event notice\n\t\temit WorkerPoolSubscription(msg.sender, _worker);\n\t\treturn true;\n\t}\n\n\tfunction unregisterFromPool(address _worker) public returns (bool unsubscribed)\n\t// msg.sender = workerPool\n\t{\n\t\trequire(removeWorker(msg.sender, _worker));\n\t\t// Trigger event notice\n\t\temit WorkerPoolUnsubscription(msg.sender, _worker);\n\t\treturn true;\n\t}\n\n\tfunction evictWorker(address _worker) public returns (bool unsubscribed)\n\t// msg.sender = workerpool\n\t{\n\t\trequire(removeWorker(msg.sender, _worker));\n\t\t// Trigger event notice\n\t\temit WorkerPoolEviction(msg.sender, _worker);\n\t\treturn true;\n\t}\n\n\tfunction removeWorker(address _workerpool, address _worker) internal returns (bool unsubscribed)\n\t{\n\t\tWorkerPool workerpool = WorkerPool(_workerpool);\n\t\t// Check credentials\n\t\trequire(workerPoolHub.isWorkerPoolRegistered(_workerpool));\n\t\t// Unlick worker stake\n\t\trequire(unlock(_worker, workerpool.m_subscriptionLockStakePolicy()));\n\t\t// Update affectation\n\t\trequire(workerPoolHub.unregisterWorkerAffectation(_workerpool, _worker));\n\t\treturn true;\n\t}\n\n\t/**\n\t * Stake, reward and penalty functions\n\t */\n\t/* Marketplace */\n\tfunction lockForOrder(address _user, uint256 _amount) public onlyMarketplace returns (bool)\n\t{\n\t\trequire(lock(_user, _amount));\n\t\treturn true;\n\t}\n\tfunction unlockForOrder(address _user, uint256 _amount) public onlyMarketplace returns (bool)\n\t{\n\t\trequire(unlock(_user, _amount));\n\t\treturn true;\n\t}\n\t/* Work */\n\tfunction lockForWork(address _woid, address _user, uint256 _amount) public onlyRegisteredWoid(_woid) returns (bool)\n\t{\n\t\trequire(WorkOrder(_woid).m_workerpool() == msg.sender);\n\t\trequire(lock(_user, _amount));\n\t\treturn true;\n\t}\n\tfunction unlockForWork(address _woid, address _user, uint256 _amount) public onlyRegisteredWoid(_woid) returns (bool)\n\t{\n\t\trequire(WorkOrder(_woid).m_workerpool() == msg.sender);\n\t\trequire(unlock(_user, _amount));\n\t\treturn true;\n\t}\n\tfunction rewardForWork(address _woid, address _worker, uint256 _amount, bool _reputation) public onlyRegisteredWoid(_woid) returns (bool)\n\t{\n\t\trequire(WorkOrder(_woid).m_workerpool() == msg.sender);\n\t\trequire(reward(_worker, _amount));\n\t\tif (_reputation)\n\t\t{\n\t\t\tm_contributionHistory.success = m_contributionHistory.success.add(1);\n\t\t\tm_scores[_worker] = m_scores[_worker].add(1);\n\t\t\temit AccurateContribution(_woid, _worker);\n\t\t}\n\t\treturn true;\n\t}\n\tfunction seizeForWork(address _woid, address _worker, uint256 _amount, bool _reputation) public onlyRegisteredWoid(_woid) returns (bool)\n\t{\n\t\trequire(WorkOrder(_woid).m_workerpool() == msg.sender);\n\t\trequire(seize(_worker, _amount));\n\t\tif (_reputation)\n\t\t{\n\t\t\tm_contributionHistory.failed = m_contributionHistory.failed.add(1);\n\t\t\tm_scores[_worker] = m_scores[_worker].sub(m_scores[_worker].min(SCORE_UNITARY_SLASH));\n\t\t\temit FaultyContribution(_woid, _worker);\n\t\t}\n\t\treturn true;\n\t}\n\t/**\n\t * Wallet methods: public\n\t */\n\tfunction deposit(uint256 _amount) external returns (bool)\n\t{\n\t\trequire(rlc.transferFrom(msg.sender, address(this), _amount));\n\t\tm_accounts[msg.sender].stake = m_accounts[msg.sender].stake.add(_amount);\n\t\temit Deposit(msg.sender, _amount);\n\t\treturn true;\n\t}\n\tfunction withdraw(uint256 _amount) external returns (bool)\n\t{\n\t\tm_accounts[msg.sender].stake = m_accounts[msg.sender].stake.sub(_amount);\n\t\trequire(rlc.transfer(msg.sender, _amount));\n\t\temit Withdraw(msg.sender, _amount);\n\t\treturn true;\n\t}\n\tfunction checkBalance(address _owner) public view returns (uint256 stake, uint256 locked)\n\t{\n\t\treturn (m_accounts[_owner].stake, m_accounts[_owner].locked);\n\t}\n\t/**\n\t * Wallet methods: Internal\n\t */\n\tfunction reward(address _user, uint256 _amount) internal returns (bool)\n\t{\n\t\tm_accounts[_user].stake = m_accounts[_user].stake.add(_amount);\n\t\temit Reward(_user, _amount);\n\t\treturn true;\n\t}\n\tfunction seize(address _user, uint256 _amount) internal returns (bool)\n\t{\n\t\tm_accounts[_user].locked = m_accounts[_user].locked.sub(_amount);\n\t\temit Seize(_user, _amount);\n\t\treturn true;\n\t}\n\tfunction lock(address _user, uint256 _amount) internal returns (bool)\n\t{\n\t\tm_accounts[_user].stake = m_accounts[_user].stake.sub(_amount);\n\t\tm_accounts[_user].locked = m_accounts[_user].locked.add(_amount);\n\t\treturn true;\n\t}\n\tfunction unlock(address _user, uint256 _amount) internal returns (bool)\n\t{\n\t\tm_accounts[_user].locked = m_accounts[_user].locked.sub(_amount);\n\t\tm_accounts[_user].stake = m_accounts[_user].stake.add(_amount);\n\t\treturn true;\n\t}\n}\n", + "sourcePath": "/Users/fbranci/iexecdev/PoCo/contracts/IexecHub.sol", + "ast": { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/IexecHub.sol", + "exportedSymbols": { + "IexecHub": [ + 2436 + ] + }, + "id": 2437, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 726, + "literals": [ + "solidity", + "^", + "0.4", + ".21" + ], + "nodeType": "PragmaDirective", + "src": "0:24:6" + }, + { + "absolutePath": "rlc-token/contracts/RLC.sol", + "file": "rlc-token/contracts/RLC.sol", + "id": 727, + "nodeType": "ImportDirective", + "scope": 2437, + "sourceUnit": 6786, + "src": "26:37:6", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/WorkOrder.sol", + "file": "./WorkOrder.sol", + "id": 728, + "nodeType": "ImportDirective", + "scope": 2437, + "sourceUnit": 4300, + "src": "65:25:6", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/Marketplace.sol", + "file": "./Marketplace.sol", + "id": 729, + "nodeType": "ImportDirective", + "scope": 2437, + "sourceUnit": 3514, + "src": "91:27:6", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/AppHub.sol", + "file": "./AppHub.sol", + "id": 730, + "nodeType": "ImportDirective", + "scope": 2437, + "sourceUnit": 225, + "src": "119:22:6", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/DatasetHub.sol", + "file": "./DatasetHub.sol", + "id": 731, + "nodeType": "ImportDirective", + "scope": 2437, + "sourceUnit": 450, + "src": "142:26:6", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/WorkerPoolHub.sol", + "file": "./WorkerPoolHub.sol", + "id": 732, + "nodeType": "ImportDirective", + "scope": 2437, + "sourceUnit": 6350, + "src": "169:29:6", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/SafeMathOZ.sol", + "file": "./SafeMathOZ.sol", + "id": 733, + "nodeType": "ImportDirective", + "scope": 2437, + "sourceUnit": 3925, + "src": "199:26:6", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/IexecLib.sol", + "file": "./IexecLib.sol", + "id": 734, + "nodeType": "ImportDirective", + "scope": 2437, + "sourceUnit": 2894, + "src": "226:24:6", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [], + "contractDependencies": [ + 4299 + ], + "contractKind": "contract", + "documentation": "@title IexecHub", + "fullyImplemented": true, + "id": 2436, + "linearizedBaseContracts": [ + 2436 + ], + "name": "IexecHub", + "nodeType": "ContractDefinition", + "nodes": [ + { + "id": 737, + "libraryName": { + "contractScope": null, + "id": 735, + "name": "SafeMathOZ", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 3924, + "src": "308:10:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_SafeMathOZ_$3924", + "typeString": "library SafeMathOZ" + } + }, + "nodeType": "UsingForDirective", + "src": "302:29:6", + "typeName": { + "id": 736, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "323:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + { + "constant": false, + "id": 739, + "name": "rlc", + "nodeType": "VariableDeclaration", + "scope": 2436, + "src": "380:14:6", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_RLC_$6785", + "typeString": "contract RLC" + }, + "typeName": { + "contractScope": null, + "id": 738, + "name": "RLC", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 6785, + "src": "380:3:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_RLC_$6785", + "typeString": "contract RLC" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": true, + "id": 742, + "name": "STAKE_BONUS_RATIO", + "nodeType": "VariableDeclaration", + "scope": 2436, + "src": "398:54:6", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 740, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "398:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "3130", + "id": 741, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "450:2:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + }, + "visibility": "public" + }, + { + "constant": true, + "id": 745, + "name": "STAKE_BONUS_MIN_THRESHOLD", + "nodeType": "VariableDeclaration", + "scope": 2436, + "src": "455:56:6", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 743, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "455:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "31303030", + "id": 744, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "507:4:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1000_by_1", + "typeString": "int_const 1000" + }, + "value": "1000" + }, + "visibility": "public" + }, + { + "constant": true, + "id": 748, + "name": "SCORE_UNITARY_SLASH", + "nodeType": "VariableDeclaration", + "scope": 2436, + "src": "514:54:6", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 746, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "514:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "3530", + "id": 747, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "566:2:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_50_by_1", + "typeString": "int_const 50" + }, + "value": "50" + }, + "visibility": "public" + }, + { + "constant": false, + "id": 750, + "name": "appHub", + "nodeType": "VariableDeclaration", + "scope": 2436, + "src": "603:27:6", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_AppHub_$224", + "typeString": "contract AppHub" + }, + "typeName": { + "contractScope": null, + "id": 749, + "name": "AppHub", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 224, + "src": "603:6:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_AppHub_$224", + "typeString": "contract AppHub" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 752, + "name": "datasetHub", + "nodeType": "VariableDeclaration", + "scope": 2436, + "src": "633:31:6", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DatasetHub_$449", + "typeString": "contract DatasetHub" + }, + "typeName": { + "contractScope": null, + "id": 751, + "name": "DatasetHub", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 449, + "src": "633:10:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DatasetHub_$449", + "typeString": "contract DatasetHub" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 754, + "name": "workerPoolHub", + "nodeType": "VariableDeclaration", + "scope": 2436, + "src": "667:34:6", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkerPoolHub_$6349", + "typeString": "contract WorkerPoolHub" + }, + "typeName": { + "contractScope": null, + "id": 753, + "name": "WorkerPoolHub", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 6349, + "src": "667:13:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkerPoolHub_$6349", + "typeString": "contract WorkerPoolHub" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 756, + "name": "marketplace", + "nodeType": "VariableDeclaration", + "scope": 2436, + "src": "732:30:6", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Marketplace_$3513", + "typeString": "contract Marketplace" + }, + "typeName": { + "contractScope": null, + "id": 755, + "name": "Marketplace", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 3513, + "src": "732:11:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Marketplace_$3513", + "typeString": "contract Marketplace" + } + }, + "value": null, + "visibility": "public" + }, + { + "body": { + "id": 768, + "nodeType": "Block", + "src": "793:56:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 764, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 759, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "805:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 760, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "805:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 762, + "name": "marketplace", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 756, + "src": "827:11:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Marketplace_$3513", + "typeString": "contract Marketplace" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Marketplace_$3513", + "typeString": "contract Marketplace" + } + ], + "id": 761, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "819:7:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 763, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "819:20:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "805:34:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 758, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "797:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 765, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "797:43:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 766, + "nodeType": "ExpressionStatement", + "src": "797:43:6" + }, + { + "id": 767, + "nodeType": "PlaceholderStatement", + "src": "844:1:6" + } + ] + }, + "documentation": null, + "id": 769, + "name": "onlyMarketplace", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 757, + "nodeType": "ParameterList", + "parameters": [], + "src": "789:2:6" + }, + "src": "765:84:6", + "visibility": "internal" + }, + { + "constant": false, + "id": 773, + "name": "m_categories", + "nodeType": "VariableDeclaration", + "scope": 2436, + "src": "876:57:6", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Category_$2892_storage_$", + "typeString": "mapping(uint256 => struct IexecLib.Category storage ref)" + }, + "typeName": { + "id": 772, + "keyType": { + "id": 770, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "884:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Mapping", + "src": "876:37:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Category_$2892_storage_$", + "typeString": "mapping(uint256 => struct IexecLib.Category storage ref)" + }, + "valueType": { + "contractScope": null, + "id": 771, + "name": "IexecLib.Category", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2892, + "src": "895:17:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Category_$2892_storage_ptr", + "typeString": "struct IexecLib.Category storage pointer" + } + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 775, + "name": "m_categoriesCount", + "nodeType": "VariableDeclaration", + "scope": 2436, + "src": "936:62:6", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 774, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "936:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 777, + "name": "m_categoriesCreator", + "nodeType": "VariableDeclaration", + "scope": 2436, + "src": "1001:64:6", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 776, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1001:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "body": { + "id": 787, + "nodeType": "Block", + "src": "1102:55:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 783, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 780, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "1114:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 781, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1114:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 782, + "name": "m_categoriesCreator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 777, + "src": "1128:19:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1114:33:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 779, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "1106:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 784, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1106:42:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 785, + "nodeType": "ExpressionStatement", + "src": "1106:42:6" + }, + { + "id": 786, + "nodeType": "PlaceholderStatement", + "src": "1152:1:6" + } + ] + }, + "documentation": null, + "id": 788, + "name": "onlyCategoriesCreator", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 778, + "nodeType": "ParameterList", + "parameters": [], + "src": "1098:2:6" + }, + "src": "1068:89:6", + "visibility": "internal" + }, + { + "constant": false, + "id": 792, + "name": "m_accounts", + "nodeType": "VariableDeclaration", + "scope": 2436, + "src": "1181:54:6", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$2878_storage_$", + "typeString": "mapping(address => struct IexecLib.Account storage ref)" + }, + "typeName": { + "id": 791, + "keyType": { + "id": 789, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1189:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "1181:36:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$2878_storage_$", + "typeString": "mapping(address => struct IexecLib.Account storage ref)" + }, + "valueType": { + "contractScope": null, + "id": 790, + "name": "IexecLib.Account", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2878, + "src": "1200:16:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Account_$2878_storage_ptr", + "typeString": "struct IexecLib.Account storage pointer" + } + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 796, + "name": "m_woidRegistered", + "nodeType": "VariableDeclaration", + "scope": 2436, + "src": "1275:48:6", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + }, + "typeName": { + "id": 795, + "keyType": { + "id": 793, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1283:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "1275:24:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + }, + "valueType": { + "id": 794, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1294:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + }, + "value": null, + "visibility": "public" + }, + { + "body": { + "id": 807, + "nodeType": "Block", + "src": "1370:45:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 801, + "name": "m_woidRegistered", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 796, + "src": "1382:16:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 803, + "indexExpression": { + "argumentTypes": null, + "id": 802, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 798, + "src": "1399:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1382:23:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 800, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "1374:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 804, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1374:32:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 805, + "nodeType": "ExpressionStatement", + "src": "1374:32:6" + }, + { + "id": 806, + "nodeType": "PlaceholderStatement", + "src": "1410:1:6" + } + ] + }, + "documentation": null, + "id": 808, + "name": "onlyRegisteredWoid", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 799, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 798, + "name": "_woid", + "nodeType": "VariableDeclaration", + "scope": 808, + "src": "1354:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 797, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1354:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1353:15:6" + }, + "src": "1326:89:6", + "visibility": "internal" + }, + { + "constant": false, + "id": 812, + "name": "m_scores", + "nodeType": "VariableDeclaration", + "scope": 2436, + "src": "1452:44:6", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "typeName": { + "id": 811, + "keyType": { + "id": 809, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1460:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "1452:27:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "valueType": { + "id": 810, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1471:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 814, + "name": "m_contributionHistory", + "nodeType": "VariableDeclaration", + "scope": 2436, + "src": "1499:57:6", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ContributionHistory_$2883_storage", + "typeString": "struct IexecLib.ContributionHistory storage ref" + }, + "typeName": { + "contractScope": null, + "id": 813, + "name": "IexecLib.ContributionHistory", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2883, + "src": "1499:28:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ContributionHistory_$2883_storage_ptr", + "typeString": "struct IexecLib.ContributionHistory storage pointer" + } + }, + "value": null, + "visibility": "public" + }, + { + "anonymous": false, + "documentation": null, + "id": 820, + "name": "WorkOrderActivated", + "nodeType": "EventDefinition", + "parameters": { + "id": 819, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 816, + "indexed": false, + "name": "woid", + "nodeType": "VariableDeclaration", + "scope": 820, + "src": "1586:12:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 815, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1586:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 818, + "indexed": true, + "name": "workerPool", + "nodeType": "VariableDeclaration", + "scope": 820, + "src": "1600:26:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 817, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1600:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1585:42:6" + }, + "src": "1561:67:6" + }, + { + "anonymous": false, + "documentation": null, + "id": 826, + "name": "WorkOrderClaimed", + "nodeType": "EventDefinition", + "parameters": { + "id": 825, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 822, + "indexed": false, + "name": "woid", + "nodeType": "VariableDeclaration", + "scope": 826, + "src": "1655:12:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 821, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1655:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 824, + "indexed": false, + "name": "workerPool", + "nodeType": "VariableDeclaration", + "scope": 826, + "src": "1669:18:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 823, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1669:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1654:34:6" + }, + "src": "1630:59:6" + }, + { + "anonymous": false, + "documentation": null, + "id": 832, + "name": "WorkOrderCompleted", + "nodeType": "EventDefinition", + "parameters": { + "id": 831, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 828, + "indexed": false, + "name": "woid", + "nodeType": "VariableDeclaration", + "scope": 832, + "src": "1716:12:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 827, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1716:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 830, + "indexed": false, + "name": "workerPool", + "nodeType": "VariableDeclaration", + "scope": 832, + "src": "1730:18:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 829, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1730:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1715:34:6" + }, + "src": "1691:59:6" + }, + { + "anonymous": false, + "documentation": null, + "id": 844, + "name": "CreateApp", + "nodeType": "EventDefinition", + "parameters": { + "id": 843, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 834, + "indexed": true, + "name": "appOwner", + "nodeType": "VariableDeclaration", + "scope": 844, + "src": "1776:24:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 833, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1776:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 836, + "indexed": true, + "name": "app", + "nodeType": "VariableDeclaration", + "scope": 844, + "src": "1809:19:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 835, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1809:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 838, + "indexed": false, + "name": "appName", + "nodeType": "VariableDeclaration", + "scope": 844, + "src": "1837:14:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 837, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1837:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 840, + "indexed": false, + "name": "appPrice", + "nodeType": "VariableDeclaration", + "scope": 844, + "src": "1857:16:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 839, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1857:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 842, + "indexed": false, + "name": "appParams", + "nodeType": "VariableDeclaration", + "scope": 844, + "src": "1879:16:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 841, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1879:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1775:125:6" + }, + "src": "1753:148:6" + }, + { + "anonymous": false, + "documentation": null, + "id": 856, + "name": "CreateDataset", + "nodeType": "EventDefinition", + "parameters": { + "id": 855, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 846, + "indexed": true, + "name": "datasetOwner", + "nodeType": "VariableDeclaration", + "scope": 856, + "src": "1926:28:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 845, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1926:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 848, + "indexed": true, + "name": "dataset", + "nodeType": "VariableDeclaration", + "scope": 856, + "src": "1959:23:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 847, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1959:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 850, + "indexed": false, + "name": "datasetName", + "nodeType": "VariableDeclaration", + "scope": 856, + "src": "1987:18:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 849, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1987:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 852, + "indexed": false, + "name": "datasetPrice", + "nodeType": "VariableDeclaration", + "scope": 856, + "src": "2007:20:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 851, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2007:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 854, + "indexed": false, + "name": "datasetParams", + "nodeType": "VariableDeclaration", + "scope": 856, + "src": "2029:20:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 853, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2029:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1925:125:6" + }, + "src": "1903:148:6" + }, + { + "anonymous": false, + "documentation": null, + "id": 864, + "name": "CreateWorkerPool", + "nodeType": "EventDefinition", + "parameters": { + "id": 863, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 858, + "indexed": true, + "name": "workerPoolOwner", + "nodeType": "VariableDeclaration", + "scope": 864, + "src": "2076:31:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 857, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2076:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 860, + "indexed": true, + "name": "workerPool", + "nodeType": "VariableDeclaration", + "scope": 864, + "src": "2109:26:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 859, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2109:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 862, + "indexed": false, + "name": "workerPoolDescription", + "nodeType": "VariableDeclaration", + "scope": 864, + "src": "2137:28:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 861, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2137:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2075:131:6" + }, + "src": "2053:154:6" + }, + { + "anonymous": false, + "documentation": null, + "id": 874, + "name": "CreateCategory", + "nodeType": "EventDefinition", + "parameters": { + "id": 873, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 866, + "indexed": false, + "name": "catid", + "nodeType": "VariableDeclaration", + "scope": 874, + "src": "2233:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 865, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2233:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 868, + "indexed": false, + "name": "name", + "nodeType": "VariableDeclaration", + "scope": 874, + "src": "2248:11:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 867, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2248:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 870, + "indexed": false, + "name": "description", + "nodeType": "VariableDeclaration", + "scope": 874, + "src": "2261:18:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 869, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2261:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 872, + "indexed": false, + "name": "workClockTimeRef", + "nodeType": "VariableDeclaration", + "scope": 874, + "src": "2281:24:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 871, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2281:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2232:74:6" + }, + "src": "2210:97:6" + }, + { + "anonymous": false, + "documentation": null, + "id": 880, + "name": "WorkerPoolSubscription", + "nodeType": "EventDefinition", + "parameters": { + "id": 879, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 876, + "indexed": true, + "name": "workerPool", + "nodeType": "VariableDeclaration", + "scope": 880, + "src": "2341:26:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 875, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2341:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 878, + "indexed": false, + "name": "worker", + "nodeType": "VariableDeclaration", + "scope": 880, + "src": "2369:14:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 877, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2369:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2340:44:6" + }, + "src": "2310:75:6" + }, + { + "anonymous": false, + "documentation": null, + "id": 886, + "name": "WorkerPoolUnsubscription", + "nodeType": "EventDefinition", + "parameters": { + "id": 885, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 882, + "indexed": true, + "name": "workerPool", + "nodeType": "VariableDeclaration", + "scope": 886, + "src": "2418:26:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 881, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2418:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 884, + "indexed": false, + "name": "worker", + "nodeType": "VariableDeclaration", + "scope": 886, + "src": "2446:14:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 883, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2446:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2417:44:6" + }, + "src": "2387:75:6" + }, + { + "anonymous": false, + "documentation": null, + "id": 892, + "name": "WorkerPoolEviction", + "nodeType": "EventDefinition", + "parameters": { + "id": 891, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 888, + "indexed": true, + "name": "workerPool", + "nodeType": "VariableDeclaration", + "scope": 892, + "src": "2495:26:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 887, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2495:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 890, + "indexed": false, + "name": "worker", + "nodeType": "VariableDeclaration", + "scope": 892, + "src": "2523:14:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 889, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2523:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2494:44:6" + }, + "src": "2464:75:6" + }, + { + "anonymous": false, + "documentation": null, + "id": 898, + "name": "AccurateContribution", + "nodeType": "EventDefinition", + "parameters": { + "id": 897, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 894, + "indexed": false, + "name": "woid", + "nodeType": "VariableDeclaration", + "scope": 898, + "src": "2569:12:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 893, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2569:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 896, + "indexed": true, + "name": "worker", + "nodeType": "VariableDeclaration", + "scope": 898, + "src": "2583:22:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 895, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2583:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2568:38:6" + }, + "src": "2542:65:6" + }, + { + "anonymous": false, + "documentation": null, + "id": 904, + "name": "FaultyContribution", + "nodeType": "EventDefinition", + "parameters": { + "id": 903, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 900, + "indexed": false, + "name": "woid", + "nodeType": "VariableDeclaration", + "scope": 904, + "src": "2636:12:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 899, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2636:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 902, + "indexed": true, + "name": "worker", + "nodeType": "VariableDeclaration", + "scope": 904, + "src": "2650:22:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 901, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2650:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2635:38:6" + }, + "src": "2609:65:6" + }, + { + "anonymous": false, + "documentation": null, + "id": 910, + "name": "Deposit", + "nodeType": "EventDefinition", + "parameters": { + "id": 909, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 906, + "indexed": false, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 910, + "src": "2692:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 905, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2692:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 908, + "indexed": false, + "name": "amount", + "nodeType": "VariableDeclaration", + "scope": 910, + "src": "2707:14:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 907, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2707:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2691:31:6" + }, + "src": "2677:46:6" + }, + { + "anonymous": false, + "documentation": null, + "id": 916, + "name": "Withdraw", + "nodeType": "EventDefinition", + "parameters": { + "id": 915, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 912, + "indexed": false, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 916, + "src": "2740:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 911, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2740:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 914, + "indexed": false, + "name": "amount", + "nodeType": "VariableDeclaration", + "scope": 916, + "src": "2755:14:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 913, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2755:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2739:31:6" + }, + "src": "2725:46:6" + }, + { + "anonymous": false, + "documentation": null, + "id": 922, + "name": "Reward", + "nodeType": "EventDefinition", + "parameters": { + "id": 921, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 918, + "indexed": false, + "name": "user", + "nodeType": "VariableDeclaration", + "scope": 922, + "src": "2788:12:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 917, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2788:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 920, + "indexed": false, + "name": "amount", + "nodeType": "VariableDeclaration", + "scope": 922, + "src": "2803:14:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 919, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2803:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2787:31:6" + }, + "src": "2773:46:6" + }, + { + "anonymous": false, + "documentation": null, + "id": 928, + "name": "Seize", + "nodeType": "EventDefinition", + "parameters": { + "id": 927, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 924, + "indexed": false, + "name": "user", + "nodeType": "VariableDeclaration", + "scope": 928, + "src": "2836:12:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 923, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2836:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 926, + "indexed": false, + "name": "amount", + "nodeType": "VariableDeclaration", + "scope": 928, + "src": "2851:14:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 925, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2851:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2835:31:6" + }, + "src": "2821:46:6" + }, + { + "body": { + "id": 936, + "nodeType": "Block", + "src": "2925:40:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 934, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 931, + "name": "m_categoriesCreator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 777, + "src": "2929:19:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 932, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "2951:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 933, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2951:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "2929:32:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 935, + "nodeType": "ExpressionStatement", + "src": "2929:32:6" + } + ] + }, + "documentation": "Constructor", + "id": 937, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "IexecHub", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 929, + "nodeType": "ParameterList", + "parameters": [], + "src": "2913:2:6" + }, + "payable": false, + "returnParameters": { + "id": 930, + "nodeType": "ParameterList", + "parameters": [], + "src": "2925:0:6" + }, + "scope": 2436, + "src": "2896:69:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 992, + "nodeType": "Block", + "src": "3170:349:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 959, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 954, + "name": "rlc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 739, + "src": "3190:3:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_RLC_$6785", + "typeString": "contract RLC" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_RLC_$6785", + "typeString": "contract RLC" + } + ], + "id": 953, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3182:7:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 955, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3182:12:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 957, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3206:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 956, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3198:7:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 958, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3198:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "3182:26:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 952, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "3174:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 960, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3174:35:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 961, + "nodeType": "ExpressionStatement", + "src": "3174:35:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 966, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 962, + "name": "rlc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 739, + "src": "3213:3:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_RLC_$6785", + "typeString": "contract RLC" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 964, + "name": "_tokenAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 939, + "src": "3248:13:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 963, + "name": "RLC", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6785, + "src": "3234:3:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_RLC_$6785_$", + "typeString": "type(contract RLC)" + } + }, + "id": 965, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3234:36:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_RLC_$6785", + "typeString": "contract RLC" + } + }, + "src": "3213:57:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_RLC_$6785", + "typeString": "contract RLC" + } + }, + "id": 967, + "nodeType": "ExpressionStatement", + "src": "3213:57:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 972, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 968, + "name": "marketplace", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 756, + "src": "3274:11:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Marketplace_$3513", + "typeString": "contract Marketplace" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 970, + "name": "_marketplaceAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 941, + "src": "3309:19:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 969, + "name": "Marketplace", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3513, + "src": "3295:11:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Marketplace_$3513_$", + "typeString": "type(contract Marketplace)" + } + }, + "id": 971, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3295:36:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Marketplace_$3513", + "typeString": "contract Marketplace" + } + }, + "src": "3274:57:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Marketplace_$3513", + "typeString": "contract Marketplace" + } + }, + "id": 973, + "nodeType": "ExpressionStatement", + "src": "3274:57:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 978, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 974, + "name": "workerPoolHub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 754, + "src": "3335:13:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkerPoolHub_$6349", + "typeString": "contract WorkerPoolHub" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 976, + "name": "_workerPoolHubAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 943, + "src": "3370:21:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 975, + "name": "WorkerPoolHub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6349, + "src": "3356:13:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_WorkerPoolHub_$6349_$", + "typeString": "type(contract WorkerPoolHub)" + } + }, + "id": 977, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3356:36:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkerPoolHub_$6349", + "typeString": "contract WorkerPoolHub" + } + }, + "src": "3335:57:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkerPoolHub_$6349", + "typeString": "contract WorkerPoolHub" + } + }, + "id": 979, + "nodeType": "ExpressionStatement", + "src": "3335:57:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 984, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 980, + "name": "appHub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 750, + "src": "3396:6:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_AppHub_$224", + "typeString": "contract AppHub" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 982, + "name": "_appHubAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 945, + "src": "3431:14:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 981, + "name": "AppHub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 224, + "src": "3417:6:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_AppHub_$224_$", + "typeString": "type(contract AppHub)" + } + }, + "id": 983, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3417:36:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_AppHub_$224", + "typeString": "contract AppHub" + } + }, + "src": "3396:57:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_AppHub_$224", + "typeString": "contract AppHub" + } + }, + "id": 985, + "nodeType": "ExpressionStatement", + "src": "3396:57:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 990, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 986, + "name": "datasetHub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 752, + "src": "3457:10:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DatasetHub_$449", + "typeString": "contract DatasetHub" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 988, + "name": "_datasetHubAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 947, + "src": "3492:18:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 987, + "name": "DatasetHub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 449, + "src": "3478:10:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_DatasetHub_$449_$", + "typeString": "type(contract DatasetHub)" + } + }, + "id": 989, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3478:36:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DatasetHub_$449", + "typeString": "contract DatasetHub" + } + }, + "src": "3457:57:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DatasetHub_$449", + "typeString": "contract DatasetHub" + } + }, + "id": 991, + "nodeType": "ExpressionStatement", + "src": "3457:57:6" + } + ] + }, + "documentation": null, + "id": 993, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 950, + "modifierName": { + "argumentTypes": null, + "id": 949, + "name": "onlyCategoriesCreator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 788, + "src": "3147:21:6", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "3147:21:6" + } + ], + "name": "attachContracts", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 948, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 939, + "name": "_tokenAddress", + "nodeType": "VariableDeclaration", + "scope": 993, + "src": "2996:21:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 938, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2996:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 941, + "name": "_marketplaceAddress", + "nodeType": "VariableDeclaration", + "scope": 993, + "src": "3021:27:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 940, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3021:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 943, + "name": "_workerPoolHubAddress", + "nodeType": "VariableDeclaration", + "scope": 993, + "src": "3052:29:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 942, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3052:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 945, + "name": "_appHubAddress", + "nodeType": "VariableDeclaration", + "scope": 993, + "src": "3085:22:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 944, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3085:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 947, + "name": "_datasetHubAddress", + "nodeType": "VariableDeclaration", + "scope": 993, + "src": "3111:26:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 946, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3111:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2992:146:6" + }, + "payable": false, + "returnParameters": { + "id": 951, + "nodeType": "ParameterList", + "parameters": [], + "src": "3170:0:6" + }, + "scope": 2436, + "src": "2968:551:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1004, + "nodeType": "Block", + "src": "3611:48:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 1002, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 1000, + "name": "m_categoriesCreator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 777, + "src": "3615:19:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 1001, + "name": "_categoriesCreator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 995, + "src": "3637:18:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "3615:40:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 1003, + "nodeType": "ExpressionStatement", + "src": "3615:40:6" + } + ] + }, + "documentation": null, + "id": 1005, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 998, + "modifierName": { + "argumentTypes": null, + "id": 997, + "name": "onlyCategoriesCreator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 788, + "src": "3588:21:6", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "3588:21:6" + } + ], + "name": "setCategoriesCreator", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 996, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 995, + "name": "_categoriesCreator", + "nodeType": "VariableDeclaration", + "scope": 1005, + "src": "3552:26:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 994, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3552:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3551:28:6" + }, + "payable": false, + "returnParameters": { + "id": 999, + "nodeType": "ParameterList", + "parameters": [], + "src": "3611:0:6" + }, + "scope": 2436, + "src": "3522:137:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1066, + "nodeType": "Block", + "src": "3834:466:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 1023, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 1018, + "name": "m_categoriesCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 775, + "src": "3838:17:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31", + "id": 1021, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3897:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "expression": { + "argumentTypes": null, + "id": 1019, + "name": "m_categoriesCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 775, + "src": "3875:17:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1020, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 3773, + "src": "3875:21:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 1022, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3875:24:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3838:61:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1024, + "nodeType": "ExpressionStatement", + "src": "3838:61:6" + }, + { + "assignments": [ + 1028 + ], + "declarations": [ + { + "constant": false, + "id": 1028, + "name": "category", + "nodeType": "VariableDeclaration", + "scope": 1067, + "src": "3903:34:6", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Category_$2892_storage_ptr", + "typeString": "struct IexecLib.Category storage pointer" + }, + "typeName": { + "contractScope": null, + "id": 1027, + "name": "IexecLib.Category", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2892, + "src": "3903:17:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Category_$2892_storage_ptr", + "typeString": "struct IexecLib.Category storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1032, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1029, + "name": "m_categories", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 773, + "src": "3940:12:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Category_$2892_storage_$", + "typeString": "mapping(uint256 => struct IexecLib.Category storage ref)" + } + }, + "id": 1031, + "indexExpression": { + "argumentTypes": null, + "id": 1030, + "name": "m_categoriesCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 775, + "src": "3953:17:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3940:31:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Category_$2892_storage", + "typeString": "struct IexecLib.Category storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3903:68:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 1037, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1033, + "name": "category", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1028, + "src": "3975:8:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Category_$2892_storage_ptr", + "typeString": "struct IexecLib.Category storage pointer" + } + }, + "id": 1035, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "catid", + "nodeType": "MemberAccess", + "referencedDeclaration": 2885, + "src": "3975:14:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 1036, + "name": "m_categoriesCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 775, + "src": "4012:17:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3975:54:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1038, + "nodeType": "ExpressionStatement", + "src": "3975:54:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 1043, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1039, + "name": "category", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1028, + "src": "4033:8:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Category_$2892_storage_ptr", + "typeString": "struct IexecLib.Category storage pointer" + } + }, + "id": 1041, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "name", + "nodeType": "MemberAccess", + "referencedDeclaration": 2887, + "src": "4033:13:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 1042, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1007, + "src": "4070:5:6", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "4033:42:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 1044, + "nodeType": "ExpressionStatement", + "src": "4033:42:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 1049, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1045, + "name": "category", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1028, + "src": "4079:8:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Category_$2892_storage_ptr", + "typeString": "struct IexecLib.Category storage pointer" + } + }, + "id": 1047, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "description", + "nodeType": "MemberAccess", + "referencedDeclaration": 2889, + "src": "4079:20:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 1048, + "name": "_description", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1009, + "src": "4116:12:6", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "4079:49:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 1050, + "nodeType": "ExpressionStatement", + "src": "4079:49:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 1055, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1051, + "name": "category", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1028, + "src": "4132:8:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Category_$2892_storage_ptr", + "typeString": "struct IexecLib.Category storage pointer" + } + }, + "id": 1053, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "workClockTimeRef", + "nodeType": "MemberAccess", + "referencedDeclaration": 2891, + "src": "4132:25:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 1054, + "name": "_workClockTimeRef", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1011, + "src": "4169:17:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4132:54:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1056, + "nodeType": "ExpressionStatement", + "src": "4132:54:6" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1058, + "name": "m_categoriesCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 775, + "src": "4210:17:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 1059, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1007, + "src": "4229:5:6", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "id": 1060, + "name": "_description", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1009, + "src": "4236:12:6", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "id": 1061, + "name": "_workClockTimeRef", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1011, + "src": "4250:17:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1057, + "name": "CreateCategory", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 874, + "src": "4195:14:6", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_uint256_$returns$__$", + "typeString": "function (uint256,string memory,string memory,uint256)" + } + }, + "id": 1062, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4195:73:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1063, + "nodeType": "EmitStatement", + "src": "4190:78:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 1064, + "name": "m_categoriesCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 775, + "src": "4279:17:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 1017, + "id": 1065, + "nodeType": "Return", + "src": "4272:24:6" + } + ] + }, + "documentation": "Factory", + "id": 1067, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 1014, + "modifierName": { + "argumentTypes": null, + "id": 1013, + "name": "onlyCategoriesCreator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 788, + "src": "3787:21:6", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "3787:21:6" + } + ], + "name": "createCategory", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1012, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1007, + "name": "_name", + "nodeType": "VariableDeclaration", + "scope": 1067, + "src": "3711:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 1006, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3711:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1009, + "name": "_description", + "nodeType": "VariableDeclaration", + "scope": 1067, + "src": "3728:20:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 1008, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3728:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1011, + "name": "_workClockTimeRef", + "nodeType": "VariableDeclaration", + "scope": 1067, + "src": "3752:25:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1010, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3752:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3707:71:6" + }, + "payable": false, + "returnParameters": { + "id": 1017, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1016, + "name": "catid", + "nodeType": "VariableDeclaration", + "scope": 1067, + "src": "3818:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1015, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3818:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3817:15:6" + }, + "scope": 2436, + "src": "3684:616:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1102, + "nodeType": "Block", + "src": "4527:302:6", + "statements": [ + { + "assignments": [ + 1081 + ], + "declarations": [ + { + "constant": false, + "id": 1081, + "name": "newWorkerPool", + "nodeType": "VariableDeclaration", + "scope": 1103, + "src": "4531:21:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1080, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4531:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1092, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1084, + "name": "_description", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1069, + "src": "4590:12:6", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + }, + { + "argumentTypes": null, + "id": 1085, + "name": "_subscriptionLockStakePolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1071, + "src": "4607:28:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 1086, + "name": "_subscriptionMinimumStakePolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1073, + "src": "4640:31:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 1087, + "name": "_subscriptionMinimumScorePolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1075, + "src": "4676:31:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1089, + "name": "marketplace", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 756, + "src": "4720:11:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Marketplace_$3513", + "typeString": "contract Marketplace" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Marketplace_$3513", + "typeString": "contract Marketplace" + } + ], + "id": 1088, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4712:7:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 1090, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4712:20:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 1082, + "name": "workerPoolHub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 754, + "src": "4555:13:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkerPoolHub_$6349", + "typeString": "contract WorkerPoolHub" + } + }, + "id": 1083, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "createWorkerPool", + "nodeType": "MemberAccess", + "referencedDeclaration": 6288, + "src": "4555:30:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$returns$_t_address_$", + "typeString": "function (string memory,uint256,uint256,uint256,address) external returns (address)" + } + }, + "id": 1091, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4555:181:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4531:205:6" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1094, + "name": "tx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7018, + "src": "4762:2:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_transaction", + "typeString": "tx" + } + }, + "id": 1095, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "origin", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "4762:9:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1096, + "name": "newWorkerPool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1081, + "src": "4773:13:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1097, + "name": "_description", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1069, + "src": "4788:12:6", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + ], + "id": 1093, + "name": "CreateWorkerPool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 864, + "src": "4745:16:6", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (address,address,string memory)" + } + }, + "id": 1098, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4745:56:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1099, + "nodeType": "EmitStatement", + "src": "4740:61:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 1100, + "name": "newWorkerPool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1081, + "src": "4812:13:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 1079, + "id": 1101, + "nodeType": "Return", + "src": "4805:20:6" + } + ] + }, + "documentation": null, + "id": 1103, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "createWorkerPool", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1076, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1069, + "name": "_description", + "nodeType": "VariableDeclaration", + "scope": 1103, + "src": "4332:20:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + }, + "typeName": { + "id": 1068, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4332:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1071, + "name": "_subscriptionLockStakePolicy", + "nodeType": "VariableDeclaration", + "scope": 1103, + "src": "4356:36:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1070, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4356:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1073, + "name": "_subscriptionMinimumStakePolicy", + "nodeType": "VariableDeclaration", + "scope": 1103, + "src": "4396:39:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1072, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4396:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1075, + "name": "_subscriptionMinimumScorePolicy", + "nodeType": "VariableDeclaration", + "scope": 1103, + "src": "4439:39:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1074, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4439:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4328:151:6" + }, + "payable": false, + "returnParameters": { + "id": 1079, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1078, + "name": "createdWorkerPool", + "nodeType": "VariableDeclaration", + "scope": 1103, + "src": "4499:25:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1077, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4499:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4498:27:6" + }, + "scope": 2436, + "src": "4303:526:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": { + "id": 1134, + "nodeType": "Block", + "src": "4955:174:6", + "statements": [ + { + "assignments": [ + 1115 + ], + "declarations": [ + { + "constant": false, + "id": 1115, + "name": "newApp", + "nodeType": "VariableDeclaration", + "scope": 1135, + "src": "4959:14:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1114, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4959:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1122, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1118, + "name": "_appName", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1105, + "src": "4997:8:6", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + }, + { + "argumentTypes": null, + "id": 1119, + "name": "_appPrice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1107, + "src": "5010:9:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 1120, + "name": "_appParams", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1109, + "src": "5024:10:6", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + ], + "expression": { + "argumentTypes": null, + "id": 1116, + "name": "appHub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 750, + "src": "4976:6:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_AppHub_$224", + "typeString": "contract AppHub" + } + }, + "id": 1117, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "createApp", + "nodeType": "MemberAccess", + "referencedDeclaration": 223, + "src": "4976:16:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_string_memory_ptr_$returns$_t_address_$", + "typeString": "function (string memory,uint256,string memory) external returns (address)" + } + }, + "id": 1121, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4976:62:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4959:79:6" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1124, + "name": "tx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7018, + "src": "5057:2:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_transaction", + "typeString": "tx" + } + }, + "id": 1125, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "origin", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "5057:9:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1126, + "name": "newApp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1115, + "src": "5068:6:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1127, + "name": "_appName", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1105, + "src": "5076:8:6", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + }, + { + "argumentTypes": null, + "id": 1128, + "name": "_appPrice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1107, + "src": "5086:9:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 1129, + "name": "_appParams", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1109, + "src": "5097:10:6", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + ], + "id": 1123, + "name": "CreateApp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 844, + "src": "5047:9:6", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_string_memory_ptr_$_t_uint256_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (address,address,string memory,uint256,string memory)" + } + }, + "id": 1130, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5047:61:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1131, + "nodeType": "EmitStatement", + "src": "5042:66:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 1132, + "name": "newApp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1115, + "src": "5119:6:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 1113, + "id": 1133, + "nodeType": "Return", + "src": "5112:13:6" + } + ] + }, + "documentation": null, + "id": 1135, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "createApp", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1110, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1105, + "name": "_appName", + "nodeType": "VariableDeclaration", + "scope": 1135, + "src": "4854:16:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + }, + "typeName": { + "id": 1104, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4854:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1107, + "name": "_appPrice", + "nodeType": "VariableDeclaration", + "scope": 1135, + "src": "4874:17:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1106, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4874:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1109, + "name": "_appParams", + "nodeType": "VariableDeclaration", + "scope": 1135, + "src": "4895:18:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + }, + "typeName": { + "id": 1108, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4895:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4850:64:6" + }, + "payable": false, + "returnParameters": { + "id": 1113, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1112, + "name": "createdApp", + "nodeType": "VariableDeclaration", + "scope": 1135, + "src": "4934:18:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1111, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4934:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4933:20:6" + }, + "scope": 2436, + "src": "4832:297:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": { + "id": 1166, + "nodeType": "Block", + "src": "5275:223:6", + "statements": [ + { + "assignments": [ + 1147 + ], + "declarations": [ + { + "constant": false, + "id": 1147, + "name": "newDataset", + "nodeType": "VariableDeclaration", + "scope": 1167, + "src": "5279:18:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1146, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5279:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1154, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1150, + "name": "_datasetName", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1137, + "src": "5329:12:6", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + }, + { + "argumentTypes": null, + "id": 1151, + "name": "_datasetPrice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1139, + "src": "5346:13:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 1152, + "name": "_datasetParams", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1141, + "src": "5364:14:6", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + ], + "expression": { + "argumentTypes": null, + "id": 1148, + "name": "datasetHub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 752, + "src": "5300:10:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DatasetHub_$449", + "typeString": "contract DatasetHub" + } + }, + "id": 1149, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "createDataset", + "nodeType": "MemberAccess", + "referencedDeclaration": 448, + "src": "5300:24:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_string_memory_ptr_$returns$_t_address_$", + "typeString": "function (string memory,uint256,string memory) external returns (address)" + } + }, + "id": 1153, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5300:83:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5279:104:6" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1156, + "name": "tx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7018, + "src": "5406:2:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_transaction", + "typeString": "tx" + } + }, + "id": 1157, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "origin", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "5406:9:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1158, + "name": "newDataset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1147, + "src": "5417:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1159, + "name": "_datasetName", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1137, + "src": "5429:12:6", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + }, + { + "argumentTypes": null, + "id": 1160, + "name": "_datasetPrice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1139, + "src": "5443:13:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 1161, + "name": "_datasetParams", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1141, + "src": "5458:14:6", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + ], + "id": 1155, + "name": "CreateDataset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 856, + "src": "5392:13:6", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_string_memory_ptr_$_t_uint256_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (address,address,string memory,uint256,string memory)" + } + }, + "id": 1162, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5392:81:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1163, + "nodeType": "EmitStatement", + "src": "5387:86:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 1164, + "name": "newDataset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1147, + "src": "5484:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 1145, + "id": 1165, + "nodeType": "Return", + "src": "5477:17:6" + } + ] + }, + "documentation": null, + "id": 1167, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "createDataset", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1142, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1137, + "name": "_datasetName", + "nodeType": "VariableDeclaration", + "scope": 1167, + "src": "5158:20:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + }, + "typeName": { + "id": 1136, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "5158:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1139, + "name": "_datasetPrice", + "nodeType": "VariableDeclaration", + "scope": 1167, + "src": "5182:21:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1138, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5182:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1141, + "name": "_datasetParams", + "nodeType": "VariableDeclaration", + "scope": 1167, + "src": "5207:22:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + }, + "typeName": { + "id": 1140, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "5207:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5154:76:6" + }, + "payable": false, + "returnParameters": { + "id": 1145, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1144, + "name": "createdDataset", + "nodeType": "VariableDeclaration", + "scope": 1167, + "src": "5250:22:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1143, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5250:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5249:24:6" + }, + "scope": 2436, + "src": "5132:366:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": { + "id": 1247, + "nodeType": "Block", + "src": "5739:568:6", + "statements": [ + { + "assignments": [ + 1187 + ], + "declarations": [ + { + "constant": false, + "id": 1187, + "name": "requester", + "nodeType": "VariableDeclaration", + "scope": 1248, + "src": "5743:17:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1186, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5743:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1190, + "initialValue": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1188, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "5763:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1189, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "5763:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5743:30:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1194, + "name": "_marketorderIdx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1169, + "src": "5819:15:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 1195, + "name": "requester", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1187, + "src": "5836:9:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1196, + "name": "_workerpool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1171, + "src": "5847:11:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 1192, + "name": "marketplace", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 756, + "src": "5785:11:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Marketplace_$3513", + "typeString": "contract Marketplace" + } + }, + "id": 1193, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "consumeMarketOrderAsk", + "nodeType": "MemberAccess", + "referencedDeclaration": 3227, + "src": "5785:33:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_address_$_t_address_$returns$_t_bool_$", + "typeString": "function (uint256,address,address) external returns (bool)" + } + }, + "id": 1197, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5785:74:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1191, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "5777:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1198, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5777:83:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1199, + "nodeType": "ExpressionStatement", + "src": "5777:83:6" + }, + { + "assignments": [ + 1201 + ], + "declarations": [ + { + "constant": false, + "id": 1201, + "name": "emitcost", + "nodeType": "VariableDeclaration", + "scope": 1248, + "src": "5865:16:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1200, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5865:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1208, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1203, + "name": "requester", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1187, + "src": "5902:9:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1204, + "name": "_workerpool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1171, + "src": "5913:11:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1205, + "name": "_app", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1173, + "src": "5926:4:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1206, + "name": "_dataset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1175, + "src": "5932:8:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1202, + "name": "lockWorkOrderCost", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1338, + "src": "5884:17:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_address_$returns$_t_uint256_$", + "typeString": "function (address,address,address,address) returns (uint256)" + } + }, + "id": 1207, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5884:57:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5865:76:6" + }, + { + "assignments": [ + 1210 + ], + "declarations": [ + { + "constant": false, + "id": 1210, + "name": "workorder", + "nodeType": "VariableDeclaration", + "scope": 1248, + "src": "5946:19:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4299", + "typeString": "contract WorkOrder" + }, + "typeName": { + "contractScope": null, + "id": 1209, + "name": "WorkOrder", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 4299, + "src": "5946:9:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4299", + "typeString": "contract WorkOrder" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1223, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1213, + "name": "_marketorderIdx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1169, + "src": "5986:15:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 1214, + "name": "requester", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1187, + "src": "6006:9:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1215, + "name": "_app", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1173, + "src": "6020:4:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1216, + "name": "_dataset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1175, + "src": "6029:8:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1217, + "name": "_workerpool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1171, + "src": "6042:11:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1218, + "name": "emitcost", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1201, + "src": "6058:8:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 1219, + "name": "_params", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1177, + "src": "6071:7:6", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + }, + { + "argumentTypes": null, + "id": 1220, + "name": "_callback", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1179, + "src": "6083:9:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1221, + "name": "_beneficiary", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1181, + "src": "6097:12:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1212, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "5968:13:6", + "typeDescriptions": { + "typeIdentifier": "t_function_creation_nonpayable$_t_uint256_$_t_address_$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_string_memory_ptr_$_t_address_$_t_address_$returns$_t_contract$_WorkOrder_$4299_$", + "typeString": "function (uint256,address,address,address,address,uint256,string memory,address,address) returns (contract WorkOrder)" + }, + "typeName": { + "contractScope": null, + "id": 1211, + "name": "WorkOrder", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 4299, + "src": "5972:9:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4299", + "typeString": "contract WorkOrder" + } + } + }, + "id": 1222, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5968:145:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4299", + "typeString": "contract WorkOrder" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5946:167:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 1228, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1224, + "name": "m_woidRegistered", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 796, + "src": "6118:16:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 1226, + "indexExpression": { + "argumentTypes": null, + "id": 1225, + "name": "workorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1210, + "src": "6135:9:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4299", + "typeString": "contract WorkOrder" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "6118:27:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 1227, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6148:4:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "6118:34:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1229, + "nodeType": "ExpressionStatement", + "src": "6118:34:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1235, + "name": "workorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1210, + "src": "6203:9:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4299", + "typeString": "contract WorkOrder" + } + }, + { + "argumentTypes": null, + "id": 1236, + "name": "_marketorderIdx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1169, + "src": "6214:15:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_WorkOrder_$4299", + "typeString": "contract WorkOrder" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1232, + "name": "_workerpool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1171, + "src": "6176:11:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1231, + "name": "WorkerPool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6097, + "src": "6165:10:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_WorkerPool_$6097_$", + "typeString": "type(contract WorkerPool)" + } + }, + "id": 1233, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6165:23:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkerPool_$6097", + "typeString": "contract WorkerPool" + } + }, + "id": 1234, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "emitWorkOrder", + "nodeType": "MemberAccess", + "referencedDeclaration": 4983, + "src": "6165:37:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) external returns (bool)" + } + }, + "id": 1237, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6165:65:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1230, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "6157:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1238, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6157:74:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1239, + "nodeType": "ExpressionStatement", + "src": "6157:74:6" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1241, + "name": "workorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1210, + "src": "6260:9:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4299", + "typeString": "contract WorkOrder" + } + }, + { + "argumentTypes": null, + "id": 1242, + "name": "_workerpool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1171, + "src": "6271:11:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_WorkOrder_$4299", + "typeString": "contract WorkOrder" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1240, + "name": "WorkOrderActivated", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 820, + "src": "6241:18:6", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address)" + } + }, + "id": 1243, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6241:42:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1244, + "nodeType": "EmitStatement", + "src": "6236:47:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 1245, + "name": "workorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1210, + "src": "6294:9:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4299", + "typeString": "contract WorkOrder" + } + }, + "functionReturnParameters": 1185, + "id": 1246, + "nodeType": "Return", + "src": "6287:16:6" + } + ] + }, + "documentation": "WorkOrder Emission", + "id": 1248, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "buyForWorkOrder", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1182, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1169, + "name": "_marketorderIdx", + "nodeType": "VariableDeclaration", + "scope": 1248, + "src": "5562:23:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1168, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5562:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1171, + "name": "_workerpool", + "nodeType": "VariableDeclaration", + "scope": 1248, + "src": "5589:19:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1170, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5589:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1173, + "name": "_app", + "nodeType": "VariableDeclaration", + "scope": 1248, + "src": "5612:12:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1172, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5612:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1175, + "name": "_dataset", + "nodeType": "VariableDeclaration", + "scope": 1248, + "src": "5628:16:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1174, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5628:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1177, + "name": "_params", + "nodeType": "VariableDeclaration", + "scope": 1248, + "src": "5648:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + }, + "typeName": { + "id": 1176, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "5648:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1179, + "name": "_callback", + "nodeType": "VariableDeclaration", + "scope": 1248, + "src": "5667:17:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1178, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5667:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1181, + "name": "_beneficiary", + "nodeType": "VariableDeclaration", + "scope": 1248, + "src": "5688:20:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1180, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5688:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5558:151:6" + }, + "payable": false, + "returnParameters": { + "id": 1185, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1184, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1248, + "src": "5729:7:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1183, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5729:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5728:9:6" + }, + "scope": 2436, + "src": "5534:773:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": { + "id": 1259, + "nodeType": "Block", + "src": "6378:38:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1255, + "name": "m_woidRegistered", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 796, + "src": "6389:16:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 1257, + "indexExpression": { + "argumentTypes": null, + "id": 1256, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1250, + "src": "6406:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6389:23:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 1254, + "id": 1258, + "nodeType": "Return", + "src": "6382:30:6" + } + ] + }, + "documentation": null, + "id": 1260, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "isWoidRegistred", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1251, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1250, + "name": "_woid", + "nodeType": "VariableDeclaration", + "scope": 1260, + "src": "6335:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1249, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6335:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6334:15:6" + }, + "payable": false, + "returnParameters": { + "id": 1254, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1253, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1260, + "src": "6371:4:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1252, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "6371:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6370:6:6" + }, + "scope": 2436, + "src": "6310:106:6", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1337, + "nodeType": "Block", + "src": "6657:610:6", + "statements": [ + { + "assignments": [ + 1274 + ], + "declarations": [ + { + "constant": false, + "id": 1274, + "name": "app", + "nodeType": "VariableDeclaration", + "scope": 1338, + "src": "6670:7:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_App_$54", + "typeString": "contract App" + }, + "typeName": { + "contractScope": null, + "id": 1273, + "name": "App", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 54, + "src": "6670:3:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_App_$54", + "typeString": "contract App" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1278, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1276, + "name": "_app", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1266, + "src": "6684:4:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1275, + "name": "App", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 54, + "src": "6680:3:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_App_$54_$", + "typeString": "type(contract App)" + } + }, + "id": 1277, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6680:9:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_App_$54", + "typeString": "contract App" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6670:19:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1282, + "name": "_app", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1266, + "src": "6725:4:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 1280, + "name": "appHub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 750, + "src": "6701:6:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_AppHub_$224", + "typeString": "contract AppHub" + } + }, + "id": 1281, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "isAppRegistered", + "nodeType": "MemberAccess", + "referencedDeclaration": 100, + "src": "6701:22:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_bool_$", + "typeString": "function (address) view external returns (bool)" + } + }, + "id": 1283, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6701:29:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1279, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "6693:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1284, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6693:38:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1285, + "nodeType": "ExpressionStatement", + "src": "6693:38:6" + }, + { + "assignments": [ + 1287 + ], + "declarations": [ + { + "constant": false, + "id": 1287, + "name": "emitcost", + "nodeType": "VariableDeclaration", + "scope": 1338, + "src": "6776:16:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1286, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6776:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1291, + "initialValue": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 1288, + "name": "app", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1274, + "src": "6795:3:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_App_$54", + "typeString": "contract App" + } + }, + "id": 1289, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_appPrice", + "nodeType": "MemberAccess", + "referencedDeclaration": 11, + "src": "6795:14:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", + "typeString": "function () view external returns (uint256)" + } + }, + "id": 1290, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6795:16:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6776:35:6" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1296, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1292, + "name": "_dataset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1268, + "src": "6833:8:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 1294, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6853:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 1293, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "6845:7:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 1295, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6845:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "6833:22:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 1320, + "nodeType": "IfStatement", + "src": "6829:256:6", + "trueBody": { + "id": 1319, + "nodeType": "Block", + "src": "6888:197:6", + "statements": [ + { + "assignments": [ + 1298 + ], + "declarations": [ + { + "constant": false, + "id": 1298, + "name": "dataset", + "nodeType": "VariableDeclaration", + "scope": 1338, + "src": "6893:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Dataset_$279", + "typeString": "contract Dataset" + }, + "typeName": { + "contractScope": null, + "id": 1297, + "name": "Dataset", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 279, + "src": "6893:7:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Dataset_$279", + "typeString": "contract Dataset" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1302, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1300, + "name": "_dataset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1268, + "src": "6919:8:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1299, + "name": "Dataset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 279, + "src": "6911:7:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Dataset_$279_$", + "typeString": "type(contract Dataset)" + } + }, + "id": 1301, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6911:17:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Dataset_$279", + "typeString": "contract Dataset" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6893:35:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1306, + "name": "_dataset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1268, + "src": "6971:8:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 1304, + "name": "datasetHub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 752, + "src": "6941:10:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DatasetHub_$449", + "typeString": "contract DatasetHub" + } + }, + "id": 1305, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "isDatasetRegistred", + "nodeType": "MemberAccess", + "referencedDeclaration": 325, + "src": "6941:29:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_bool_$", + "typeString": "function (address) view external returns (bool)" + } + }, + "id": 1307, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6941:39:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1303, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "6933:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1308, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6933:48:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1309, + "nodeType": "ExpressionStatement", + "src": "6933:48:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 1317, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 1310, + "name": "emitcost", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1287, + "src": "7031:8:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 1313, + "name": "dataset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1298, + "src": "7055:7:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Dataset_$279", + "typeString": "contract Dataset" + } + }, + "id": 1314, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_datasetPrice", + "nodeType": "MemberAccess", + "referencedDeclaration": 236, + "src": "7055:22:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", + "typeString": "function () view external returns (uint256)" + } + }, + "id": 1315, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7055:24:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 1311, + "name": "emitcost", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1287, + "src": "7042:8:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1312, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 3773, + "src": "7042:12:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 1316, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7042:38:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7031:49:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1318, + "nodeType": "ExpressionStatement", + "src": "7031:49:6" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1324, + "name": "_workerpool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1264, + "src": "7150:11:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 1322, + "name": "workerPoolHub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 754, + "src": "7113:13:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkerPoolHub_$6349", + "typeString": "contract WorkerPoolHub" + } + }, + "id": 1323, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "isWorkerPoolRegistered", + "nodeType": "MemberAccess", + "referencedDeclaration": 6147, + "src": "7113:36:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_bool_$", + "typeString": "function (address) view external returns (bool)" + } + }, + "id": 1325, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7113:49:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1321, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "7105:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1326, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7105:58:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1327, + "nodeType": "ExpressionStatement", + "src": "7105:58:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1330, + "name": "_requester", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1262, + "src": "7181:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1331, + "name": "emitcost", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1287, + "src": "7193:8:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1329, + "name": "lock", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2397, + "src": "7176:4:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) returns (bool)" + } + }, + "id": 1332, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7176:26:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1328, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "7168:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1333, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7168:35:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1334, + "nodeType": "ExpressionStatement", + "src": "7168:35:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 1335, + "name": "emitcost", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1287, + "src": "7255:8:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 1272, + "id": 1336, + "nodeType": "Return", + "src": "7248:15:6" + } + ] + }, + "documentation": null, + "id": 1338, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "lockWorkOrderCost", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1269, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1262, + "name": "_requester", + "nodeType": "VariableDeclaration", + "scope": 1338, + "src": "6449:18:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1261, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6449:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1264, + "name": "_workerpool", + "nodeType": "VariableDeclaration", + "scope": 1338, + "src": "6471:19:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1263, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6471:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1266, + "name": "_app", + "nodeType": "VariableDeclaration", + "scope": 1338, + "src": "6524:12:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1265, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6524:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1268, + "name": "_dataset", + "nodeType": "VariableDeclaration", + "scope": 1338, + "src": "6577:16:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1267, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6577:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6445:149:6" + }, + "payable": false, + "returnParameters": { + "id": 1272, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1271, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1338, + "src": "6647:7:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1270, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6647:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6646:9:6" + }, + "scope": 2436, + "src": "6419:848:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 1475, + "nodeType": "Block", + "src": "7401:1465:6", + "statements": [ + { + "assignments": [ + 1349 + ], + "declarations": [ + { + "constant": false, + "id": 1349, + "name": "workorder", + "nodeType": "VariableDeclaration", + "scope": 1476, + "src": "7405:20:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4299", + "typeString": "contract WorkOrder" + }, + "typeName": { + "contractScope": null, + "id": 1348, + "name": "WorkOrder", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 4299, + "src": "7405:9:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4299", + "typeString": "contract WorkOrder" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1353, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1351, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1340, + "src": "7439:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1350, + "name": "WorkOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4299, + "src": "7429:9:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_WorkOrder_$4299_$", + "typeString": "type(contract WorkOrder)" + } + }, + "id": 1352, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7429:16:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4299", + "typeString": "contract WorkOrder" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7405:40:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1360, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 1355, + "name": "workorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1349, + "src": "7457:9:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4299", + "typeString": "contract WorkOrder" + } + }, + "id": 1356, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_requester", + "nodeType": "MemberAccess", + "referencedDeclaration": 4050, + "src": "7457:21:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + "id": 1357, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7457:23:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1358, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "7484:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1359, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "7484:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "7457:37:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1354, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "7449:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1361, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7449:46:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1362, + "nodeType": "ExpressionStatement", + "src": "7449:46:6" + }, + { + "assignments": [ + 1364 + ], + "declarations": [ + { + "constant": false, + "id": 1364, + "name": "workerpool", + "nodeType": "VariableDeclaration", + "scope": 1476, + "src": "7499:21:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkerPool_$6097", + "typeString": "contract WorkerPool" + }, + "typeName": { + "contractScope": null, + "id": 1363, + "name": "WorkerPool", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 6097, + "src": "7499:10:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkerPool_$6097", + "typeString": "contract WorkerPool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1370, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 1366, + "name": "workorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1349, + "src": "7534:9:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4299", + "typeString": "contract WorkOrder" + } + }, + "id": 1367, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_workerpool", + "nodeType": "MemberAccess", + "referencedDeclaration": 4048, + "src": "7534:22:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + "id": 1368, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7534:24:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1365, + "name": "WorkerPool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6097, + "src": "7523:10:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_WorkerPool_$6097_$", + "typeString": "type(contract WorkerPool)" + } + }, + "id": 1369, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7523:36:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkerPool_$6097", + "typeString": "contract WorkerPool" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7499:60:6" + }, + { + "assignments": [ + 1374 + ], + "declarations": [ + { + "constant": false, + "id": 1374, + "name": "currentStatus", + "nodeType": "VariableDeclaration", + "scope": 1476, + "src": "7564:42:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + }, + "typeName": { + "contractScope": null, + "id": 1373, + "name": "IexecLib.WorkOrderStatusEnum", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2832, + "src": "7564:28:6", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1378, + "initialValue": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 1375, + "name": "workorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1349, + "src": "7609:9:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4299", + "typeString": "contract WorkOrder" + } + }, + "id": 1376, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_status", + "nodeType": "MemberAccess", + "referencedDeclaration": 4040, + "src": "7609:18:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_enum$_WorkOrderStatusEnum_$2832_$", + "typeString": "function () view external returns (enum IexecLib.WorkOrderStatusEnum)" + } + }, + "id": 1377, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7609:20:6", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7564:65:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 1390, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + }, + "id": 1384, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1380, + "name": "currentStatus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1374, + "src": "7641:13:6", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1381, + "name": "IexecLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2893, + "src": "7658:8:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecLib_$2893_$", + "typeString": "type(library IexecLib)" + } + }, + "id": 1382, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "WorkOrderStatusEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 2832, + "src": "7658:28:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_WorkOrderStatusEnum_$2832_$", + "typeString": "type(enum IexecLib.WorkOrderStatusEnum)" + } + }, + "id": 1383, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "ACTIVE", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "7658:35:6", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "src": "7641:52:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + }, + "id": 1389, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1385, + "name": "currentStatus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1374, + "src": "7697:13:6", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1386, + "name": "IexecLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2893, + "src": "7714:8:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecLib_$2893_$", + "typeString": "type(library IexecLib)" + } + }, + "id": 1387, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "WorkOrderStatusEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 2832, + "src": "7714:28:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_WorkOrderStatusEnum_$2832_$", + "typeString": "type(enum IexecLib.WorkOrderStatusEnum)" + } + }, + "id": 1388, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "REVEALING", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "7714:38:6", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "src": "7697:55:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "7641:111:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1379, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "7633:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1391, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7633:120:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1392, + "nodeType": "ExpressionStatement", + "src": "7633:120:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1396, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1340, + "src": "7832:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 1394, + "name": "workerpool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1364, + "src": "7800:10:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkerPool_$6097", + "typeString": "contract WorkerPool" + } + }, + "id": 1395, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "claimFailedConsensus", + "nodeType": "MemberAccess", + "referencedDeclaration": 5063, + "src": "7800:31:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$_t_bool_$", + "typeString": "function (address) external returns (bool)" + } + }, + "id": 1397, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7800:38:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1393, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "7792:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1398, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7792:47:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1399, + "nodeType": "ExpressionStatement", + "src": "7792:47:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 1400, + "name": "workorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1349, + "src": "7843:9:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4299", + "typeString": "contract WorkOrder" + } + }, + "id": 1402, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "claim", + "nodeType": "MemberAccess", + "referencedDeclaration": 4249, + "src": "7843:15:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$__$returns$__$", + "typeString": "function () external" + } + }, + "id": 1403, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7843:17:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1404, + "nodeType": "ExpressionStatement", + "src": "7843:17:6" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 1406, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 1476, + "src": "8134:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1405, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8134:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1407, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "8134:13:6" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 1409, + "name": "workerpoolOwner", + "nodeType": "VariableDeclaration", + "scope": 1476, + "src": "8151:23:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1408, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8151:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1410, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "8151:23:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 1420, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + null, + null, + null, + { + "argumentTypes": null, + "id": 1411, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1406, + "src": "8182:5:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + null, + null, + null, + { + "argumentTypes": null, + "id": 1412, + "name": "workerpoolOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1409, + "src": "8191:15:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 1413, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "8178:29:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$__$__$_t_uint256_$__$__$__$_t_address_$", + "typeString": "tuple(,,,uint256,,,,address)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 1416, + "name": "workorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1349, + "src": "8237:9:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4299", + "typeString": "contract WorkOrder" + } + }, + "id": 1417, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_marketorderIdx", + "nodeType": "MemberAccess", + "referencedDeclaration": 4042, + "src": "8237:26:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", + "typeString": "function () view external returns (uint256)" + } + }, + "id": 1418, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8237:28:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 1414, + "name": "marketplace", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 756, + "src": "8210:11:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Marketplace_$3513", + "typeString": "contract Marketplace" + } + }, + "id": 1415, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getMarketOrder", + "nodeType": "MemberAccess", + "referencedDeclaration": 3372, + "src": "8210:26:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_enum$_MarketOrderDirectionEnum_$2809_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$_t_address_$", + "typeString": "function (uint256) view external returns (enum IexecLib.MarketOrderDirectionEnum,uint256,uint256,uint256,uint256,uint256,address,address)" + } + }, + "id": 1419, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8210:56:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_enum$_MarketOrderDirectionEnum_$2809_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$_t_address_$", + "typeString": "tuple(enum IexecLib.MarketOrderDirectionEnum,uint256,uint256,uint256,uint256,uint256,address,address)" + } + }, + "src": "8178:88:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1421, + "nodeType": "ExpressionStatement", + "src": "8178:88:6" + }, + { + "assignments": [ + 1423 + ], + "declarations": [ + { + "constant": false, + "id": 1423, + "name": "workerpoolStake", + "nodeType": "VariableDeclaration", + "scope": 1476, + "src": "8299:23:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1422, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8299:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1430, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 1426, + "name": "marketplace", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 756, + "src": "8342:11:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Marketplace_$3513", + "typeString": "contract Marketplace" + } + }, + "id": 1427, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "ASK_STAKE_RATIO", + "nodeType": "MemberAccess", + "referencedDeclaration": 2914, + "src": "8342:27:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", + "typeString": "function () view external returns (uint256)" + } + }, + "id": 1428, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8342:29:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 1424, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1406, + "src": "8325:5:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1425, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "percentage", + "nodeType": "MemberAccess", + "referencedDeclaration": 3914, + "src": "8325:16:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 1429, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8325:47:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "8299:73:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 1433, + "name": "workorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1349, + "src": "8393:9:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4299", + "typeString": "contract WorkOrder" + } + }, + "id": 1434, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_requester", + "nodeType": "MemberAccess", + "referencedDeclaration": 4050, + "src": "8393:21:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + "id": 1435, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8393:23:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 1438, + "name": "workorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1349, + "src": "8428:9:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4299", + "typeString": "contract WorkOrder" + } + }, + "id": 1439, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_emitcost", + "nodeType": "MemberAccess", + "referencedDeclaration": 4052, + "src": "8428:20:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", + "typeString": "function () view external returns (uint256)" + } + }, + "id": 1440, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8428:22:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 1436, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1406, + "src": "8418:5:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1437, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 3773, + "src": "8418:9:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 1441, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8418:33:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1432, + "name": "unlock", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2435, + "src": "8385:6:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) returns (bool)" + } + }, + "id": 1442, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8385:67:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1431, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "8377:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1443, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8377:76:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1444, + "nodeType": "ExpressionStatement", + "src": "8377:76:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1447, + "name": "workerpoolOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1409, + "src": "8511:15:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1448, + "name": "workerpoolStake", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1423, + "src": "8536:15:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1446, + "name": "seize", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2359, + "src": "8503:5:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) returns (bool)" + } + }, + "id": 1449, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8503:49:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1445, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "8495:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1450, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8495:58:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1451, + "nodeType": "ExpressionStatement", + "src": "8495:58:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1454, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7063, + "src": "8684:4:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHub_$2436", + "typeString": "contract IexecHub" + } + }, + { + "argumentTypes": null, + "id": 1455, + "name": "workerpoolStake", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1423, + "src": "8709:15:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_IexecHub_$2436", + "typeString": "contract IexecHub" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1453, + "name": "reward", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2329, + "src": "8676:6:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) returns (bool)" + } + }, + "id": 1456, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8676:49:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1452, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "8668:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1457, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8668:58:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1458, + "nodeType": "ExpressionStatement", + "src": "8668:58:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1461, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7063, + "src": "8746:4:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHub_$2436", + "typeString": "contract IexecHub" + } + }, + { + "argumentTypes": null, + "id": 1462, + "name": "workerpoolStake", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1423, + "src": "8771:15:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_IexecHub_$2436", + "typeString": "contract IexecHub" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1460, + "name": "lock", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2397, + "src": "8738:4:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) returns (bool)" + } + }, + "id": 1463, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8738:49:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1459, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "8730:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1464, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8730:58:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1465, + "nodeType": "ExpressionStatement", + "src": "8730:58:6" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1467, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1340, + "src": "8815:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 1468, + "name": "workorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1349, + "src": "8822:9:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4299", + "typeString": "contract WorkOrder" + } + }, + "id": 1469, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_workerpool", + "nodeType": "MemberAccess", + "referencedDeclaration": 4048, + "src": "8822:22:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + "id": 1470, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8822:24:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1466, + "name": "WorkOrderClaimed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 826, + "src": "8798:16:6", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address)" + } + }, + "id": 1471, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8798:49:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1472, + "nodeType": "EmitStatement", + "src": "8793:54:6" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 1473, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8858:4:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 1347, + "id": 1474, + "nodeType": "Return", + "src": "8851:11:6" + } + ] + }, + "documentation": "WorkOrder life cycle", + "id": 1476, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "id": 1343, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1340, + "src": "7378:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 1344, + "modifierName": { + "argumentTypes": null, + "id": 1342, + "name": "onlyRegisteredWoid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 808, + "src": "7359:18:6", + "typeDescriptions": { + "typeIdentifier": "t_modifier$_t_address_$", + "typeString": "modifier (address)" + } + }, + "nodeType": "ModifierInvocation", + "src": "7359:25:6" + } + ], + "name": "claimFailedConsensus", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1341, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1340, + "name": "_woid", + "nodeType": "VariableDeclaration", + "scope": 1476, + "src": "7336:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1339, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7336:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7335:15:6" + }, + "payable": false, + "returnParameters": { + "id": 1347, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1346, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1476, + "src": "7394:4:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1345, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "7394:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7393:6:6" + }, + "scope": 2436, + "src": "7306:1560:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1683, + "nodeType": "Block", + "src": "9018:2281:6", + "statements": [ + { + "assignments": [ + 1493 + ], + "declarations": [ + { + "constant": false, + "id": 1493, + "name": "workorder", + "nodeType": "VariableDeclaration", + "scope": 1684, + "src": "9022:19:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4299", + "typeString": "contract WorkOrder" + }, + "typeName": { + "contractScope": null, + "id": 1492, + "name": "WorkOrder", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 4299, + "src": "9022:9:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4299", + "typeString": "contract WorkOrder" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1497, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1495, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1478, + "src": "9054:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1494, + "name": "WorkOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4299, + "src": "9044:9:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_WorkOrder_$4299_$", + "typeString": "type(contract WorkOrder)" + } + }, + "id": 1496, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9044:16:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4299", + "typeString": "contract WorkOrder" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "9022:38:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1504, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 1499, + "name": "workorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1493, + "src": "9072:9:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4299", + "typeString": "contract WorkOrder" + } + }, + "id": 1500, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_workerpool", + "nodeType": "MemberAccess", + "referencedDeclaration": 4048, + "src": "9072:22:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + "id": 1501, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9072:24:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1502, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "9100:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1503, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "9100:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "9072:38:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1498, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "9064:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1505, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9064:47:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1506, + "nodeType": "ExpressionStatement", + "src": "9064:47:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + }, + "id": 1514, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 1508, + "name": "workorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1493, + "src": "9123:9:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4299", + "typeString": "contract WorkOrder" + } + }, + "id": 1509, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_status", + "nodeType": "MemberAccess", + "referencedDeclaration": 4040, + "src": "9123:18:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_enum$_WorkOrderStatusEnum_$2832_$", + "typeString": "function () view external returns (enum IexecLib.WorkOrderStatusEnum)" + } + }, + "id": 1510, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9123:20:6", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1511, + "name": "IexecLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2893, + "src": "9151:8:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecLib_$2893_$", + "typeString": "type(library IexecLib)" + } + }, + "id": 1512, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "WorkOrderStatusEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 2832, + "src": "9151:28:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_WorkOrderStatusEnum_$2832_$", + "typeString": "type(enum IexecLib.WorkOrderStatusEnum)" + } + }, + "id": 1513, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "REVEALING", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "9151:38:6", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "src": "9123:66:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1507, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "9115:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1515, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9115:75:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1516, + "nodeType": "ExpressionStatement", + "src": "9115:75:6" + }, + { + "assignments": [ + 1518 + ], + "declarations": [ + { + "constant": false, + "id": 1518, + "name": "app", + "nodeType": "VariableDeclaration", + "scope": 1684, + "src": "9204:11:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_App_$54", + "typeString": "contract App" + }, + "typeName": { + "contractScope": null, + "id": 1517, + "name": "App", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 54, + "src": "9204:3:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_App_$54", + "typeString": "contract App" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1524, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 1520, + "name": "workorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1493, + "src": "9227:9:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4299", + "typeString": "contract WorkOrder" + } + }, + "id": 1521, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_app", + "nodeType": "MemberAccess", + "referencedDeclaration": 4044, + "src": "9227:15:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + "id": 1522, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9227:17:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1519, + "name": "App", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 54, + "src": "9223:3:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_App_$54_$", + "typeString": "type(contract App)" + } + }, + "id": 1523, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9223:22:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_App_$54", + "typeString": "contract App" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "9204:41:6" + }, + { + "assignments": [ + 1526 + ], + "declarations": [ + { + "constant": false, + "id": 1526, + "name": "appPrice", + "nodeType": "VariableDeclaration", + "scope": 1684, + "src": "9249:16:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1525, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9249:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1530, + "initialValue": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 1527, + "name": "app", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1518, + "src": "9268:3:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_App_$54", + "typeString": "contract App" + } + }, + "id": 1528, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_appPrice", + "nodeType": "MemberAccess", + "referencedDeclaration": 11, + "src": "9268:14:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", + "typeString": "function () view external returns (uint256)" + } + }, + "id": 1529, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9268:16:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "9249:35:6" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1533, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1531, + "name": "appPrice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1526, + "src": "9292:8:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 1532, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9303:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "9292:12:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 1544, + "nodeType": "IfStatement", + "src": "9288:70:6", + "trueBody": { + "id": 1543, + "nodeType": "Block", + "src": "9308:50:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 1536, + "name": "app", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1518, + "src": "9328:3:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_App_$54", + "typeString": "contract App" + } + }, + "id": 1537, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 3681, + "src": "9328:11:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + "id": 1538, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9328:13:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1539, + "name": "appPrice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1526, + "src": "9343:8:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1535, + "name": "reward", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2329, + "src": "9321:6:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) returns (bool)" + } + }, + "id": 1540, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9321:31:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1534, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "9313:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1541, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9313:40:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1542, + "nodeType": "ExpressionStatement", + "src": "9313:40:6" + } + ] + } + }, + { + "assignments": [ + 1546 + ], + "declarations": [ + { + "constant": false, + "id": 1546, + "name": "dataset", + "nodeType": "VariableDeclaration", + "scope": 1684, + "src": "9375:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Dataset_$279", + "typeString": "contract Dataset" + }, + "typeName": { + "contractScope": null, + "id": 1545, + "name": "Dataset", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 279, + "src": "9375:7:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Dataset_$279", + "typeString": "contract Dataset" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1552, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 1548, + "name": "workorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1493, + "src": "9401:9:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4299", + "typeString": "contract WorkOrder" + } + }, + "id": 1549, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_dataset", + "nodeType": "MemberAccess", + "referencedDeclaration": 4046, + "src": "9401:19:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + "id": 1550, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9401:21:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1547, + "name": "Dataset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 279, + "src": "9393:7:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Dataset_$279_$", + "typeString": "type(contract Dataset)" + } + }, + "id": 1551, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9393:30:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Dataset_$279", + "typeString": "contract Dataset" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "9375:48:6" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1557, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1553, + "name": "dataset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1546, + "src": "9431:7:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Dataset_$279", + "typeString": "contract Dataset" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 1555, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9450:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 1554, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "9442:7:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 1556, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9442:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "9431:21:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 1579, + "nodeType": "IfStatement", + "src": "9427:175:6", + "trueBody": { + "id": 1578, + "nodeType": "Block", + "src": "9456:146:6", + "statements": [ + { + "assignments": [ + 1559 + ], + "declarations": [ + { + "constant": false, + "id": 1559, + "name": "datasetPrice", + "nodeType": "VariableDeclaration", + "scope": 1684, + "src": "9461:20:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1558, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9461:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1563, + "initialValue": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 1560, + "name": "dataset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1546, + "src": "9484:7:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Dataset_$279", + "typeString": "contract Dataset" + } + }, + "id": 1561, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_datasetPrice", + "nodeType": "MemberAccess", + "referencedDeclaration": 236, + "src": "9484:22:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", + "typeString": "function () view external returns (uint256)" + } + }, + "id": 1562, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9484:24:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "9461:47:6" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1566, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1564, + "name": "datasetPrice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1559, + "src": "9517:12:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 1565, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9532:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "9517:16:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 1577, + "nodeType": "IfStatement", + "src": "9513:85:6", + "trueBody": { + "id": 1576, + "nodeType": "Block", + "src": "9538:60:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 1569, + "name": "dataset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1546, + "src": "9559:7:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Dataset_$279", + "typeString": "contract Dataset" + } + }, + "id": 1570, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 3681, + "src": "9559:15:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + "id": 1571, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9559:17:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1572, + "name": "datasetPrice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1559, + "src": "9578:12:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1568, + "name": "reward", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2329, + "src": "9552:6:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) returns (bool)" + } + }, + "id": 1573, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9552:39:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1567, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "9544:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1574, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9544:48:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1575, + "nodeType": "ExpressionStatement", + "src": "9544:48:6" + } + ] + } + } + ] + } + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 1581, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 1684, + "src": "10071:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1580, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10071:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1582, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "10071:13:6" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 1584, + "name": "workerpoolOwner", + "nodeType": "VariableDeclaration", + "scope": 1684, + "src": "10088:23:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1583, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "10088:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1585, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "10088:23:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 1595, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + null, + null, + null, + { + "argumentTypes": null, + "id": 1586, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1581, + "src": "10119:5:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + null, + null, + null, + { + "argumentTypes": null, + "id": 1587, + "name": "workerpoolOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1584, + "src": "10128:15:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 1588, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "10115:29:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$__$__$_t_uint256_$__$__$__$_t_address_$", + "typeString": "tuple(,,,uint256,,,,address)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 1591, + "name": "workorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1493, + "src": "10174:9:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4299", + "typeString": "contract WorkOrder" + } + }, + "id": 1592, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_marketorderIdx", + "nodeType": "MemberAccess", + "referencedDeclaration": 4042, + "src": "10174:26:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", + "typeString": "function () view external returns (uint256)" + } + }, + "id": 1593, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10174:28:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 1589, + "name": "marketplace", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 756, + "src": "10147:11:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Marketplace_$3513", + "typeString": "contract Marketplace" + } + }, + "id": 1590, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getMarketOrder", + "nodeType": "MemberAccess", + "referencedDeclaration": 3372, + "src": "10147:26:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_enum$_MarketOrderDirectionEnum_$2809_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$_t_address_$", + "typeString": "function (uint256) view external returns (enum IexecLib.MarketOrderDirectionEnum,uint256,uint256,uint256,uint256,uint256,address,address)" + } + }, + "id": 1594, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10147:56:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_enum$_MarketOrderDirectionEnum_$2809_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$_t_address_$", + "typeString": "tuple(enum IexecLib.MarketOrderDirectionEnum,uint256,uint256,uint256,uint256,uint256,address,address)" + } + }, + "src": "10115:88:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1596, + "nodeType": "ExpressionStatement", + "src": "10115:88:6" + }, + { + "assignments": [ + 1598 + ], + "declarations": [ + { + "constant": false, + "id": 1598, + "name": "workerpoolStake", + "nodeType": "VariableDeclaration", + "scope": 1684, + "src": "10236:23:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1597, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10236:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1605, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 1601, + "name": "marketplace", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 756, + "src": "10285:11:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Marketplace_$3513", + "typeString": "contract Marketplace" + } + }, + "id": 1602, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "ASK_STAKE_RATIO", + "nodeType": "MemberAccess", + "referencedDeclaration": 2914, + "src": "10285:27:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", + "typeString": "function () view external returns (uint256)" + } + }, + "id": 1603, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10285:29:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 1599, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1581, + "src": "10268:5:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1600, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "percentage", + "nodeType": "MemberAccess", + "referencedDeclaration": 3914, + "src": "10268:16:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 1604, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10268:47:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "10236:79:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 1608, + "name": "workorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1493, + "src": "10335:9:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4299", + "typeString": "contract WorkOrder" + } + }, + "id": 1609, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_requester", + "nodeType": "MemberAccess", + "referencedDeclaration": 4050, + "src": "10335:21:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + "id": 1610, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10335:23:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 1613, + "name": "workorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1493, + "src": "10370:9:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4299", + "typeString": "contract WorkOrder" + } + }, + "id": 1614, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_emitcost", + "nodeType": "MemberAccess", + "referencedDeclaration": 4052, + "src": "10370:20:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", + "typeString": "function () view external returns (uint256)" + } + }, + "id": 1615, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10370:22:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 1611, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1581, + "src": "10360:5:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1612, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 3773, + "src": "10360:9:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 1616, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10360:33:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1607, + "name": "seize", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2359, + "src": "10328:5:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) returns (bool)" + } + }, + "id": 1617, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10328:66:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1606, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "10320:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1618, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10320:75:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1619, + "nodeType": "ExpressionStatement", + "src": "10320:75:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1622, + "name": "workerpoolOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1584, + "src": "10467:15:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1623, + "name": "workerpoolStake", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1598, + "src": "10492:15:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1621, + "name": "unlock", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2435, + "src": "10460:6:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) returns (bool)" + } + }, + "id": 1624, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10460:48:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1620, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "10452:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1625, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10452:57:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1626, + "nodeType": "ExpressionStatement", + "src": "10452:57:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1630, + "name": "_stdout", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1480, + "src": "10579:7:6", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "id": 1631, + "name": "_stderr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1482, + "src": "10588:7:6", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "id": 1632, + "name": "_uri", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1484, + "src": "10597:4:6", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "argumentTypes": null, + "id": 1627, + "name": "workorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1493, + "src": "10559:9:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4299", + "typeString": "contract WorkOrder" + } + }, + "id": 1629, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "setResult", + "nodeType": "MemberAccess", + "referencedDeclaration": 4298, + "src": "10559:19:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory,string memory,string memory) external" + } + }, + "id": 1633, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10559:43:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1634, + "nodeType": "ExpressionStatement", + "src": "10559:43:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 1640, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 1635, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1581, + "src": "10950:5:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1636, + "name": "m_accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 792, + "src": "10958:10:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$2878_storage_$", + "typeString": "mapping(address => struct IexecLib.Account storage ref)" + } + }, + "id": 1638, + "indexExpression": { + "argumentTypes": null, + "id": 1637, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7063, + "src": "10969:4:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHub_$2436", + "typeString": "contract IexecHub" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10958:16:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Account_$2878_storage", + "typeString": "struct IexecLib.Account storage ref" + } + }, + "id": 1639, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "locked", + "nodeType": "MemberAccess", + "referencedDeclaration": 2877, + "src": "10958:23:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10950:31:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1641, + "nodeType": "ExpressionStatement", + "src": "10950:31:6" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1644, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1642, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1581, + "src": "11024:5:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 1643, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11032:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "11024:9:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 1673, + "nodeType": "IfStatement", + "src": "11021:199:6", + "trueBody": { + "id": 1672, + "nodeType": "Block", + "src": "11037:183:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 1656, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 1645, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1581, + "src": "11042:5:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1653, + "name": "STAKE_BONUS_MIN_THRESHOLD", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 745, + "src": "11100:25:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1650, + "name": "STAKE_BONUS_RATIO", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 742, + "src": "11077:17:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 1648, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1581, + "src": "11060:5:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1649, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "percentage", + "nodeType": "MemberAccess", + "referencedDeclaration": 3914, + "src": "11060:16:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 1651, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11060:35:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1652, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "max", + "nodeType": "MemberAccess", + "referencedDeclaration": 3861, + "src": "11060:39:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 1654, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11060:66:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 1646, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1581, + "src": "11050:5:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1647, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "min", + "nodeType": "MemberAccess", + "referencedDeclaration": 3878, + "src": "11050:9:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 1655, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11050:77:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11042:85:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1657, + "nodeType": "ExpressionStatement", + "src": "11042:85:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1660, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7063, + "src": "11146:4:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHub_$2436", + "typeString": "contract IexecHub" + } + }, + { + "argumentTypes": null, + "id": 1661, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1581, + "src": "11164:5:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_IexecHub_$2436", + "typeString": "contract IexecHub" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1659, + "name": "seize", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2359, + "src": "11140:5:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) returns (bool)" + } + }, + "id": 1662, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11140:30:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1658, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "11132:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1663, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11132:39:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1664, + "nodeType": "ExpressionStatement", + "src": "11132:39:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1667, + "name": "workerpoolOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1584, + "src": "11191:15:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1668, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1581, + "src": "11208:5:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1666, + "name": "reward", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2329, + "src": "11184:6:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) returns (bool)" + } + }, + "id": 1669, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11184:30:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1665, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "11176:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1670, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11176:39:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1671, + "nodeType": "ExpressionStatement", + "src": "11176:39:6" + } + ] + } + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1675, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1478, + "src": "11248:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 1676, + "name": "workorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1493, + "src": "11255:9:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4299", + "typeString": "contract WorkOrder" + } + }, + "id": 1677, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_workerpool", + "nodeType": "MemberAccess", + "referencedDeclaration": 4048, + "src": "11255:22:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + "id": 1678, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11255:24:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1674, + "name": "WorkOrderCompleted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 832, + "src": "11229:18:6", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address)" + } + }, + "id": 1679, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11229:51:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1680, + "nodeType": "EmitStatement", + "src": "11224:56:6" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 1681, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11291:4:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 1491, + "id": 1682, + "nodeType": "Return", + "src": "11284:11:6" + } + ] + }, + "documentation": null, + "id": 1684, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "id": 1487, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1478, + "src": "8995:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 1488, + "modifierName": { + "argumentTypes": null, + "id": 1486, + "name": "onlyRegisteredWoid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 808, + "src": "8976:18:6", + "typeDescriptions": { + "typeIdentifier": "t_modifier$_t_address_$", + "typeString": "modifier (address)" + } + }, + "nodeType": "ModifierInvocation", + "src": "8976:25:6" + } + ], + "name": "finalizeWorkOrder", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1485, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1478, + "name": "_woid", + "nodeType": "VariableDeclaration", + "scope": 1684, + "src": "8899:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1477, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8899:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1480, + "name": "_stdout", + "nodeType": "VariableDeclaration", + "scope": 1684, + "src": "8916:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 1479, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "8916:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1482, + "name": "_stderr", + "nodeType": "VariableDeclaration", + "scope": 1684, + "src": "8935:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 1481, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "8935:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1484, + "name": "_uri", + "nodeType": "VariableDeclaration", + "scope": 1684, + "src": "8954:12:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 1483, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "8954:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8895:72:6" + }, + "payable": false, + "returnParameters": { + "id": 1491, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1490, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1684, + "src": "9011:4:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1489, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "9011:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "9010:6:6" + }, + "scope": 2436, + "src": "8869:2430:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1702, + "nodeType": "Block", + "src": "11423:89:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1693, + "name": "_catId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1686, + "src": "11452:6:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1692, + "name": "existingCategory", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1718, + "src": "11435:16:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view returns (bool)" + } + }, + "id": 1694, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11435:24:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1691, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "11427:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1695, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11427:33:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1696, + "nodeType": "ExpressionStatement", + "src": "11427:33:6" + }, + { + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1697, + "name": "m_categories", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 773, + "src": "11471:12:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Category_$2892_storage_$", + "typeString": "mapping(uint256 => struct IexecLib.Category storage ref)" + } + }, + "id": 1699, + "indexExpression": { + "argumentTypes": null, + "id": 1698, + "name": "_catId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1686, + "src": "11484:6:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11471:20:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Category_$2892_storage", + "typeString": "struct IexecLib.Category storage ref" + } + }, + "id": 1700, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "workClockTimeRef", + "nodeType": "MemberAccess", + "referencedDeclaration": 2891, + "src": "11471:37:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 1690, + "id": 1701, + "nodeType": "Return", + "src": "11464:44:6" + } + ] + }, + "documentation": "Views", + "id": 1703, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getCategoryWorkClockTimeRef", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1687, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1686, + "name": "_catId", + "nodeType": "VariableDeclaration", + "scope": 1703, + "src": "11359:14:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1685, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11359:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "11358:16:6" + }, + "payable": false, + "returnParameters": { + "id": 1690, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1689, + "name": "workClockTimeRef", + "nodeType": "VariableDeclaration", + "scope": 1703, + "src": "11396:24:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1688, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11396:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "11395:26:6" + }, + "scope": 2436, + "src": "11322:190:6", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1717, + "nodeType": "Block", + "src": "11600:45:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1715, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1710, + "name": "m_categories", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 773, + "src": "11611:12:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Category_$2892_storage_$", + "typeString": "mapping(uint256 => struct IexecLib.Category storage ref)" + } + }, + "id": 1712, + "indexExpression": { + "argumentTypes": null, + "id": 1711, + "name": "_catId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1705, + "src": "11624:6:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11611:20:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Category_$2892_storage", + "typeString": "struct IexecLib.Category storage ref" + } + }, + "id": 1713, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "catid", + "nodeType": "MemberAccess", + "referencedDeclaration": 2885, + "src": "11611:26:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 1714, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11640:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "11611:30:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 1709, + "id": 1716, + "nodeType": "Return", + "src": "11604:37:6" + } + ] + }, + "documentation": null, + "id": 1718, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "existingCategory", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1706, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1705, + "name": "_catId", + "nodeType": "VariableDeclaration", + "scope": 1718, + "src": "11541:14:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1704, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11541:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "11540:16:6" + }, + "payable": false, + "returnParameters": { + "id": 1709, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1708, + "name": "categoryExist", + "nodeType": "VariableDeclaration", + "scope": 1718, + "src": "11579:18:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1707, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "11579:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "11578:20:6" + }, + "scope": 2436, + "src": "11515:130:6", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1755, + "nodeType": "Block", + "src": "11782:196:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1733, + "name": "_catId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1720, + "src": "11811:6:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1732, + "name": "existingCategory", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1718, + "src": "11794:16:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view returns (bool)" + } + }, + "id": 1734, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11794:24:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1731, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "11786:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1735, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11786:33:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1736, + "nodeType": "ExpressionStatement", + "src": "11786:33:6" + }, + { + "expression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1737, + "name": "m_categories", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 773, + "src": "11835:12:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Category_$2892_storage_$", + "typeString": "mapping(uint256 => struct IexecLib.Category storage ref)" + } + }, + "id": 1739, + "indexExpression": { + "argumentTypes": null, + "id": 1738, + "name": "_catId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1720, + "src": "11848:6:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11835:20:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Category_$2892_storage", + "typeString": "struct IexecLib.Category storage ref" + } + }, + "id": 1740, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "catid", + "nodeType": "MemberAccess", + "referencedDeclaration": 2885, + "src": "11835:26:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1741, + "name": "m_categories", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 773, + "src": "11866:12:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Category_$2892_storage_$", + "typeString": "mapping(uint256 => struct IexecLib.Category storage ref)" + } + }, + "id": 1743, + "indexExpression": { + "argumentTypes": null, + "id": 1742, + "name": "_catId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1720, + "src": "11879:6:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11866:20:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Category_$2892_storage", + "typeString": "struct IexecLib.Category storage ref" + } + }, + "id": 1744, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "name", + "nodeType": "MemberAccess", + "referencedDeclaration": 2887, + "src": "11866:25:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1745, + "name": "m_categories", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 773, + "src": "11896:12:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Category_$2892_storage_$", + "typeString": "mapping(uint256 => struct IexecLib.Category storage ref)" + } + }, + "id": 1747, + "indexExpression": { + "argumentTypes": null, + "id": 1746, + "name": "_catId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1720, + "src": "11909:6:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11896:20:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Category_$2892_storage", + "typeString": "struct IexecLib.Category storage ref" + } + }, + "id": 1748, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "description", + "nodeType": "MemberAccess", + "referencedDeclaration": 2889, + "src": "11896:32:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1749, + "name": "m_categories", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 773, + "src": "11933:12:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Category_$2892_storage_$", + "typeString": "mapping(uint256 => struct IexecLib.Category storage ref)" + } + }, + "id": 1751, + "indexExpression": { + "argumentTypes": null, + "id": 1750, + "name": "_catId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1720, + "src": "11946:6:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11933:20:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Category_$2892_storage", + "typeString": "struct IexecLib.Category storage ref" + } + }, + "id": 1752, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "workClockTimeRef", + "nodeType": "MemberAccess", + "referencedDeclaration": 2891, + "src": "11933:37:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 1753, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "11830:144:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_string_storage_$_t_string_storage_$_t_uint256_$", + "typeString": "tuple(uint256,string storage ref,string storage ref,uint256)" + } + }, + "functionReturnParameters": 1730, + "id": 1754, + "nodeType": "Return", + "src": "11823:151:6" + } + ] + }, + "documentation": null, + "id": 1756, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getCategory", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1721, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1720, + "name": "_catId", + "nodeType": "VariableDeclaration", + "scope": 1756, + "src": "11669:14:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1719, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11669:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "11668:16:6" + }, + "payable": false, + "returnParameters": { + "id": 1730, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1723, + "name": "catid", + "nodeType": "VariableDeclaration", + "scope": 1756, + "src": "11706:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1722, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11706:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1725, + "name": "name", + "nodeType": "VariableDeclaration", + "scope": 1756, + "src": "11721:11:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 1724, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "11721:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1727, + "name": "description", + "nodeType": "VariableDeclaration", + "scope": 1756, + "src": "11734:19:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 1726, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "11734:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1729, + "name": "workClockTimeRef", + "nodeType": "VariableDeclaration", + "scope": 1756, + "src": "11755:24:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1728, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11755:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "11705:75:6" + }, + "scope": 2436, + "src": "11648:330:6", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1774, + "nodeType": "Block", + "src": "12086:79:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1767, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1758, + "src": "12133:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 1765, + "name": "workerPoolHub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 754, + "src": "12098:13:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkerPoolHub_$6349", + "typeString": "contract WorkerPoolHub" + } + }, + "id": 1766, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getWorkerAffectation", + "nodeType": "MemberAccess", + "referencedDeclaration": 6199, + "src": "12098:34:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_address_$", + "typeString": "function (address) view external returns (address)" + } + }, + "id": 1768, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12098:43:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1769, + "name": "m_scores", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 812, + "src": "12143:8:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 1771, + "indexExpression": { + "argumentTypes": null, + "id": 1770, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1758, + "src": "12152:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12143:17:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 1772, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "12097:64:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_address_$_t_uint256_$", + "typeString": "tuple(address,uint256)" + } + }, + "functionReturnParameters": 1764, + "id": 1773, + "nodeType": "Return", + "src": "12090:71:6" + } + ] + }, + "documentation": null, + "id": 1775, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getWorkerStatus", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1759, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1758, + "name": "_worker", + "nodeType": "VariableDeclaration", + "scope": 1775, + "src": "12006:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1757, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "12006:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "12005:17:6" + }, + "payable": false, + "returnParameters": { + "id": 1764, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1761, + "name": "workerPool", + "nodeType": "VariableDeclaration", + "scope": 1775, + "src": "12044:18:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1760, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "12044:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1763, + "name": "workerScore", + "nodeType": "VariableDeclaration", + "scope": 1775, + "src": "12064:19:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1762, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "12064:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "12043:41:6" + }, + "scope": 2436, + "src": "11981:184:6", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1786, + "nodeType": "Block", + "src": "12252:32:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1782, + "name": "m_scores", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 812, + "src": "12263:8:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 1784, + "indexExpression": { + "argumentTypes": null, + "id": 1783, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1777, + "src": "12272:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12263:17:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 1781, + "id": 1785, + "nodeType": "Return", + "src": "12256:24:6" + } + ] + }, + "documentation": null, + "id": 1787, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getWorkerScore", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1778, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1777, + "name": "_worker", + "nodeType": "VariableDeclaration", + "scope": 1787, + "src": "12192:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1776, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "12192:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "12191:17:6" + }, + "payable": false, + "returnParameters": { + "id": 1781, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1780, + "name": "workerScore", + "nodeType": "VariableDeclaration", + "scope": 1787, + "src": "12230:19:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1779, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "12230:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "12229:21:6" + }, + "scope": 2436, + "src": "12168:116:6", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1856, + "nodeType": "Block", + "src": "12424:628:6", + "statements": [ + { + "assignments": [ + 1795 + ], + "declarations": [ + { + "constant": false, + "id": 1795, + "name": "workerpool", + "nodeType": "VariableDeclaration", + "scope": 1857, + "src": "12428:21:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkerPool_$6097", + "typeString": "contract WorkerPool" + }, + "typeName": { + "contractScope": null, + "id": 1794, + "name": "WorkerPool", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 6097, + "src": "12428:10:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkerPool_$6097", + "typeString": "contract WorkerPool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1800, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1797, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "12463:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1798, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "12463:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1796, + "name": "WorkerPool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6097, + "src": "12452:10:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_WorkerPool_$6097_$", + "typeString": "type(contract WorkerPool)" + } + }, + "id": 1799, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12452:22:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkerPool_$6097", + "typeString": "contract WorkerPool" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "12428:46:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1804, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "12546:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1805, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "12546:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 1802, + "name": "workerPoolHub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 754, + "src": "12509:13:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkerPoolHub_$6349", + "typeString": "contract WorkerPoolHub" + } + }, + "id": 1803, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "isWorkerPoolRegistered", + "nodeType": "MemberAccess", + "referencedDeclaration": 6147, + "src": "12509:36:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_bool_$", + "typeString": "function (address) view external returns (bool)" + } + }, + "id": 1806, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12509:48:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1801, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "12501:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1807, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12501:57:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1808, + "nodeType": "ExpressionStatement", + "src": "12501:57:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1811, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1789, + "src": "12600:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 1812, + "name": "workerpool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1795, + "src": "12609:10:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkerPool_$6097", + "typeString": "contract WorkerPool" + } + }, + "id": 1813, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_subscriptionLockStakePolicy", + "nodeType": "MemberAccess", + "referencedDeclaration": 4326, + "src": "12609:40:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", + "typeString": "function () view external returns (uint256)" + } + }, + "id": 1814, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12609:42:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1810, + "name": "lock", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2397, + "src": "12595:4:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) returns (bool)" + } + }, + "id": 1815, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12595:57:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1809, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "12587:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1816, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12587:66:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1817, + "nodeType": "ExpressionStatement", + "src": "12587:66:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1826, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1819, + "name": "m_accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 792, + "src": "12696:10:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$2878_storage_$", + "typeString": "mapping(address => struct IexecLib.Account storage ref)" + } + }, + "id": 1821, + "indexExpression": { + "argumentTypes": null, + "id": 1820, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1789, + "src": "12707:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12696:19:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Account_$2878_storage", + "typeString": "struct IexecLib.Account storage ref" + } + }, + "id": 1822, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "stake", + "nodeType": "MemberAccess", + "referencedDeclaration": 2875, + "src": "12696:25:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 1823, + "name": "workerpool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1795, + "src": "12725:10:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkerPool_$6097", + "typeString": "contract WorkerPool" + } + }, + "id": 1824, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_subscriptionMinimumStakePolicy", + "nodeType": "MemberAccess", + "referencedDeclaration": 4328, + "src": "12725:43:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", + "typeString": "function () view external returns (uint256)" + } + }, + "id": 1825, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12725:45:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12696:74:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1818, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "12688:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1827, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12688:83:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1828, + "nodeType": "ExpressionStatement", + "src": "12688:83:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1836, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1830, + "name": "m_scores", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 812, + "src": "12783:8:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 1832, + "indexExpression": { + "argumentTypes": null, + "id": 1831, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1789, + "src": "12792:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12783:17:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 1833, + "name": "workerpool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1795, + "src": "12812:10:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkerPool_$6097", + "typeString": "contract WorkerPool" + } + }, + "id": 1834, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_subscriptionMinimumScorePolicy", + "nodeType": "MemberAccess", + "referencedDeclaration": 4330, + "src": "12812:43:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", + "typeString": "function () view external returns (uint256)" + } + }, + "id": 1835, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12812:45:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12783:74:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1829, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "12775:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1837, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12775:83:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1838, + "nodeType": "ExpressionStatement", + "src": "12775:83:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1842, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "12934:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1843, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "12934:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1844, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1789, + "src": "12946:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 1840, + "name": "workerPoolHub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 754, + "src": "12894:13:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkerPoolHub_$6349", + "typeString": "contract WorkerPoolHub" + } + }, + "id": 1841, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "registerWorkerAffectation", + "nodeType": "MemberAccess", + "referencedDeclaration": 6318, + "src": "12894:39:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$returns$_t_bool_$", + "typeString": "function (address,address) external returns (bool)" + } + }, + "id": 1845, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12894:60:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1839, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "12886:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1846, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12886:69:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1847, + "nodeType": "ExpressionStatement", + "src": "12886:69:6" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1849, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "13013:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1850, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "13013:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1851, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1789, + "src": "13025:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1848, + "name": "WorkerPoolSubscription", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 880, + "src": "12990:22:6", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address)" + } + }, + "id": 1852, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12990:43:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1853, + "nodeType": "EmitStatement", + "src": "12985:48:6" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 1854, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13044:4:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 1793, + "id": 1855, + "nodeType": "Return", + "src": "13037:11:6" + } + ] + }, + "documentation": "Worker subscription", + "id": 1857, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "registerToPool", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1790, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1789, + "name": "_worker", + "nodeType": "VariableDeclaration", + "scope": 1857, + "src": "12345:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1788, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "12345:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "12344:17:6" + }, + "payable": false, + "returnParameters": { + "id": 1793, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1792, + "name": "subscribed", + "nodeType": "VariableDeclaration", + "scope": 1857, + "src": "12378:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1791, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "12378:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "12377:17:6" + }, + "scope": 2436, + "src": "12321:731:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1880, + "nodeType": "Block", + "src": "13164:145:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1866, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "13189:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1867, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "13189:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1868, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1859, + "src": "13201:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1865, + "name": "removeWorker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1947, + "src": "13176:12:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$returns$_t_bool_$", + "typeString": "function (address,address) returns (bool)" + } + }, + "id": 1869, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13176:33:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1864, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "13168:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1870, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13168:42:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1871, + "nodeType": "ExpressionStatement", + "src": "13168:42:6" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1873, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "13270:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1874, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "13270:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1875, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1859, + "src": "13282:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1872, + "name": "WorkerPoolUnsubscription", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 886, + "src": "13245:24:6", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address)" + } + }, + "id": 1876, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13245:45:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1877, + "nodeType": "EmitStatement", + "src": "13240:50:6" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 1878, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13301:4:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 1863, + "id": 1879, + "nodeType": "Return", + "src": "13294:11:6" + } + ] + }, + "documentation": null, + "id": 1881, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "unregisterFromPool", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1860, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1859, + "name": "_worker", + "nodeType": "VariableDeclaration", + "scope": 1881, + "src": "13083:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1858, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "13083:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "13082:17:6" + }, + "payable": false, + "returnParameters": { + "id": 1863, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1862, + "name": "unsubscribed", + "nodeType": "VariableDeclaration", + "scope": 1881, + "src": "13116:17:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1861, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "13116:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "13115:19:6" + }, + "scope": 2436, + "src": "13055:254:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1904, + "nodeType": "Block", + "src": "13414:139:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1890, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "13439:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1891, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "13439:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1892, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1883, + "src": "13451:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1889, + "name": "removeWorker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1947, + "src": "13426:12:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$returns$_t_bool_$", + "typeString": "function (address,address) returns (bool)" + } + }, + "id": 1893, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13426:33:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1888, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "13418:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1894, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13418:42:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1895, + "nodeType": "ExpressionStatement", + "src": "13418:42:6" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1897, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "13514:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1898, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "13514:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1899, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1883, + "src": "13526:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1896, + "name": "WorkerPoolEviction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 892, + "src": "13495:18:6", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address)" + } + }, + "id": 1900, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13495:39:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1901, + "nodeType": "EmitStatement", + "src": "13490:44:6" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 1902, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13545:4:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 1887, + "id": 1903, + "nodeType": "Return", + "src": "13538:11:6" + } + ] + }, + "documentation": null, + "id": 1905, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "evictWorker", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1884, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1883, + "name": "_worker", + "nodeType": "VariableDeclaration", + "scope": 1905, + "src": "13333:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1882, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "13333:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "13332:17:6" + }, + "payable": false, + "returnParameters": { + "id": 1887, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1886, + "name": "unsubscribed", + "nodeType": "VariableDeclaration", + "scope": 1905, + "src": "13366:17:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1885, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "13366:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "13365:19:6" + }, + "scope": 2436, + "src": "13312:241:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1946, + "nodeType": "Block", + "src": "13654:352:6", + "statements": [ + { + "assignments": [ + 1915 + ], + "declarations": [ + { + "constant": false, + "id": 1915, + "name": "workerpool", + "nodeType": "VariableDeclaration", + "scope": 1947, + "src": "13658:21:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkerPool_$6097", + "typeString": "contract WorkerPool" + }, + "typeName": { + "contractScope": null, + "id": 1914, + "name": "WorkerPool", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 6097, + "src": "13658:10:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkerPool_$6097", + "typeString": "contract WorkerPool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1919, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1917, + "name": "_workerpool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1907, + "src": "13693:11:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1916, + "name": "WorkerPool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6097, + "src": "13682:10:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_WorkerPool_$6097_$", + "typeString": "type(contract WorkerPool)" + } + }, + "id": 1918, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13682:23:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkerPool_$6097", + "typeString": "contract WorkerPool" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "13658:47:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1923, + "name": "_workerpool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1907, + "src": "13777:11:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 1921, + "name": "workerPoolHub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 754, + "src": "13740:13:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkerPoolHub_$6349", + "typeString": "contract WorkerPoolHub" + } + }, + "id": 1922, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "isWorkerPoolRegistered", + "nodeType": "MemberAccess", + "referencedDeclaration": 6147, + "src": "13740:36:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_bool_$", + "typeString": "function (address) view external returns (bool)" + } + }, + "id": 1924, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13740:49:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1920, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "13732:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1925, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13732:58:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1926, + "nodeType": "ExpressionStatement", + "src": "13732:58:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1929, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1909, + "src": "13834:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 1930, + "name": "workerpool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1915, + "src": "13843:10:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkerPool_$6097", + "typeString": "contract WorkerPool" + } + }, + "id": 1931, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_subscriptionLockStakePolicy", + "nodeType": "MemberAccess", + "referencedDeclaration": 4326, + "src": "13843:40:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", + "typeString": "function () view external returns (uint256)" + } + }, + "id": 1932, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13843:42:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1928, + "name": "unlock", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2435, + "src": "13827:6:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) returns (bool)" + } + }, + "id": 1933, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13827:59:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1927, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "13819:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1934, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13819:68:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1935, + "nodeType": "ExpressionStatement", + "src": "13819:68:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1939, + "name": "_workerpool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1907, + "src": "13965:11:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1940, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1909, + "src": "13978:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 1937, + "name": "workerPoolHub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 754, + "src": "13923:13:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkerPoolHub_$6349", + "typeString": "contract WorkerPoolHub" + } + }, + "id": 1938, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "unregisterWorkerAffectation", + "nodeType": "MemberAccess", + "referencedDeclaration": 6348, + "src": "13923:41:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$returns$_t_bool_$", + "typeString": "function (address,address) external returns (bool)" + } + }, + "id": 1941, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13923:63:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1936, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "13915:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1942, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13915:72:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1943, + "nodeType": "ExpressionStatement", + "src": "13915:72:6" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 1944, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13998:4:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 1913, + "id": 1945, + "nodeType": "Return", + "src": "13991:11:6" + } + ] + }, + "documentation": null, + "id": 1947, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "removeWorker", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1910, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1907, + "name": "_workerpool", + "nodeType": "VariableDeclaration", + "scope": 1947, + "src": "13578:19:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1906, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "13578:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1909, + "name": "_worker", + "nodeType": "VariableDeclaration", + "scope": 1947, + "src": "13599:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1908, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "13599:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "13577:38:6" + }, + "payable": false, + "returnParameters": { + "id": 1913, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1912, + "name": "unsubscribed", + "nodeType": "VariableDeclaration", + "scope": 1947, + "src": "13634:17:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1911, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "13634:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "13633:19:6" + }, + "scope": 2436, + "src": "13556:450:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 1967, + "nodeType": "Block", + "src": "14171:52:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1960, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1949, + "src": "14188:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1961, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1951, + "src": "14195:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1959, + "name": "lock", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2397, + "src": "14183:4:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) returns (bool)" + } + }, + "id": 1962, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14183:20:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1958, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "14175:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1963, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14175:29:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1964, + "nodeType": "ExpressionStatement", + "src": "14175:29:6" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 1965, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14215:4:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 1957, + "id": 1966, + "nodeType": "Return", + "src": "14208:11:6" + } + ] + }, + "documentation": "Stake, reward and penalty functions", + "id": 1968, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 1954, + "modifierName": { + "argumentTypes": null, + "id": 1953, + "name": "onlyMarketplace", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 769, + "src": "14139:15:6", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "14139:15:6" + } + ], + "name": "lockForOrder", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1952, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1949, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 1968, + "src": "14100:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1948, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "14100:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1951, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 1968, + "src": "14115:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1950, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "14115:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "14099:32:6" + }, + "payable": false, + "returnParameters": { + "id": 1957, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1956, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1968, + "src": "14164:4:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1955, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "14164:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "14163:6:6" + }, + "scope": 2436, + "src": "14078:145:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1988, + "nodeType": "Block", + "src": "14321:54:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1981, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1970, + "src": "14340:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1982, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1972, + "src": "14347:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1980, + "name": "unlock", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2435, + "src": "14333:6:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) returns (bool)" + } + }, + "id": 1983, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14333:22:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1979, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "14325:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1984, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14325:31:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1985, + "nodeType": "ExpressionStatement", + "src": "14325:31:6" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 1986, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14367:4:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 1978, + "id": 1987, + "nodeType": "Return", + "src": "14360:11:6" + } + ] + }, + "documentation": null, + "id": 1989, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 1975, + "modifierName": { + "argumentTypes": null, + "id": 1974, + "name": "onlyMarketplace", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 769, + "src": "14289:15:6", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "14289:15:6" + } + ], + "name": "unlockForOrder", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1973, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1970, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 1989, + "src": "14249:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1969, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "14249:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1972, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 1989, + "src": "14264:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1971, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "14264:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "14248:32:6" + }, + "payable": false, + "returnParameters": { + "id": 1978, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1977, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1989, + "src": "14314:4:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1976, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "14314:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "14313:6:6" + }, + "scope": 2436, + "src": "14225:150:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 2023, + "nodeType": "Block", + "src": "14506:110:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 2011, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2005, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1991, + "src": "14528:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2004, + "name": "WorkOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4299, + "src": "14518:9:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_WorkOrder_$4299_$", + "typeString": "type(contract WorkOrder)" + } + }, + "id": 2006, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14518:16:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4299", + "typeString": "contract WorkOrder" + } + }, + "id": 2007, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_workerpool", + "nodeType": "MemberAccess", + "referencedDeclaration": 4048, + "src": "14518:29:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + "id": 2008, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14518:31:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2009, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "14553:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2010, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "14553:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "14518:45:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2003, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "14510:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2012, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14510:54:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2013, + "nodeType": "ExpressionStatement", + "src": "14510:54:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2016, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1993, + "src": "14581:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 2017, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1995, + "src": "14588:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2015, + "name": "lock", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2397, + "src": "14576:4:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) returns (bool)" + } + }, + "id": 2018, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14576:20:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2014, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "14568:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2019, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14568:29:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2020, + "nodeType": "ExpressionStatement", + "src": "14568:29:6" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 2021, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14608:4:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 2002, + "id": 2022, + "nodeType": "Return", + "src": "14601:11:6" + } + ] + }, + "documentation": null, + "id": 2024, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "id": 1998, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1991, + "src": "14483:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 1999, + "modifierName": { + "argumentTypes": null, + "id": 1997, + "name": "onlyRegisteredWoid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 808, + "src": "14464:18:6", + "typeDescriptions": { + "typeIdentifier": "t_modifier$_t_address_$", + "typeString": "modifier (address)" + } + }, + "nodeType": "ModifierInvocation", + "src": "14464:25:6" + } + ], + "name": "lockForWork", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1996, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1991, + "name": "_woid", + "nodeType": "VariableDeclaration", + "scope": 2024, + "src": "14410:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1990, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "14410:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1993, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 2024, + "src": "14425:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1992, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "14425:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1995, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 2024, + "src": "14440:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1994, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "14440:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "14409:47:6" + }, + "payable": false, + "returnParameters": { + "id": 2002, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2001, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2024, + "src": "14499:4:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2000, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "14499:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "14498:6:6" + }, + "scope": 2436, + "src": "14389:227:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 2058, + "nodeType": "Block", + "src": "14737:112:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 2046, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2040, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2026, + "src": "14759:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2039, + "name": "WorkOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4299, + "src": "14749:9:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_WorkOrder_$4299_$", + "typeString": "type(contract WorkOrder)" + } + }, + "id": 2041, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14749:16:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4299", + "typeString": "contract WorkOrder" + } + }, + "id": 2042, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_workerpool", + "nodeType": "MemberAccess", + "referencedDeclaration": 4048, + "src": "14749:29:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + "id": 2043, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14749:31:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2044, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "14784:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2045, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "14784:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "14749:45:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2038, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "14741:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2047, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14741:54:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2048, + "nodeType": "ExpressionStatement", + "src": "14741:54:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2051, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2028, + "src": "14814:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 2052, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2030, + "src": "14821:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2050, + "name": "unlock", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2435, + "src": "14807:6:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) returns (bool)" + } + }, + "id": 2053, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14807:22:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2049, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "14799:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2054, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14799:31:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2055, + "nodeType": "ExpressionStatement", + "src": "14799:31:6" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 2056, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14841:4:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 2037, + "id": 2057, + "nodeType": "Return", + "src": "14834:11:6" + } + ] + }, + "documentation": null, + "id": 2059, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "id": 2033, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2026, + "src": "14714:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 2034, + "modifierName": { + "argumentTypes": null, + "id": 2032, + "name": "onlyRegisteredWoid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 808, + "src": "14695:18:6", + "typeDescriptions": { + "typeIdentifier": "t_modifier$_t_address_$", + "typeString": "modifier (address)" + } + }, + "nodeType": "ModifierInvocation", + "src": "14695:25:6" + } + ], + "name": "unlockForWork", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2031, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2026, + "name": "_woid", + "nodeType": "VariableDeclaration", + "scope": 2059, + "src": "14641:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2025, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "14641:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2028, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 2059, + "src": "14656:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2027, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "14656:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2030, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 2059, + "src": "14671:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2029, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "14671:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "14640:47:6" + }, + "payable": false, + "returnParameters": { + "id": 2037, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2036, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2059, + "src": "14730:4:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2035, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "14730:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "14729:6:6" + }, + "scope": 2436, + "src": "14618:231:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 2124, + "nodeType": "Block", + "src": "14990:309:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 2083, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2077, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2061, + "src": "15012:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2076, + "name": "WorkOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4299, + "src": "15002:9:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_WorkOrder_$4299_$", + "typeString": "type(contract WorkOrder)" + } + }, + "id": 2078, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15002:16:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4299", + "typeString": "contract WorkOrder" + } + }, + "id": 2079, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_workerpool", + "nodeType": "MemberAccess", + "referencedDeclaration": 4048, + "src": "15002:29:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + "id": 2080, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15002:31:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2081, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "15037:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2082, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "15037:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "15002:45:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2075, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "14994:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2084, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14994:54:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2085, + "nodeType": "ExpressionStatement", + "src": "14994:54:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2088, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2063, + "src": "15067:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 2089, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2065, + "src": "15076:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2087, + "name": "reward", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2329, + "src": "15060:6:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) returns (bool)" + } + }, + "id": 2090, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15060:24:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2086, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "15052:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2091, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15052:33:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2092, + "nodeType": "ExpressionStatement", + "src": "15052:33:6" + }, + { + "condition": { + "argumentTypes": null, + "id": 2093, + "name": "_reputation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2067, + "src": "15093:11:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 2121, + "nodeType": "IfStatement", + "src": "15089:192:6", + "trueBody": { + "id": 2120, + "nodeType": "Block", + "src": "15108:173:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 2102, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2094, + "name": "m_contributionHistory", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 814, + "src": "15113:21:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ContributionHistory_$2883_storage", + "typeString": "struct IexecLib.ContributionHistory storage ref" + } + }, + "id": 2096, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "success", + "nodeType": "MemberAccess", + "referencedDeclaration": 2880, + "src": "15113:29:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31", + "id": 2100, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15179:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2097, + "name": "m_contributionHistory", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 814, + "src": "15145:21:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ContributionHistory_$2883_storage", + "typeString": "struct IexecLib.ContributionHistory storage ref" + } + }, + "id": 2098, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "success", + "nodeType": "MemberAccess", + "referencedDeclaration": 2880, + "src": "15145:29:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2099, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 3773, + "src": "15145:33:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 2101, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15145:36:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "15113:68:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2103, + "nodeType": "ExpressionStatement", + "src": "15113:68:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 2113, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2104, + "name": "m_scores", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 812, + "src": "15186:8:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 2106, + "indexExpression": { + "argumentTypes": null, + "id": 2105, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2063, + "src": "15195:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "15186:17:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31", + "id": 2111, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15228:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2107, + "name": "m_scores", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 812, + "src": "15206:8:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 2109, + "indexExpression": { + "argumentTypes": null, + "id": 2108, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2063, + "src": "15215:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "15206:17:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2110, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 3773, + "src": "15206:21:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 2112, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15206:24:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "15186:44:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2114, + "nodeType": "ExpressionStatement", + "src": "15186:44:6" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2116, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2061, + "src": "15261:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 2117, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2063, + "src": "15268:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2115, + "name": "AccurateContribution", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 898, + "src": "15240:20:6", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address)" + } + }, + "id": 2118, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15240:36:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2119, + "nodeType": "EmitStatement", + "src": "15235:41:6" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 2122, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15291:4:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 2074, + "id": 2123, + "nodeType": "Return", + "src": "15284:11:6" + } + ] + }, + "documentation": null, + "id": 2125, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "id": 2070, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2061, + "src": "14967:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 2071, + "modifierName": { + "argumentTypes": null, + "id": 2069, + "name": "onlyRegisteredWoid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 808, + "src": "14948:18:6", + "typeDescriptions": { + "typeIdentifier": "t_modifier$_t_address_$", + "typeString": "modifier (address)" + } + }, + "nodeType": "ModifierInvocation", + "src": "14948:25:6" + } + ], + "name": "rewardForWork", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2068, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2061, + "name": "_woid", + "nodeType": "VariableDeclaration", + "scope": 2125, + "src": "14874:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2060, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "14874:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2063, + "name": "_worker", + "nodeType": "VariableDeclaration", + "scope": 2125, + "src": "14889:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2062, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "14889:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2065, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 2125, + "src": "14906:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2064, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "14906:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2067, + "name": "_reputation", + "nodeType": "VariableDeclaration", + "scope": 2125, + "src": "14923:16:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2066, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "14923:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "14873:67:6" + }, + "payable": false, + "returnParameters": { + "id": 2074, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2073, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2125, + "src": "14983:4:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2072, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "14983:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "14982:6:6" + }, + "scope": 2436, + "src": "14851:448:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 2195, + "nodeType": "Block", + "src": "15439:345:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 2149, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2143, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2127, + "src": "15461:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2142, + "name": "WorkOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4299, + "src": "15451:9:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_WorkOrder_$4299_$", + "typeString": "type(contract WorkOrder)" + } + }, + "id": 2144, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15451:16:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4299", + "typeString": "contract WorkOrder" + } + }, + "id": 2145, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_workerpool", + "nodeType": "MemberAccess", + "referencedDeclaration": 4048, + "src": "15451:29:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + "id": 2146, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15451:31:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2147, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "15486:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2148, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "15486:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "15451:45:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2141, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "15443:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2150, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15443:54:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2151, + "nodeType": "ExpressionStatement", + "src": "15443:54:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2154, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2129, + "src": "15515:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 2155, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2131, + "src": "15524:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2153, + "name": "seize", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2359, + "src": "15509:5:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) returns (bool)" + } + }, + "id": 2156, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15509:23:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2152, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "15501:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2157, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15501:32:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2158, + "nodeType": "ExpressionStatement", + "src": "15501:32:6" + }, + { + "condition": { + "argumentTypes": null, + "id": 2159, + "name": "_reputation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2133, + "src": "15541:11:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 2192, + "nodeType": "IfStatement", + "src": "15537:229:6", + "trueBody": { + "id": 2191, + "nodeType": "Block", + "src": "15556:210:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 2168, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2160, + "name": "m_contributionHistory", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 814, + "src": "15561:21:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ContributionHistory_$2883_storage", + "typeString": "struct IexecLib.ContributionHistory storage ref" + } + }, + "id": 2162, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "failed", + "nodeType": "MemberAccess", + "referencedDeclaration": 2882, + "src": "15561:28:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31", + "id": 2166, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15625:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2163, + "name": "m_contributionHistory", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 814, + "src": "15592:21:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ContributionHistory_$2883_storage", + "typeString": "struct IexecLib.ContributionHistory storage ref" + } + }, + "id": 2164, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "failed", + "nodeType": "MemberAccess", + "referencedDeclaration": 2882, + "src": "15592:28:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2165, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 3773, + "src": "15592:32:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 2167, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15592:35:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "15561:66:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2169, + "nodeType": "ExpressionStatement", + "src": "15561:66:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 2184, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2170, + "name": "m_scores", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 812, + "src": "15632:8:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 2172, + "indexExpression": { + "argumentTypes": null, + "id": 2171, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2129, + "src": "15641:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "15632:17:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2181, + "name": "SCORE_UNITARY_SLASH", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 748, + "src": "15696:19:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2177, + "name": "m_scores", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 812, + "src": "15674:8:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 2179, + "indexExpression": { + "argumentTypes": null, + "id": 2178, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2129, + "src": "15683:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "15674:17:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2180, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "min", + "nodeType": "MemberAccess", + "referencedDeclaration": 3878, + "src": "15674:21:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 2182, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15674:42:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2173, + "name": "m_scores", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 812, + "src": "15652:8:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 2175, + "indexExpression": { + "argumentTypes": null, + "id": 2174, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2129, + "src": "15661:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "15652:17:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2176, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 3793, + "src": "15652:21:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 2183, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15652:65:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "15632:85:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2185, + "nodeType": "ExpressionStatement", + "src": "15632:85:6" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2187, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2127, + "src": "15746:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 2188, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2129, + "src": "15753:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2186, + "name": "FaultyContribution", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 904, + "src": "15727:18:6", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address)" + } + }, + "id": 2189, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15727:34:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2190, + "nodeType": "EmitStatement", + "src": "15722:39:6" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 2193, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15776:4:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 2140, + "id": 2194, + "nodeType": "Return", + "src": "15769:11:6" + } + ] + }, + "documentation": null, + "id": 2196, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "id": 2136, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2127, + "src": "15416:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 2137, + "modifierName": { + "argumentTypes": null, + "id": 2135, + "name": "onlyRegisteredWoid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 808, + "src": "15397:18:6", + "typeDescriptions": { + "typeIdentifier": "t_modifier$_t_address_$", + "typeString": "modifier (address)" + } + }, + "nodeType": "ModifierInvocation", + "src": "15397:25:6" + } + ], + "name": "seizeForWork", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2134, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2127, + "name": "_woid", + "nodeType": "VariableDeclaration", + "scope": 2196, + "src": "15323:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2126, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "15323:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2129, + "name": "_worker", + "nodeType": "VariableDeclaration", + "scope": 2196, + "src": "15338:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2128, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "15338:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2131, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 2196, + "src": "15355:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2130, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "15355:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2133, + "name": "_reputation", + "nodeType": "VariableDeclaration", + "scope": 2196, + "src": "15372:16:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2132, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "15372:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "15322:67:6" + }, + "payable": false, + "returnParameters": { + "id": 2140, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2139, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2196, + "src": "15432:4:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2138, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "15432:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "15431:6:6" + }, + "scope": 2436, + "src": "15301:483:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 2238, + "nodeType": "Block", + "src": "15882:197:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2206, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "15911:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2207, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "15911:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2209, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7063, + "src": "15931:4:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHub_$2436", + "typeString": "contract IexecHub" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_IexecHub_$2436", + "typeString": "contract IexecHub" + } + ], + "id": 2208, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "15923:7:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 2210, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15923:13:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 2211, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2198, + "src": "15938:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 2204, + "name": "rlc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 739, + "src": "15894:3:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_RLC_$6785", + "typeString": "contract RLC" + } + }, + "id": 2205, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "transferFrom", + "nodeType": "MemberAccess", + "referencedDeclaration": 6696, + "src": "15894:16:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,address,uint256) external returns (bool)" + } + }, + "id": 2212, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15894:52:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2203, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "15886:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2213, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15886:61:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2214, + "nodeType": "ExpressionStatement", + "src": "15886:61:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 2228, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2215, + "name": "m_accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 792, + "src": "15951:10:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$2878_storage_$", + "typeString": "mapping(address => struct IexecLib.Account storage ref)" + } + }, + "id": 2218, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2216, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "15962:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2217, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "15962:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "15951:22:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Account_$2878_storage", + "typeString": "struct IexecLib.Account storage ref" + } + }, + "id": 2219, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "stake", + "nodeType": "MemberAccess", + "referencedDeclaration": 2875, + "src": "15951:28:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2226, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2198, + "src": "16015:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2220, + "name": "m_accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 792, + "src": "15982:10:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$2878_storage_$", + "typeString": "mapping(address => struct IexecLib.Account storage ref)" + } + }, + "id": 2223, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2221, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "15993:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2222, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "15993:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "15982:22:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Account_$2878_storage", + "typeString": "struct IexecLib.Account storage ref" + } + }, + "id": 2224, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "stake", + "nodeType": "MemberAccess", + "referencedDeclaration": 2875, + "src": "15982:28:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2225, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 3773, + "src": "15982:32:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 2227, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15982:41:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "15951:72:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2229, + "nodeType": "ExpressionStatement", + "src": "15951:72:6" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2231, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "16040:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2232, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "16040:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 2233, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2198, + "src": "16052:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2230, + "name": "Deposit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 910, + "src": "16032:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 2234, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16032:28:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2235, + "nodeType": "EmitStatement", + "src": "16027:33:6" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 2236, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16071:4:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 2202, + "id": 2237, + "nodeType": "Return", + "src": "16064:11:6" + } + ] + }, + "documentation": "Wallet methods: public", + "id": 2239, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "deposit", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2199, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2198, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 2239, + "src": "15840:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2197, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "15840:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "15839:17:6" + }, + "payable": false, + "returnParameters": { + "id": 2202, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2201, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2239, + "src": "15875:4:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2200, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "15875:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "15874:6:6" + }, + "scope": 2436, + "src": "15823:256:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": { + "id": 2278, + "nodeType": "Block", + "src": "16141:179:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 2259, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2246, + "name": "m_accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 792, + "src": "16145:10:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$2878_storage_$", + "typeString": "mapping(address => struct IexecLib.Account storage ref)" + } + }, + "id": 2249, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2247, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "16156:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2248, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "16156:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16145:22:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Account_$2878_storage", + "typeString": "struct IexecLib.Account storage ref" + } + }, + "id": 2250, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "stake", + "nodeType": "MemberAccess", + "referencedDeclaration": 2875, + "src": "16145:28:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2257, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2241, + "src": "16209:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2251, + "name": "m_accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 792, + "src": "16176:10:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$2878_storage_$", + "typeString": "mapping(address => struct IexecLib.Account storage ref)" + } + }, + "id": 2254, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2252, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "16187:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2253, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "16187:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16176:22:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Account_$2878_storage", + "typeString": "struct IexecLib.Account storage ref" + } + }, + "id": 2255, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "stake", + "nodeType": "MemberAccess", + "referencedDeclaration": 2875, + "src": "16176:28:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2256, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 3793, + "src": "16176:32:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 2258, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16176:41:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "16145:72:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2260, + "nodeType": "ExpressionStatement", + "src": "16145:72:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2264, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "16242:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2265, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "16242:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 2266, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2241, + "src": "16254:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 2262, + "name": "rlc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 739, + "src": "16229:3:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_RLC_$6785", + "typeString": "contract RLC" + } + }, + "id": 2263, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "transfer", + "nodeType": "MemberAccess", + "referencedDeclaration": 6632, + "src": "16229:12:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) external returns (bool)" + } + }, + "id": 2267, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16229:33:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2261, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "16221:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2268, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16221:42:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2269, + "nodeType": "ExpressionStatement", + "src": "16221:42:6" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2271, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "16281:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2272, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "16281:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 2273, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2241, + "src": "16293:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2270, + "name": "Withdraw", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 916, + "src": "16272:8:6", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 2274, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16272:29:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2275, + "nodeType": "EmitStatement", + "src": "16267:34:6" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 2276, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16312:4:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 2245, + "id": 2277, + "nodeType": "Return", + "src": "16305:11:6" + } + ] + }, + "documentation": null, + "id": 2279, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "withdraw", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2242, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2241, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 2279, + "src": "16099:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2240, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "16099:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "16098:17:6" + }, + "payable": false, + "returnParameters": { + "id": 2245, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2244, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2279, + "src": "16134:4:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2243, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "16134:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "16133:6:6" + }, + "scope": 2436, + "src": "16081:239:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": { + "id": 2298, + "nodeType": "Block", + "src": "16413:68:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2288, + "name": "m_accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 792, + "src": "16425:10:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$2878_storage_$", + "typeString": "mapping(address => struct IexecLib.Account storage ref)" + } + }, + "id": 2290, + "indexExpression": { + "argumentTypes": null, + "id": 2289, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2281, + "src": "16436:6:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16425:18:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Account_$2878_storage", + "typeString": "struct IexecLib.Account storage ref" + } + }, + "id": 2291, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "stake", + "nodeType": "MemberAccess", + "referencedDeclaration": 2875, + "src": "16425:24:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2292, + "name": "m_accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 792, + "src": "16451:10:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$2878_storage_$", + "typeString": "mapping(address => struct IexecLib.Account storage ref)" + } + }, + "id": 2294, + "indexExpression": { + "argumentTypes": null, + "id": 2293, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2281, + "src": "16462:6:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16451:18:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Account_$2878_storage", + "typeString": "struct IexecLib.Account storage ref" + } + }, + "id": 2295, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "locked", + "nodeType": "MemberAccess", + "referencedDeclaration": 2877, + "src": "16451:25:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 2296, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "16424:53:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "functionReturnParameters": 2287, + "id": 2297, + "nodeType": "Return", + "src": "16417:60:6" + } + ] + }, + "documentation": null, + "id": 2299, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "checkBalance", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2282, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2281, + "name": "_owner", + "nodeType": "VariableDeclaration", + "scope": 2299, + "src": "16344:14:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2280, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "16344:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "16343:16:6" + }, + "payable": false, + "returnParameters": { + "id": 2287, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2284, + "name": "stake", + "nodeType": "VariableDeclaration", + "scope": 2299, + "src": "16381:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2283, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "16381:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2286, + "name": "locked", + "nodeType": "VariableDeclaration", + "scope": 2299, + "src": "16396:14:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2285, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "16396:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "16380:31:6" + }, + "scope": 2436, + "src": "16322:159:6", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 2328, + "nodeType": "Block", + "src": "16595:116:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 2319, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2308, + "name": "m_accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 792, + "src": "16599:10:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$2878_storage_$", + "typeString": "mapping(address => struct IexecLib.Account storage ref)" + } + }, + "id": 2310, + "indexExpression": { + "argumentTypes": null, + "id": 2309, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2301, + "src": "16610:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16599:17:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Account_$2878_storage", + "typeString": "struct IexecLib.Account storage ref" + } + }, + "id": 2311, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "stake", + "nodeType": "MemberAccess", + "referencedDeclaration": 2875, + "src": "16599:23:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2317, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2303, + "src": "16653:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2312, + "name": "m_accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 792, + "src": "16625:10:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$2878_storage_$", + "typeString": "mapping(address => struct IexecLib.Account storage ref)" + } + }, + "id": 2314, + "indexExpression": { + "argumentTypes": null, + "id": 2313, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2301, + "src": "16636:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16625:17:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Account_$2878_storage", + "typeString": "struct IexecLib.Account storage ref" + } + }, + "id": 2315, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "stake", + "nodeType": "MemberAccess", + "referencedDeclaration": 2875, + "src": "16625:23:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2316, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 3773, + "src": "16625:27:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 2318, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16625:36:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "16599:62:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2320, + "nodeType": "ExpressionStatement", + "src": "16599:62:6" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2322, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2301, + "src": "16677:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 2323, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2303, + "src": "16684:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2321, + "name": "Reward", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 922, + "src": "16670:6:6", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 2324, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16670:22:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2325, + "nodeType": "EmitStatement", + "src": "16665:27:6" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 2326, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16703:4:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 2307, + "id": 2327, + "nodeType": "Return", + "src": "16696:11:6" + } + ] + }, + "documentation": "Wallet methods: Internal", + "id": 2329, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "reward", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2304, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2301, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 2329, + "src": "16538:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2300, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "16538:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2303, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 2329, + "src": "16553:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2302, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "16553:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "16537:32:6" + }, + "payable": false, + "returnParameters": { + "id": 2307, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2306, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2329, + "src": "16588:4:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2305, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "16588:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "16587:6:6" + }, + "scope": 2436, + "src": "16522:189:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 2358, + "nodeType": "Block", + "src": "16785:117:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 2349, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2338, + "name": "m_accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 792, + "src": "16789:10:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$2878_storage_$", + "typeString": "mapping(address => struct IexecLib.Account storage ref)" + } + }, + "id": 2340, + "indexExpression": { + "argumentTypes": null, + "id": 2339, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2331, + "src": "16800:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16789:17:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Account_$2878_storage", + "typeString": "struct IexecLib.Account storage ref" + } + }, + "id": 2341, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "locked", + "nodeType": "MemberAccess", + "referencedDeclaration": 2877, + "src": "16789:24:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2347, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2333, + "src": "16845:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2342, + "name": "m_accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 792, + "src": "16816:10:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$2878_storage_$", + "typeString": "mapping(address => struct IexecLib.Account storage ref)" + } + }, + "id": 2344, + "indexExpression": { + "argumentTypes": null, + "id": 2343, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2331, + "src": "16827:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16816:17:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Account_$2878_storage", + "typeString": "struct IexecLib.Account storage ref" + } + }, + "id": 2345, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "locked", + "nodeType": "MemberAccess", + "referencedDeclaration": 2877, + "src": "16816:24:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2346, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 3793, + "src": "16816:28:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 2348, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16816:37:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "16789:64:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2350, + "nodeType": "ExpressionStatement", + "src": "16789:64:6" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2352, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2331, + "src": "16868:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 2353, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2333, + "src": "16875:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2351, + "name": "Seize", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 928, + "src": "16862:5:6", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 2354, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16862:21:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2355, + "nodeType": "EmitStatement", + "src": "16857:26:6" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 2356, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16894:4:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 2337, + "id": 2357, + "nodeType": "Return", + "src": "16887:11:6" + } + ] + }, + "documentation": null, + "id": 2359, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "seize", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2334, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2331, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 2359, + "src": "16728:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2330, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "16728:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2333, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 2359, + "src": "16743:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2332, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "16743:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "16727:32:6" + }, + "payable": false, + "returnParameters": { + "id": 2337, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2336, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2359, + "src": "16778:4:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2335, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "16778:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "16777:6:6" + }, + "scope": 2436, + "src": "16713:189:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 2396, + "nodeType": "Block", + "src": "16975:154:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 2379, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2368, + "name": "m_accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 792, + "src": "16979:10:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$2878_storage_$", + "typeString": "mapping(address => struct IexecLib.Account storage ref)" + } + }, + "id": 2370, + "indexExpression": { + "argumentTypes": null, + "id": 2369, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2361, + "src": "16990:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16979:17:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Account_$2878_storage", + "typeString": "struct IexecLib.Account storage ref" + } + }, + "id": 2371, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "stake", + "nodeType": "MemberAccess", + "referencedDeclaration": 2875, + "src": "16979:23:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2377, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2363, + "src": "17034:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2372, + "name": "m_accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 792, + "src": "17006:10:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$2878_storage_$", + "typeString": "mapping(address => struct IexecLib.Account storage ref)" + } + }, + "id": 2374, + "indexExpression": { + "argumentTypes": null, + "id": 2373, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2361, + "src": "17017:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "17006:17:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Account_$2878_storage", + "typeString": "struct IexecLib.Account storage ref" + } + }, + "id": 2375, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "stake", + "nodeType": "MemberAccess", + "referencedDeclaration": 2875, + "src": "17006:23:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2376, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 3793, + "src": "17006:27:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 2378, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17006:36:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "16979:63:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2380, + "nodeType": "ExpressionStatement", + "src": "16979:63:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 2392, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2381, + "name": "m_accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 792, + "src": "17046:10:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$2878_storage_$", + "typeString": "mapping(address => struct IexecLib.Account storage ref)" + } + }, + "id": 2383, + "indexExpression": { + "argumentTypes": null, + "id": 2382, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2361, + "src": "17057:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "17046:17:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Account_$2878_storage", + "typeString": "struct IexecLib.Account storage ref" + } + }, + "id": 2384, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "locked", + "nodeType": "MemberAccess", + "referencedDeclaration": 2877, + "src": "17046:24:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2390, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2363, + "src": "17102:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2385, + "name": "m_accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 792, + "src": "17073:10:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$2878_storage_$", + "typeString": "mapping(address => struct IexecLib.Account storage ref)" + } + }, + "id": 2387, + "indexExpression": { + "argumentTypes": null, + "id": 2386, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2361, + "src": "17084:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "17073:17:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Account_$2878_storage", + "typeString": "struct IexecLib.Account storage ref" + } + }, + "id": 2388, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "locked", + "nodeType": "MemberAccess", + "referencedDeclaration": 2877, + "src": "17073:24:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2389, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 3773, + "src": "17073:28:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 2391, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17073:37:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "17046:64:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2393, + "nodeType": "ExpressionStatement", + "src": "17046:64:6" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 2394, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "17121:4:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 2367, + "id": 2395, + "nodeType": "Return", + "src": "17114:11:6" + } + ] + }, + "documentation": null, + "id": 2397, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "lock", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2364, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2361, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 2397, + "src": "16918:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2360, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "16918:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2363, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 2397, + "src": "16933:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2362, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "16933:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "16917:32:6" + }, + "payable": false, + "returnParameters": { + "id": 2367, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2366, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2397, + "src": "16968:4:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2365, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "16968:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "16967:6:6" + }, + "scope": 2436, + "src": "16904:225:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 2434, + "nodeType": "Block", + "src": "17204:154:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 2417, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2406, + "name": "m_accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 792, + "src": "17208:10:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$2878_storage_$", + "typeString": "mapping(address => struct IexecLib.Account storage ref)" + } + }, + "id": 2408, + "indexExpression": { + "argumentTypes": null, + "id": 2407, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2399, + "src": "17219:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "17208:17:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Account_$2878_storage", + "typeString": "struct IexecLib.Account storage ref" + } + }, + "id": 2409, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "locked", + "nodeType": "MemberAccess", + "referencedDeclaration": 2877, + "src": "17208:24:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2415, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2401, + "src": "17264:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2410, + "name": "m_accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 792, + "src": "17235:10:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$2878_storage_$", + "typeString": "mapping(address => struct IexecLib.Account storage ref)" + } + }, + "id": 2412, + "indexExpression": { + "argumentTypes": null, + "id": 2411, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2399, + "src": "17246:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "17235:17:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Account_$2878_storage", + "typeString": "struct IexecLib.Account storage ref" + } + }, + "id": 2413, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "locked", + "nodeType": "MemberAccess", + "referencedDeclaration": 2877, + "src": "17235:24:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2414, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 3793, + "src": "17235:28:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 2416, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17235:37:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "17208:64:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2418, + "nodeType": "ExpressionStatement", + "src": "17208:64:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 2430, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2419, + "name": "m_accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 792, + "src": "17276:10:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$2878_storage_$", + "typeString": "mapping(address => struct IexecLib.Account storage ref)" + } + }, + "id": 2421, + "indexExpression": { + "argumentTypes": null, + "id": 2420, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2399, + "src": "17287:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "17276:17:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Account_$2878_storage", + "typeString": "struct IexecLib.Account storage ref" + } + }, + "id": 2422, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "stake", + "nodeType": "MemberAccess", + "referencedDeclaration": 2875, + "src": "17276:23:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2428, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2401, + "src": "17331:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2423, + "name": "m_accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 792, + "src": "17303:10:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$2878_storage_$", + "typeString": "mapping(address => struct IexecLib.Account storage ref)" + } + }, + "id": 2425, + "indexExpression": { + "argumentTypes": null, + "id": 2424, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2399, + "src": "17314:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "17303:17:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Account_$2878_storage", + "typeString": "struct IexecLib.Account storage ref" + } + }, + "id": 2426, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "stake", + "nodeType": "MemberAccess", + "referencedDeclaration": 2875, + "src": "17303:23:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2427, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 3773, + "src": "17303:27:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 2429, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17303:36:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "17276:63:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2431, + "nodeType": "ExpressionStatement", + "src": "17276:63:6" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 2432, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "17350:4:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 2405, + "id": 2433, + "nodeType": "Return", + "src": "17343:11:6" + } + ] + }, + "documentation": null, + "id": 2435, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "unlock", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2402, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2399, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 2435, + "src": "17147:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2398, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "17147:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2401, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 2435, + "src": "17162:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2400, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "17162:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "17146:32:6" + }, + "payable": false, + "returnParameters": { + "id": 2405, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2404, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2435, + "src": "17197:4:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2403, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "17197:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "17196:6:6" + }, + "scope": 2436, + "src": "17131:227:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + } + ], + "scope": 2437, + "src": "281:17079:6" + } + ], + "src": "0:17361:6" + }, + "legacyAST": { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/IexecHub.sol", + "exportedSymbols": { + "IexecHub": [ + 2436 + ] + }, + "id": 2437, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 726, + "literals": [ + "solidity", + "^", + "0.4", + ".21" + ], + "nodeType": "PragmaDirective", + "src": "0:24:6" + }, + { + "absolutePath": "rlc-token/contracts/RLC.sol", + "file": "rlc-token/contracts/RLC.sol", + "id": 727, + "nodeType": "ImportDirective", + "scope": 2437, + "sourceUnit": 6786, + "src": "26:37:6", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/WorkOrder.sol", + "file": "./WorkOrder.sol", + "id": 728, + "nodeType": "ImportDirective", + "scope": 2437, + "sourceUnit": 4300, + "src": "65:25:6", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/Marketplace.sol", + "file": "./Marketplace.sol", + "id": 729, + "nodeType": "ImportDirective", + "scope": 2437, + "sourceUnit": 3514, + "src": "91:27:6", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/AppHub.sol", + "file": "./AppHub.sol", + "id": 730, + "nodeType": "ImportDirective", + "scope": 2437, + "sourceUnit": 225, + "src": "119:22:6", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/DatasetHub.sol", + "file": "./DatasetHub.sol", + "id": 731, + "nodeType": "ImportDirective", + "scope": 2437, + "sourceUnit": 450, + "src": "142:26:6", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/WorkerPoolHub.sol", + "file": "./WorkerPoolHub.sol", + "id": 732, + "nodeType": "ImportDirective", + "scope": 2437, + "sourceUnit": 6350, + "src": "169:29:6", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/SafeMathOZ.sol", + "file": "./SafeMathOZ.sol", + "id": 733, + "nodeType": "ImportDirective", + "scope": 2437, + "sourceUnit": 3925, + "src": "199:26:6", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/IexecLib.sol", + "file": "./IexecLib.sol", + "id": 734, + "nodeType": "ImportDirective", + "scope": 2437, + "sourceUnit": 2894, + "src": "226:24:6", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [], + "contractDependencies": [ + 4299 + ], + "contractKind": "contract", + "documentation": "@title IexecHub", + "fullyImplemented": true, + "id": 2436, + "linearizedBaseContracts": [ + 2436 + ], + "name": "IexecHub", + "nodeType": "ContractDefinition", + "nodes": [ + { + "id": 737, + "libraryName": { + "contractScope": null, + "id": 735, + "name": "SafeMathOZ", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 3924, + "src": "308:10:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_SafeMathOZ_$3924", + "typeString": "library SafeMathOZ" + } + }, + "nodeType": "UsingForDirective", + "src": "302:29:6", + "typeName": { + "id": 736, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "323:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + { + "constant": false, + "id": 739, + "name": "rlc", + "nodeType": "VariableDeclaration", + "scope": 2436, + "src": "380:14:6", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_RLC_$6785", + "typeString": "contract RLC" + }, + "typeName": { + "contractScope": null, + "id": 738, + "name": "RLC", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 6785, + "src": "380:3:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_RLC_$6785", + "typeString": "contract RLC" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": true, + "id": 742, + "name": "STAKE_BONUS_RATIO", + "nodeType": "VariableDeclaration", + "scope": 2436, + "src": "398:54:6", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 740, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "398:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "3130", + "id": 741, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "450:2:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + }, + "visibility": "public" + }, + { + "constant": true, + "id": 745, + "name": "STAKE_BONUS_MIN_THRESHOLD", + "nodeType": "VariableDeclaration", + "scope": 2436, + "src": "455:56:6", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 743, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "455:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "31303030", + "id": 744, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "507:4:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1000_by_1", + "typeString": "int_const 1000" + }, + "value": "1000" + }, + "visibility": "public" + }, + { + "constant": true, + "id": 748, + "name": "SCORE_UNITARY_SLASH", + "nodeType": "VariableDeclaration", + "scope": 2436, + "src": "514:54:6", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 746, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "514:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "3530", + "id": 747, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "566:2:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_50_by_1", + "typeString": "int_const 50" + }, + "value": "50" + }, + "visibility": "public" + }, + { + "constant": false, + "id": 750, + "name": "appHub", + "nodeType": "VariableDeclaration", + "scope": 2436, + "src": "603:27:6", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_AppHub_$224", + "typeString": "contract AppHub" + }, + "typeName": { + "contractScope": null, + "id": 749, + "name": "AppHub", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 224, + "src": "603:6:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_AppHub_$224", + "typeString": "contract AppHub" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 752, + "name": "datasetHub", + "nodeType": "VariableDeclaration", + "scope": 2436, + "src": "633:31:6", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DatasetHub_$449", + "typeString": "contract DatasetHub" + }, + "typeName": { + "contractScope": null, + "id": 751, + "name": "DatasetHub", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 449, + "src": "633:10:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DatasetHub_$449", + "typeString": "contract DatasetHub" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 754, + "name": "workerPoolHub", + "nodeType": "VariableDeclaration", + "scope": 2436, + "src": "667:34:6", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkerPoolHub_$6349", + "typeString": "contract WorkerPoolHub" + }, + "typeName": { + "contractScope": null, + "id": 753, + "name": "WorkerPoolHub", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 6349, + "src": "667:13:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkerPoolHub_$6349", + "typeString": "contract WorkerPoolHub" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 756, + "name": "marketplace", + "nodeType": "VariableDeclaration", + "scope": 2436, + "src": "732:30:6", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Marketplace_$3513", + "typeString": "contract Marketplace" + }, + "typeName": { + "contractScope": null, + "id": 755, + "name": "Marketplace", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 3513, + "src": "732:11:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Marketplace_$3513", + "typeString": "contract Marketplace" + } + }, + "value": null, + "visibility": "public" + }, + { + "body": { + "id": 768, + "nodeType": "Block", + "src": "793:56:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 764, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 759, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "805:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 760, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "805:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 762, + "name": "marketplace", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 756, + "src": "827:11:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Marketplace_$3513", + "typeString": "contract Marketplace" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Marketplace_$3513", + "typeString": "contract Marketplace" + } + ], + "id": 761, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "819:7:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 763, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "819:20:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "805:34:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 758, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "797:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 765, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "797:43:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 766, + "nodeType": "ExpressionStatement", + "src": "797:43:6" + }, + { + "id": 767, + "nodeType": "PlaceholderStatement", + "src": "844:1:6" + } + ] + }, + "documentation": null, + "id": 769, + "name": "onlyMarketplace", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 757, + "nodeType": "ParameterList", + "parameters": [], + "src": "789:2:6" + }, + "src": "765:84:6", + "visibility": "internal" + }, + { + "constant": false, + "id": 773, + "name": "m_categories", + "nodeType": "VariableDeclaration", + "scope": 2436, + "src": "876:57:6", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Category_$2892_storage_$", + "typeString": "mapping(uint256 => struct IexecLib.Category storage ref)" + }, + "typeName": { + "id": 772, + "keyType": { + "id": 770, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "884:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Mapping", + "src": "876:37:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Category_$2892_storage_$", + "typeString": "mapping(uint256 => struct IexecLib.Category storage ref)" + }, + "valueType": { + "contractScope": null, + "id": 771, + "name": "IexecLib.Category", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2892, + "src": "895:17:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Category_$2892_storage_ptr", + "typeString": "struct IexecLib.Category storage pointer" + } + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 775, + "name": "m_categoriesCount", + "nodeType": "VariableDeclaration", + "scope": 2436, + "src": "936:62:6", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 774, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "936:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 777, + "name": "m_categoriesCreator", + "nodeType": "VariableDeclaration", + "scope": 2436, + "src": "1001:64:6", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 776, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1001:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "body": { + "id": 787, + "nodeType": "Block", + "src": "1102:55:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 783, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 780, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "1114:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 781, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1114:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 782, + "name": "m_categoriesCreator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 777, + "src": "1128:19:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1114:33:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 779, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "1106:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 784, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1106:42:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 785, + "nodeType": "ExpressionStatement", + "src": "1106:42:6" + }, + { + "id": 786, + "nodeType": "PlaceholderStatement", + "src": "1152:1:6" + } + ] + }, + "documentation": null, + "id": 788, + "name": "onlyCategoriesCreator", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 778, + "nodeType": "ParameterList", + "parameters": [], + "src": "1098:2:6" + }, + "src": "1068:89:6", + "visibility": "internal" + }, + { + "constant": false, + "id": 792, + "name": "m_accounts", + "nodeType": "VariableDeclaration", + "scope": 2436, + "src": "1181:54:6", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$2878_storage_$", + "typeString": "mapping(address => struct IexecLib.Account storage ref)" + }, + "typeName": { + "id": 791, + "keyType": { + "id": 789, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1189:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "1181:36:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$2878_storage_$", + "typeString": "mapping(address => struct IexecLib.Account storage ref)" + }, + "valueType": { + "contractScope": null, + "id": 790, + "name": "IexecLib.Account", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2878, + "src": "1200:16:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Account_$2878_storage_ptr", + "typeString": "struct IexecLib.Account storage pointer" + } + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 796, + "name": "m_woidRegistered", + "nodeType": "VariableDeclaration", + "scope": 2436, + "src": "1275:48:6", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + }, + "typeName": { + "id": 795, + "keyType": { + "id": 793, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1283:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "1275:24:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + }, + "valueType": { + "id": 794, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1294:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + }, + "value": null, + "visibility": "public" + }, + { + "body": { + "id": 807, + "nodeType": "Block", + "src": "1370:45:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 801, + "name": "m_woidRegistered", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 796, + "src": "1382:16:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 803, + "indexExpression": { + "argumentTypes": null, + "id": 802, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 798, + "src": "1399:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1382:23:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 800, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "1374:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 804, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1374:32:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 805, + "nodeType": "ExpressionStatement", + "src": "1374:32:6" + }, + { + "id": 806, + "nodeType": "PlaceholderStatement", + "src": "1410:1:6" + } + ] + }, + "documentation": null, + "id": 808, + "name": "onlyRegisteredWoid", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 799, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 798, + "name": "_woid", + "nodeType": "VariableDeclaration", + "scope": 808, + "src": "1354:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 797, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1354:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1353:15:6" + }, + "src": "1326:89:6", + "visibility": "internal" + }, + { + "constant": false, + "id": 812, + "name": "m_scores", + "nodeType": "VariableDeclaration", + "scope": 2436, + "src": "1452:44:6", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "typeName": { + "id": 811, + "keyType": { + "id": 809, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1460:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "1452:27:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "valueType": { + "id": 810, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1471:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 814, + "name": "m_contributionHistory", + "nodeType": "VariableDeclaration", + "scope": 2436, + "src": "1499:57:6", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ContributionHistory_$2883_storage", + "typeString": "struct IexecLib.ContributionHistory storage ref" + }, + "typeName": { + "contractScope": null, + "id": 813, + "name": "IexecLib.ContributionHistory", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2883, + "src": "1499:28:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ContributionHistory_$2883_storage_ptr", + "typeString": "struct IexecLib.ContributionHistory storage pointer" + } + }, + "value": null, + "visibility": "public" + }, + { + "anonymous": false, + "documentation": null, + "id": 820, + "name": "WorkOrderActivated", + "nodeType": "EventDefinition", + "parameters": { + "id": 819, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 816, + "indexed": false, + "name": "woid", + "nodeType": "VariableDeclaration", + "scope": 820, + "src": "1586:12:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 815, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1586:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 818, + "indexed": true, + "name": "workerPool", + "nodeType": "VariableDeclaration", + "scope": 820, + "src": "1600:26:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 817, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1600:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1585:42:6" + }, + "src": "1561:67:6" + }, + { + "anonymous": false, + "documentation": null, + "id": 826, + "name": "WorkOrderClaimed", + "nodeType": "EventDefinition", + "parameters": { + "id": 825, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 822, + "indexed": false, + "name": "woid", + "nodeType": "VariableDeclaration", + "scope": 826, + "src": "1655:12:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 821, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1655:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 824, + "indexed": false, + "name": "workerPool", + "nodeType": "VariableDeclaration", + "scope": 826, + "src": "1669:18:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 823, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1669:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1654:34:6" + }, + "src": "1630:59:6" + }, + { + "anonymous": false, + "documentation": null, + "id": 832, + "name": "WorkOrderCompleted", + "nodeType": "EventDefinition", + "parameters": { + "id": 831, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 828, + "indexed": false, + "name": "woid", + "nodeType": "VariableDeclaration", + "scope": 832, + "src": "1716:12:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 827, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1716:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 830, + "indexed": false, + "name": "workerPool", + "nodeType": "VariableDeclaration", + "scope": 832, + "src": "1730:18:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 829, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1730:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1715:34:6" + }, + "src": "1691:59:6" + }, + { + "anonymous": false, + "documentation": null, + "id": 844, + "name": "CreateApp", + "nodeType": "EventDefinition", + "parameters": { + "id": 843, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 834, + "indexed": true, + "name": "appOwner", + "nodeType": "VariableDeclaration", + "scope": 844, + "src": "1776:24:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 833, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1776:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 836, + "indexed": true, + "name": "app", + "nodeType": "VariableDeclaration", + "scope": 844, + "src": "1809:19:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 835, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1809:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 838, + "indexed": false, + "name": "appName", + "nodeType": "VariableDeclaration", + "scope": 844, + "src": "1837:14:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 837, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1837:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 840, + "indexed": false, + "name": "appPrice", + "nodeType": "VariableDeclaration", + "scope": 844, + "src": "1857:16:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 839, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1857:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 842, + "indexed": false, + "name": "appParams", + "nodeType": "VariableDeclaration", + "scope": 844, + "src": "1879:16:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 841, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1879:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1775:125:6" + }, + "src": "1753:148:6" + }, + { + "anonymous": false, + "documentation": null, + "id": 856, + "name": "CreateDataset", + "nodeType": "EventDefinition", + "parameters": { + "id": 855, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 846, + "indexed": true, + "name": "datasetOwner", + "nodeType": "VariableDeclaration", + "scope": 856, + "src": "1926:28:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 845, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1926:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 848, + "indexed": true, + "name": "dataset", + "nodeType": "VariableDeclaration", + "scope": 856, + "src": "1959:23:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 847, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1959:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 850, + "indexed": false, + "name": "datasetName", + "nodeType": "VariableDeclaration", + "scope": 856, + "src": "1987:18:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 849, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1987:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 852, + "indexed": false, + "name": "datasetPrice", + "nodeType": "VariableDeclaration", + "scope": 856, + "src": "2007:20:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 851, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2007:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 854, + "indexed": false, + "name": "datasetParams", + "nodeType": "VariableDeclaration", + "scope": 856, + "src": "2029:20:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 853, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2029:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1925:125:6" + }, + "src": "1903:148:6" + }, + { + "anonymous": false, + "documentation": null, + "id": 864, + "name": "CreateWorkerPool", + "nodeType": "EventDefinition", + "parameters": { + "id": 863, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 858, + "indexed": true, + "name": "workerPoolOwner", + "nodeType": "VariableDeclaration", + "scope": 864, + "src": "2076:31:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 857, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2076:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 860, + "indexed": true, + "name": "workerPool", + "nodeType": "VariableDeclaration", + "scope": 864, + "src": "2109:26:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 859, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2109:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 862, + "indexed": false, + "name": "workerPoolDescription", + "nodeType": "VariableDeclaration", + "scope": 864, + "src": "2137:28:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 861, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2137:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2075:131:6" + }, + "src": "2053:154:6" + }, + { + "anonymous": false, + "documentation": null, + "id": 874, + "name": "CreateCategory", + "nodeType": "EventDefinition", + "parameters": { + "id": 873, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 866, + "indexed": false, + "name": "catid", + "nodeType": "VariableDeclaration", + "scope": 874, + "src": "2233:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 865, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2233:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 868, + "indexed": false, + "name": "name", + "nodeType": "VariableDeclaration", + "scope": 874, + "src": "2248:11:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 867, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2248:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 870, + "indexed": false, + "name": "description", + "nodeType": "VariableDeclaration", + "scope": 874, + "src": "2261:18:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 869, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2261:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 872, + "indexed": false, + "name": "workClockTimeRef", + "nodeType": "VariableDeclaration", + "scope": 874, + "src": "2281:24:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 871, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2281:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2232:74:6" + }, + "src": "2210:97:6" + }, + { + "anonymous": false, + "documentation": null, + "id": 880, + "name": "WorkerPoolSubscription", + "nodeType": "EventDefinition", + "parameters": { + "id": 879, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 876, + "indexed": true, + "name": "workerPool", + "nodeType": "VariableDeclaration", + "scope": 880, + "src": "2341:26:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 875, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2341:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 878, + "indexed": false, + "name": "worker", + "nodeType": "VariableDeclaration", + "scope": 880, + "src": "2369:14:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 877, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2369:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2340:44:6" + }, + "src": "2310:75:6" + }, + { + "anonymous": false, + "documentation": null, + "id": 886, + "name": "WorkerPoolUnsubscription", + "nodeType": "EventDefinition", + "parameters": { + "id": 885, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 882, + "indexed": true, + "name": "workerPool", + "nodeType": "VariableDeclaration", + "scope": 886, + "src": "2418:26:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 881, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2418:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 884, + "indexed": false, + "name": "worker", + "nodeType": "VariableDeclaration", + "scope": 886, + "src": "2446:14:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 883, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2446:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2417:44:6" + }, + "src": "2387:75:6" + }, + { + "anonymous": false, + "documentation": null, + "id": 892, + "name": "WorkerPoolEviction", + "nodeType": "EventDefinition", + "parameters": { + "id": 891, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 888, + "indexed": true, + "name": "workerPool", + "nodeType": "VariableDeclaration", + "scope": 892, + "src": "2495:26:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 887, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2495:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 890, + "indexed": false, + "name": "worker", + "nodeType": "VariableDeclaration", + "scope": 892, + "src": "2523:14:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 889, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2523:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2494:44:6" + }, + "src": "2464:75:6" + }, + { + "anonymous": false, + "documentation": null, + "id": 898, + "name": "AccurateContribution", + "nodeType": "EventDefinition", + "parameters": { + "id": 897, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 894, + "indexed": false, + "name": "woid", + "nodeType": "VariableDeclaration", + "scope": 898, + "src": "2569:12:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 893, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2569:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 896, + "indexed": true, + "name": "worker", + "nodeType": "VariableDeclaration", + "scope": 898, + "src": "2583:22:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 895, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2583:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2568:38:6" + }, + "src": "2542:65:6" + }, + { + "anonymous": false, + "documentation": null, + "id": 904, + "name": "FaultyContribution", + "nodeType": "EventDefinition", + "parameters": { + "id": 903, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 900, + "indexed": false, + "name": "woid", + "nodeType": "VariableDeclaration", + "scope": 904, + "src": "2636:12:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 899, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2636:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 902, + "indexed": true, + "name": "worker", + "nodeType": "VariableDeclaration", + "scope": 904, + "src": "2650:22:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 901, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2650:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2635:38:6" + }, + "src": "2609:65:6" + }, + { + "anonymous": false, + "documentation": null, + "id": 910, + "name": "Deposit", + "nodeType": "EventDefinition", + "parameters": { + "id": 909, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 906, + "indexed": false, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 910, + "src": "2692:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 905, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2692:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 908, + "indexed": false, + "name": "amount", + "nodeType": "VariableDeclaration", + "scope": 910, + "src": "2707:14:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 907, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2707:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2691:31:6" + }, + "src": "2677:46:6" + }, + { + "anonymous": false, + "documentation": null, + "id": 916, + "name": "Withdraw", + "nodeType": "EventDefinition", + "parameters": { + "id": 915, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 912, + "indexed": false, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 916, + "src": "2740:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 911, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2740:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 914, + "indexed": false, + "name": "amount", + "nodeType": "VariableDeclaration", + "scope": 916, + "src": "2755:14:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 913, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2755:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2739:31:6" + }, + "src": "2725:46:6" + }, + { + "anonymous": false, + "documentation": null, + "id": 922, + "name": "Reward", + "nodeType": "EventDefinition", + "parameters": { + "id": 921, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 918, + "indexed": false, + "name": "user", + "nodeType": "VariableDeclaration", + "scope": 922, + "src": "2788:12:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 917, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2788:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 920, + "indexed": false, + "name": "amount", + "nodeType": "VariableDeclaration", + "scope": 922, + "src": "2803:14:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 919, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2803:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2787:31:6" + }, + "src": "2773:46:6" + }, + { + "anonymous": false, + "documentation": null, + "id": 928, + "name": "Seize", + "nodeType": "EventDefinition", + "parameters": { + "id": 927, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 924, + "indexed": false, + "name": "user", + "nodeType": "VariableDeclaration", + "scope": 928, + "src": "2836:12:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 923, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2836:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 926, + "indexed": false, + "name": "amount", + "nodeType": "VariableDeclaration", + "scope": 928, + "src": "2851:14:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 925, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2851:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2835:31:6" + }, + "src": "2821:46:6" + }, + { + "body": { + "id": 936, + "nodeType": "Block", + "src": "2925:40:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 934, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 931, + "name": "m_categoriesCreator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 777, + "src": "2929:19:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 932, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "2951:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 933, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2951:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "2929:32:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 935, + "nodeType": "ExpressionStatement", + "src": "2929:32:6" + } + ] + }, + "documentation": "Constructor", + "id": 937, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "IexecHub", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 929, + "nodeType": "ParameterList", + "parameters": [], + "src": "2913:2:6" + }, + "payable": false, + "returnParameters": { + "id": 930, + "nodeType": "ParameterList", + "parameters": [], + "src": "2925:0:6" + }, + "scope": 2436, + "src": "2896:69:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 992, + "nodeType": "Block", + "src": "3170:349:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 959, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 954, + "name": "rlc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 739, + "src": "3190:3:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_RLC_$6785", + "typeString": "contract RLC" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_RLC_$6785", + "typeString": "contract RLC" + } + ], + "id": 953, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3182:7:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 955, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3182:12:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 957, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3206:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 956, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3198:7:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 958, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3198:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "3182:26:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 952, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "3174:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 960, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3174:35:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 961, + "nodeType": "ExpressionStatement", + "src": "3174:35:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 966, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 962, + "name": "rlc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 739, + "src": "3213:3:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_RLC_$6785", + "typeString": "contract RLC" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 964, + "name": "_tokenAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 939, + "src": "3248:13:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 963, + "name": "RLC", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6785, + "src": "3234:3:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_RLC_$6785_$", + "typeString": "type(contract RLC)" + } + }, + "id": 965, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3234:36:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_RLC_$6785", + "typeString": "contract RLC" + } + }, + "src": "3213:57:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_RLC_$6785", + "typeString": "contract RLC" + } + }, + "id": 967, + "nodeType": "ExpressionStatement", + "src": "3213:57:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 972, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 968, + "name": "marketplace", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 756, + "src": "3274:11:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Marketplace_$3513", + "typeString": "contract Marketplace" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 970, + "name": "_marketplaceAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 941, + "src": "3309:19:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 969, + "name": "Marketplace", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3513, + "src": "3295:11:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Marketplace_$3513_$", + "typeString": "type(contract Marketplace)" + } + }, + "id": 971, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3295:36:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Marketplace_$3513", + "typeString": "contract Marketplace" + } + }, + "src": "3274:57:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Marketplace_$3513", + "typeString": "contract Marketplace" + } + }, + "id": 973, + "nodeType": "ExpressionStatement", + "src": "3274:57:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 978, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 974, + "name": "workerPoolHub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 754, + "src": "3335:13:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkerPoolHub_$6349", + "typeString": "contract WorkerPoolHub" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 976, + "name": "_workerPoolHubAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 943, + "src": "3370:21:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 975, + "name": "WorkerPoolHub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6349, + "src": "3356:13:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_WorkerPoolHub_$6349_$", + "typeString": "type(contract WorkerPoolHub)" + } + }, + "id": 977, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3356:36:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkerPoolHub_$6349", + "typeString": "contract WorkerPoolHub" + } + }, + "src": "3335:57:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkerPoolHub_$6349", + "typeString": "contract WorkerPoolHub" + } + }, + "id": 979, + "nodeType": "ExpressionStatement", + "src": "3335:57:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 984, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 980, + "name": "appHub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 750, + "src": "3396:6:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_AppHub_$224", + "typeString": "contract AppHub" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 982, + "name": "_appHubAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 945, + "src": "3431:14:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 981, + "name": "AppHub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 224, + "src": "3417:6:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_AppHub_$224_$", + "typeString": "type(contract AppHub)" + } + }, + "id": 983, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3417:36:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_AppHub_$224", + "typeString": "contract AppHub" + } + }, + "src": "3396:57:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_AppHub_$224", + "typeString": "contract AppHub" + } + }, + "id": 985, + "nodeType": "ExpressionStatement", + "src": "3396:57:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 990, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 986, + "name": "datasetHub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 752, + "src": "3457:10:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DatasetHub_$449", + "typeString": "contract DatasetHub" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 988, + "name": "_datasetHubAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 947, + "src": "3492:18:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 987, + "name": "DatasetHub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 449, + "src": "3478:10:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_DatasetHub_$449_$", + "typeString": "type(contract DatasetHub)" + } + }, + "id": 989, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3478:36:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DatasetHub_$449", + "typeString": "contract DatasetHub" + } + }, + "src": "3457:57:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DatasetHub_$449", + "typeString": "contract DatasetHub" + } + }, + "id": 991, + "nodeType": "ExpressionStatement", + "src": "3457:57:6" + } + ] + }, + "documentation": null, + "id": 993, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 950, + "modifierName": { + "argumentTypes": null, + "id": 949, + "name": "onlyCategoriesCreator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 788, + "src": "3147:21:6", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "3147:21:6" + } + ], + "name": "attachContracts", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 948, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 939, + "name": "_tokenAddress", + "nodeType": "VariableDeclaration", + "scope": 993, + "src": "2996:21:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 938, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2996:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 941, + "name": "_marketplaceAddress", + "nodeType": "VariableDeclaration", + "scope": 993, + "src": "3021:27:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 940, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3021:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 943, + "name": "_workerPoolHubAddress", + "nodeType": "VariableDeclaration", + "scope": 993, + "src": "3052:29:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 942, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3052:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 945, + "name": "_appHubAddress", + "nodeType": "VariableDeclaration", + "scope": 993, + "src": "3085:22:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 944, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3085:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 947, + "name": "_datasetHubAddress", + "nodeType": "VariableDeclaration", + "scope": 993, + "src": "3111:26:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 946, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3111:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2992:146:6" + }, + "payable": false, + "returnParameters": { + "id": 951, + "nodeType": "ParameterList", + "parameters": [], + "src": "3170:0:6" + }, + "scope": 2436, + "src": "2968:551:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1004, + "nodeType": "Block", + "src": "3611:48:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 1002, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 1000, + "name": "m_categoriesCreator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 777, + "src": "3615:19:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 1001, + "name": "_categoriesCreator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 995, + "src": "3637:18:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "3615:40:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 1003, + "nodeType": "ExpressionStatement", + "src": "3615:40:6" + } + ] + }, + "documentation": null, + "id": 1005, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 998, + "modifierName": { + "argumentTypes": null, + "id": 997, + "name": "onlyCategoriesCreator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 788, + "src": "3588:21:6", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "3588:21:6" + } + ], + "name": "setCategoriesCreator", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 996, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 995, + "name": "_categoriesCreator", + "nodeType": "VariableDeclaration", + "scope": 1005, + "src": "3552:26:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 994, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3552:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3551:28:6" + }, + "payable": false, + "returnParameters": { + "id": 999, + "nodeType": "ParameterList", + "parameters": [], + "src": "3611:0:6" + }, + "scope": 2436, + "src": "3522:137:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1066, + "nodeType": "Block", + "src": "3834:466:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 1023, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 1018, + "name": "m_categoriesCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 775, + "src": "3838:17:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31", + "id": 1021, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3897:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "expression": { + "argumentTypes": null, + "id": 1019, + "name": "m_categoriesCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 775, + "src": "3875:17:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1020, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 3773, + "src": "3875:21:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 1022, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3875:24:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3838:61:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1024, + "nodeType": "ExpressionStatement", + "src": "3838:61:6" + }, + { + "assignments": [ + 1028 + ], + "declarations": [ + { + "constant": false, + "id": 1028, + "name": "category", + "nodeType": "VariableDeclaration", + "scope": 1067, + "src": "3903:34:6", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Category_$2892_storage_ptr", + "typeString": "struct IexecLib.Category storage pointer" + }, + "typeName": { + "contractScope": null, + "id": 1027, + "name": "IexecLib.Category", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2892, + "src": "3903:17:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Category_$2892_storage_ptr", + "typeString": "struct IexecLib.Category storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1032, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1029, + "name": "m_categories", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 773, + "src": "3940:12:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Category_$2892_storage_$", + "typeString": "mapping(uint256 => struct IexecLib.Category storage ref)" + } + }, + "id": 1031, + "indexExpression": { + "argumentTypes": null, + "id": 1030, + "name": "m_categoriesCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 775, + "src": "3953:17:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3940:31:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Category_$2892_storage", + "typeString": "struct IexecLib.Category storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3903:68:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 1037, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1033, + "name": "category", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1028, + "src": "3975:8:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Category_$2892_storage_ptr", + "typeString": "struct IexecLib.Category storage pointer" + } + }, + "id": 1035, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "catid", + "nodeType": "MemberAccess", + "referencedDeclaration": 2885, + "src": "3975:14:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 1036, + "name": "m_categoriesCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 775, + "src": "4012:17:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3975:54:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1038, + "nodeType": "ExpressionStatement", + "src": "3975:54:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 1043, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1039, + "name": "category", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1028, + "src": "4033:8:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Category_$2892_storage_ptr", + "typeString": "struct IexecLib.Category storage pointer" + } + }, + "id": 1041, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "name", + "nodeType": "MemberAccess", + "referencedDeclaration": 2887, + "src": "4033:13:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 1042, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1007, + "src": "4070:5:6", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "4033:42:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 1044, + "nodeType": "ExpressionStatement", + "src": "4033:42:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 1049, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1045, + "name": "category", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1028, + "src": "4079:8:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Category_$2892_storage_ptr", + "typeString": "struct IexecLib.Category storage pointer" + } + }, + "id": 1047, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "description", + "nodeType": "MemberAccess", + "referencedDeclaration": 2889, + "src": "4079:20:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 1048, + "name": "_description", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1009, + "src": "4116:12:6", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "4079:49:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 1050, + "nodeType": "ExpressionStatement", + "src": "4079:49:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 1055, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1051, + "name": "category", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1028, + "src": "4132:8:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Category_$2892_storage_ptr", + "typeString": "struct IexecLib.Category storage pointer" + } + }, + "id": 1053, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "workClockTimeRef", + "nodeType": "MemberAccess", + "referencedDeclaration": 2891, + "src": "4132:25:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 1054, + "name": "_workClockTimeRef", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1011, + "src": "4169:17:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4132:54:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1056, + "nodeType": "ExpressionStatement", + "src": "4132:54:6" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1058, + "name": "m_categoriesCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 775, + "src": "4210:17:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 1059, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1007, + "src": "4229:5:6", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "id": 1060, + "name": "_description", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1009, + "src": "4236:12:6", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "id": 1061, + "name": "_workClockTimeRef", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1011, + "src": "4250:17:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1057, + "name": "CreateCategory", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 874, + "src": "4195:14:6", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_uint256_$returns$__$", + "typeString": "function (uint256,string memory,string memory,uint256)" + } + }, + "id": 1062, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4195:73:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1063, + "nodeType": "EmitStatement", + "src": "4190:78:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 1064, + "name": "m_categoriesCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 775, + "src": "4279:17:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 1017, + "id": 1065, + "nodeType": "Return", + "src": "4272:24:6" + } + ] + }, + "documentation": "Factory", + "id": 1067, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 1014, + "modifierName": { + "argumentTypes": null, + "id": 1013, + "name": "onlyCategoriesCreator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 788, + "src": "3787:21:6", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "3787:21:6" + } + ], + "name": "createCategory", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1012, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1007, + "name": "_name", + "nodeType": "VariableDeclaration", + "scope": 1067, + "src": "3711:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 1006, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3711:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1009, + "name": "_description", + "nodeType": "VariableDeclaration", + "scope": 1067, + "src": "3728:20:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 1008, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3728:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1011, + "name": "_workClockTimeRef", + "nodeType": "VariableDeclaration", + "scope": 1067, + "src": "3752:25:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1010, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3752:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3707:71:6" + }, + "payable": false, + "returnParameters": { + "id": 1017, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1016, + "name": "catid", + "nodeType": "VariableDeclaration", + "scope": 1067, + "src": "3818:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1015, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3818:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3817:15:6" + }, + "scope": 2436, + "src": "3684:616:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1102, + "nodeType": "Block", + "src": "4527:302:6", + "statements": [ + { + "assignments": [ + 1081 + ], + "declarations": [ + { + "constant": false, + "id": 1081, + "name": "newWorkerPool", + "nodeType": "VariableDeclaration", + "scope": 1103, + "src": "4531:21:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1080, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4531:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1092, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1084, + "name": "_description", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1069, + "src": "4590:12:6", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + }, + { + "argumentTypes": null, + "id": 1085, + "name": "_subscriptionLockStakePolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1071, + "src": "4607:28:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 1086, + "name": "_subscriptionMinimumStakePolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1073, + "src": "4640:31:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 1087, + "name": "_subscriptionMinimumScorePolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1075, + "src": "4676:31:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1089, + "name": "marketplace", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 756, + "src": "4720:11:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Marketplace_$3513", + "typeString": "contract Marketplace" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Marketplace_$3513", + "typeString": "contract Marketplace" + } + ], + "id": 1088, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4712:7:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 1090, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4712:20:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 1082, + "name": "workerPoolHub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 754, + "src": "4555:13:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkerPoolHub_$6349", + "typeString": "contract WorkerPoolHub" + } + }, + "id": 1083, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "createWorkerPool", + "nodeType": "MemberAccess", + "referencedDeclaration": 6288, + "src": "4555:30:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$returns$_t_address_$", + "typeString": "function (string memory,uint256,uint256,uint256,address) external returns (address)" + } + }, + "id": 1091, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4555:181:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4531:205:6" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1094, + "name": "tx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7018, + "src": "4762:2:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_transaction", + "typeString": "tx" + } + }, + "id": 1095, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "origin", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "4762:9:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1096, + "name": "newWorkerPool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1081, + "src": "4773:13:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1097, + "name": "_description", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1069, + "src": "4788:12:6", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + ], + "id": 1093, + "name": "CreateWorkerPool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 864, + "src": "4745:16:6", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (address,address,string memory)" + } + }, + "id": 1098, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4745:56:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1099, + "nodeType": "EmitStatement", + "src": "4740:61:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 1100, + "name": "newWorkerPool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1081, + "src": "4812:13:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 1079, + "id": 1101, + "nodeType": "Return", + "src": "4805:20:6" + } + ] + }, + "documentation": null, + "id": 1103, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "createWorkerPool", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1076, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1069, + "name": "_description", + "nodeType": "VariableDeclaration", + "scope": 1103, + "src": "4332:20:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + }, + "typeName": { + "id": 1068, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4332:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1071, + "name": "_subscriptionLockStakePolicy", + "nodeType": "VariableDeclaration", + "scope": 1103, + "src": "4356:36:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1070, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4356:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1073, + "name": "_subscriptionMinimumStakePolicy", + "nodeType": "VariableDeclaration", + "scope": 1103, + "src": "4396:39:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1072, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4396:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1075, + "name": "_subscriptionMinimumScorePolicy", + "nodeType": "VariableDeclaration", + "scope": 1103, + "src": "4439:39:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1074, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4439:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4328:151:6" + }, + "payable": false, + "returnParameters": { + "id": 1079, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1078, + "name": "createdWorkerPool", + "nodeType": "VariableDeclaration", + "scope": 1103, + "src": "4499:25:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1077, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4499:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4498:27:6" + }, + "scope": 2436, + "src": "4303:526:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": { + "id": 1134, + "nodeType": "Block", + "src": "4955:174:6", + "statements": [ + { + "assignments": [ + 1115 + ], + "declarations": [ + { + "constant": false, + "id": 1115, + "name": "newApp", + "nodeType": "VariableDeclaration", + "scope": 1135, + "src": "4959:14:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1114, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4959:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1122, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1118, + "name": "_appName", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1105, + "src": "4997:8:6", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + }, + { + "argumentTypes": null, + "id": 1119, + "name": "_appPrice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1107, + "src": "5010:9:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 1120, + "name": "_appParams", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1109, + "src": "5024:10:6", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + ], + "expression": { + "argumentTypes": null, + "id": 1116, + "name": "appHub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 750, + "src": "4976:6:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_AppHub_$224", + "typeString": "contract AppHub" + } + }, + "id": 1117, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "createApp", + "nodeType": "MemberAccess", + "referencedDeclaration": 223, + "src": "4976:16:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_string_memory_ptr_$returns$_t_address_$", + "typeString": "function (string memory,uint256,string memory) external returns (address)" + } + }, + "id": 1121, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4976:62:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4959:79:6" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1124, + "name": "tx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7018, + "src": "5057:2:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_transaction", + "typeString": "tx" + } + }, + "id": 1125, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "origin", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "5057:9:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1126, + "name": "newApp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1115, + "src": "5068:6:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1127, + "name": "_appName", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1105, + "src": "5076:8:6", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + }, + { + "argumentTypes": null, + "id": 1128, + "name": "_appPrice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1107, + "src": "5086:9:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 1129, + "name": "_appParams", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1109, + "src": "5097:10:6", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + ], + "id": 1123, + "name": "CreateApp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 844, + "src": "5047:9:6", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_string_memory_ptr_$_t_uint256_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (address,address,string memory,uint256,string memory)" + } + }, + "id": 1130, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5047:61:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1131, + "nodeType": "EmitStatement", + "src": "5042:66:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 1132, + "name": "newApp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1115, + "src": "5119:6:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 1113, + "id": 1133, + "nodeType": "Return", + "src": "5112:13:6" + } + ] + }, + "documentation": null, + "id": 1135, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "createApp", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1110, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1105, + "name": "_appName", + "nodeType": "VariableDeclaration", + "scope": 1135, + "src": "4854:16:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + }, + "typeName": { + "id": 1104, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4854:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1107, + "name": "_appPrice", + "nodeType": "VariableDeclaration", + "scope": 1135, + "src": "4874:17:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1106, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4874:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1109, + "name": "_appParams", + "nodeType": "VariableDeclaration", + "scope": 1135, + "src": "4895:18:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + }, + "typeName": { + "id": 1108, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4895:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4850:64:6" + }, + "payable": false, + "returnParameters": { + "id": 1113, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1112, + "name": "createdApp", + "nodeType": "VariableDeclaration", + "scope": 1135, + "src": "4934:18:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1111, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4934:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4933:20:6" + }, + "scope": 2436, + "src": "4832:297:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": { + "id": 1166, + "nodeType": "Block", + "src": "5275:223:6", + "statements": [ + { + "assignments": [ + 1147 + ], + "declarations": [ + { + "constant": false, + "id": 1147, + "name": "newDataset", + "nodeType": "VariableDeclaration", + "scope": 1167, + "src": "5279:18:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1146, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5279:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1154, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1150, + "name": "_datasetName", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1137, + "src": "5329:12:6", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + }, + { + "argumentTypes": null, + "id": 1151, + "name": "_datasetPrice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1139, + "src": "5346:13:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 1152, + "name": "_datasetParams", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1141, + "src": "5364:14:6", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + ], + "expression": { + "argumentTypes": null, + "id": 1148, + "name": "datasetHub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 752, + "src": "5300:10:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DatasetHub_$449", + "typeString": "contract DatasetHub" + } + }, + "id": 1149, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "createDataset", + "nodeType": "MemberAccess", + "referencedDeclaration": 448, + "src": "5300:24:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_string_memory_ptr_$returns$_t_address_$", + "typeString": "function (string memory,uint256,string memory) external returns (address)" + } + }, + "id": 1153, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5300:83:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5279:104:6" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1156, + "name": "tx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7018, + "src": "5406:2:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_transaction", + "typeString": "tx" + } + }, + "id": 1157, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "origin", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "5406:9:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1158, + "name": "newDataset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1147, + "src": "5417:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1159, + "name": "_datasetName", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1137, + "src": "5429:12:6", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + }, + { + "argumentTypes": null, + "id": 1160, + "name": "_datasetPrice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1139, + "src": "5443:13:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 1161, + "name": "_datasetParams", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1141, + "src": "5458:14:6", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + ], + "id": 1155, + "name": "CreateDataset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 856, + "src": "5392:13:6", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_string_memory_ptr_$_t_uint256_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (address,address,string memory,uint256,string memory)" + } + }, + "id": 1162, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5392:81:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1163, + "nodeType": "EmitStatement", + "src": "5387:86:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 1164, + "name": "newDataset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1147, + "src": "5484:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 1145, + "id": 1165, + "nodeType": "Return", + "src": "5477:17:6" + } + ] + }, + "documentation": null, + "id": 1167, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "createDataset", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1142, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1137, + "name": "_datasetName", + "nodeType": "VariableDeclaration", + "scope": 1167, + "src": "5158:20:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + }, + "typeName": { + "id": 1136, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "5158:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1139, + "name": "_datasetPrice", + "nodeType": "VariableDeclaration", + "scope": 1167, + "src": "5182:21:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1138, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5182:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1141, + "name": "_datasetParams", + "nodeType": "VariableDeclaration", + "scope": 1167, + "src": "5207:22:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + }, + "typeName": { + "id": 1140, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "5207:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5154:76:6" + }, + "payable": false, + "returnParameters": { + "id": 1145, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1144, + "name": "createdDataset", + "nodeType": "VariableDeclaration", + "scope": 1167, + "src": "5250:22:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1143, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5250:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5249:24:6" + }, + "scope": 2436, + "src": "5132:366:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": { + "id": 1247, + "nodeType": "Block", + "src": "5739:568:6", + "statements": [ + { + "assignments": [ + 1187 + ], + "declarations": [ + { + "constant": false, + "id": 1187, + "name": "requester", + "nodeType": "VariableDeclaration", + "scope": 1248, + "src": "5743:17:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1186, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5743:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1190, + "initialValue": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1188, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "5763:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1189, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "5763:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5743:30:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1194, + "name": "_marketorderIdx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1169, + "src": "5819:15:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 1195, + "name": "requester", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1187, + "src": "5836:9:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1196, + "name": "_workerpool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1171, + "src": "5847:11:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 1192, + "name": "marketplace", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 756, + "src": "5785:11:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Marketplace_$3513", + "typeString": "contract Marketplace" + } + }, + "id": 1193, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "consumeMarketOrderAsk", + "nodeType": "MemberAccess", + "referencedDeclaration": 3227, + "src": "5785:33:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_address_$_t_address_$returns$_t_bool_$", + "typeString": "function (uint256,address,address) external returns (bool)" + } + }, + "id": 1197, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5785:74:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1191, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "5777:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1198, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5777:83:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1199, + "nodeType": "ExpressionStatement", + "src": "5777:83:6" + }, + { + "assignments": [ + 1201 + ], + "declarations": [ + { + "constant": false, + "id": 1201, + "name": "emitcost", + "nodeType": "VariableDeclaration", + "scope": 1248, + "src": "5865:16:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1200, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5865:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1208, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1203, + "name": "requester", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1187, + "src": "5902:9:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1204, + "name": "_workerpool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1171, + "src": "5913:11:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1205, + "name": "_app", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1173, + "src": "5926:4:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1206, + "name": "_dataset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1175, + "src": "5932:8:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1202, + "name": "lockWorkOrderCost", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1338, + "src": "5884:17:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_address_$returns$_t_uint256_$", + "typeString": "function (address,address,address,address) returns (uint256)" + } + }, + "id": 1207, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5884:57:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5865:76:6" + }, + { + "assignments": [ + 1210 + ], + "declarations": [ + { + "constant": false, + "id": 1210, + "name": "workorder", + "nodeType": "VariableDeclaration", + "scope": 1248, + "src": "5946:19:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4299", + "typeString": "contract WorkOrder" + }, + "typeName": { + "contractScope": null, + "id": 1209, + "name": "WorkOrder", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 4299, + "src": "5946:9:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4299", + "typeString": "contract WorkOrder" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1223, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1213, + "name": "_marketorderIdx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1169, + "src": "5986:15:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 1214, + "name": "requester", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1187, + "src": "6006:9:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1215, + "name": "_app", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1173, + "src": "6020:4:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1216, + "name": "_dataset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1175, + "src": "6029:8:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1217, + "name": "_workerpool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1171, + "src": "6042:11:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1218, + "name": "emitcost", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1201, + "src": "6058:8:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 1219, + "name": "_params", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1177, + "src": "6071:7:6", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + }, + { + "argumentTypes": null, + "id": 1220, + "name": "_callback", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1179, + "src": "6083:9:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1221, + "name": "_beneficiary", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1181, + "src": "6097:12:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1212, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "5968:13:6", + "typeDescriptions": { + "typeIdentifier": "t_function_creation_nonpayable$_t_uint256_$_t_address_$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_string_memory_ptr_$_t_address_$_t_address_$returns$_t_contract$_WorkOrder_$4299_$", + "typeString": "function (uint256,address,address,address,address,uint256,string memory,address,address) returns (contract WorkOrder)" + }, + "typeName": { + "contractScope": null, + "id": 1211, + "name": "WorkOrder", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 4299, + "src": "5972:9:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4299", + "typeString": "contract WorkOrder" + } + } + }, + "id": 1222, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5968:145:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4299", + "typeString": "contract WorkOrder" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5946:167:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 1228, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1224, + "name": "m_woidRegistered", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 796, + "src": "6118:16:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 1226, + "indexExpression": { + "argumentTypes": null, + "id": 1225, + "name": "workorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1210, + "src": "6135:9:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4299", + "typeString": "contract WorkOrder" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "6118:27:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 1227, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6148:4:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "6118:34:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1229, + "nodeType": "ExpressionStatement", + "src": "6118:34:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1235, + "name": "workorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1210, + "src": "6203:9:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4299", + "typeString": "contract WorkOrder" + } + }, + { + "argumentTypes": null, + "id": 1236, + "name": "_marketorderIdx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1169, + "src": "6214:15:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_WorkOrder_$4299", + "typeString": "contract WorkOrder" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1232, + "name": "_workerpool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1171, + "src": "6176:11:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1231, + "name": "WorkerPool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6097, + "src": "6165:10:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_WorkerPool_$6097_$", + "typeString": "type(contract WorkerPool)" + } + }, + "id": 1233, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6165:23:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkerPool_$6097", + "typeString": "contract WorkerPool" + } + }, + "id": 1234, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "emitWorkOrder", + "nodeType": "MemberAccess", + "referencedDeclaration": 4983, + "src": "6165:37:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) external returns (bool)" + } + }, + "id": 1237, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6165:65:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1230, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "6157:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1238, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6157:74:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1239, + "nodeType": "ExpressionStatement", + "src": "6157:74:6" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1241, + "name": "workorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1210, + "src": "6260:9:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4299", + "typeString": "contract WorkOrder" + } + }, + { + "argumentTypes": null, + "id": 1242, + "name": "_workerpool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1171, + "src": "6271:11:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_WorkOrder_$4299", + "typeString": "contract WorkOrder" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1240, + "name": "WorkOrderActivated", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 820, + "src": "6241:18:6", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address)" + } + }, + "id": 1243, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6241:42:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1244, + "nodeType": "EmitStatement", + "src": "6236:47:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 1245, + "name": "workorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1210, + "src": "6294:9:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4299", + "typeString": "contract WorkOrder" + } + }, + "functionReturnParameters": 1185, + "id": 1246, + "nodeType": "Return", + "src": "6287:16:6" + } + ] + }, + "documentation": "WorkOrder Emission", + "id": 1248, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "buyForWorkOrder", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1182, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1169, + "name": "_marketorderIdx", + "nodeType": "VariableDeclaration", + "scope": 1248, + "src": "5562:23:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1168, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5562:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1171, + "name": "_workerpool", + "nodeType": "VariableDeclaration", + "scope": 1248, + "src": "5589:19:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1170, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5589:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1173, + "name": "_app", + "nodeType": "VariableDeclaration", + "scope": 1248, + "src": "5612:12:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1172, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5612:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1175, + "name": "_dataset", + "nodeType": "VariableDeclaration", + "scope": 1248, + "src": "5628:16:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1174, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5628:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1177, + "name": "_params", + "nodeType": "VariableDeclaration", + "scope": 1248, + "src": "5648:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + }, + "typeName": { + "id": 1176, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "5648:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1179, + "name": "_callback", + "nodeType": "VariableDeclaration", + "scope": 1248, + "src": "5667:17:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1178, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5667:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1181, + "name": "_beneficiary", + "nodeType": "VariableDeclaration", + "scope": 1248, + "src": "5688:20:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1180, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5688:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5558:151:6" + }, + "payable": false, + "returnParameters": { + "id": 1185, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1184, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1248, + "src": "5729:7:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1183, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5729:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5728:9:6" + }, + "scope": 2436, + "src": "5534:773:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": { + "id": 1259, + "nodeType": "Block", + "src": "6378:38:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1255, + "name": "m_woidRegistered", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 796, + "src": "6389:16:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 1257, + "indexExpression": { + "argumentTypes": null, + "id": 1256, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1250, + "src": "6406:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6389:23:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 1254, + "id": 1258, + "nodeType": "Return", + "src": "6382:30:6" + } + ] + }, + "documentation": null, + "id": 1260, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "isWoidRegistred", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1251, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1250, + "name": "_woid", + "nodeType": "VariableDeclaration", + "scope": 1260, + "src": "6335:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1249, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6335:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6334:15:6" + }, + "payable": false, + "returnParameters": { + "id": 1254, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1253, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1260, + "src": "6371:4:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1252, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "6371:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6370:6:6" + }, + "scope": 2436, + "src": "6310:106:6", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1337, + "nodeType": "Block", + "src": "6657:610:6", + "statements": [ + { + "assignments": [ + 1274 + ], + "declarations": [ + { + "constant": false, + "id": 1274, + "name": "app", + "nodeType": "VariableDeclaration", + "scope": 1338, + "src": "6670:7:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_App_$54", + "typeString": "contract App" + }, + "typeName": { + "contractScope": null, + "id": 1273, + "name": "App", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 54, + "src": "6670:3:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_App_$54", + "typeString": "contract App" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1278, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1276, + "name": "_app", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1266, + "src": "6684:4:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1275, + "name": "App", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 54, + "src": "6680:3:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_App_$54_$", + "typeString": "type(contract App)" + } + }, + "id": 1277, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6680:9:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_App_$54", + "typeString": "contract App" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6670:19:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1282, + "name": "_app", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1266, + "src": "6725:4:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 1280, + "name": "appHub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 750, + "src": "6701:6:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_AppHub_$224", + "typeString": "contract AppHub" + } + }, + "id": 1281, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "isAppRegistered", + "nodeType": "MemberAccess", + "referencedDeclaration": 100, + "src": "6701:22:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_bool_$", + "typeString": "function (address) view external returns (bool)" + } + }, + "id": 1283, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6701:29:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1279, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "6693:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1284, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6693:38:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1285, + "nodeType": "ExpressionStatement", + "src": "6693:38:6" + }, + { + "assignments": [ + 1287 + ], + "declarations": [ + { + "constant": false, + "id": 1287, + "name": "emitcost", + "nodeType": "VariableDeclaration", + "scope": 1338, + "src": "6776:16:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1286, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6776:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1291, + "initialValue": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 1288, + "name": "app", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1274, + "src": "6795:3:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_App_$54", + "typeString": "contract App" + } + }, + "id": 1289, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_appPrice", + "nodeType": "MemberAccess", + "referencedDeclaration": 11, + "src": "6795:14:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", + "typeString": "function () view external returns (uint256)" + } + }, + "id": 1290, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6795:16:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6776:35:6" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1296, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1292, + "name": "_dataset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1268, + "src": "6833:8:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 1294, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6853:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 1293, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "6845:7:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 1295, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6845:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "6833:22:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 1320, + "nodeType": "IfStatement", + "src": "6829:256:6", + "trueBody": { + "id": 1319, + "nodeType": "Block", + "src": "6888:197:6", + "statements": [ + { + "assignments": [ + 1298 + ], + "declarations": [ + { + "constant": false, + "id": 1298, + "name": "dataset", + "nodeType": "VariableDeclaration", + "scope": 1338, + "src": "6893:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Dataset_$279", + "typeString": "contract Dataset" + }, + "typeName": { + "contractScope": null, + "id": 1297, + "name": "Dataset", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 279, + "src": "6893:7:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Dataset_$279", + "typeString": "contract Dataset" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1302, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1300, + "name": "_dataset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1268, + "src": "6919:8:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1299, + "name": "Dataset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 279, + "src": "6911:7:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Dataset_$279_$", + "typeString": "type(contract Dataset)" + } + }, + "id": 1301, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6911:17:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Dataset_$279", + "typeString": "contract Dataset" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6893:35:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1306, + "name": "_dataset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1268, + "src": "6971:8:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 1304, + "name": "datasetHub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 752, + "src": "6941:10:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DatasetHub_$449", + "typeString": "contract DatasetHub" + } + }, + "id": 1305, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "isDatasetRegistred", + "nodeType": "MemberAccess", + "referencedDeclaration": 325, + "src": "6941:29:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_bool_$", + "typeString": "function (address) view external returns (bool)" + } + }, + "id": 1307, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6941:39:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1303, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "6933:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1308, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6933:48:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1309, + "nodeType": "ExpressionStatement", + "src": "6933:48:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 1317, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 1310, + "name": "emitcost", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1287, + "src": "7031:8:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 1313, + "name": "dataset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1298, + "src": "7055:7:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Dataset_$279", + "typeString": "contract Dataset" + } + }, + "id": 1314, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_datasetPrice", + "nodeType": "MemberAccess", + "referencedDeclaration": 236, + "src": "7055:22:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", + "typeString": "function () view external returns (uint256)" + } + }, + "id": 1315, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7055:24:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 1311, + "name": "emitcost", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1287, + "src": "7042:8:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1312, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 3773, + "src": "7042:12:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 1316, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7042:38:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7031:49:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1318, + "nodeType": "ExpressionStatement", + "src": "7031:49:6" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1324, + "name": "_workerpool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1264, + "src": "7150:11:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 1322, + "name": "workerPoolHub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 754, + "src": "7113:13:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkerPoolHub_$6349", + "typeString": "contract WorkerPoolHub" + } + }, + "id": 1323, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "isWorkerPoolRegistered", + "nodeType": "MemberAccess", + "referencedDeclaration": 6147, + "src": "7113:36:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_bool_$", + "typeString": "function (address) view external returns (bool)" + } + }, + "id": 1325, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7113:49:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1321, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "7105:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1326, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7105:58:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1327, + "nodeType": "ExpressionStatement", + "src": "7105:58:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1330, + "name": "_requester", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1262, + "src": "7181:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1331, + "name": "emitcost", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1287, + "src": "7193:8:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1329, + "name": "lock", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2397, + "src": "7176:4:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) returns (bool)" + } + }, + "id": 1332, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7176:26:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1328, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "7168:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1333, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7168:35:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1334, + "nodeType": "ExpressionStatement", + "src": "7168:35:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 1335, + "name": "emitcost", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1287, + "src": "7255:8:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 1272, + "id": 1336, + "nodeType": "Return", + "src": "7248:15:6" + } + ] + }, + "documentation": null, + "id": 1338, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "lockWorkOrderCost", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1269, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1262, + "name": "_requester", + "nodeType": "VariableDeclaration", + "scope": 1338, + "src": "6449:18:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1261, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6449:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1264, + "name": "_workerpool", + "nodeType": "VariableDeclaration", + "scope": 1338, + "src": "6471:19:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1263, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6471:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1266, + "name": "_app", + "nodeType": "VariableDeclaration", + "scope": 1338, + "src": "6524:12:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1265, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6524:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1268, + "name": "_dataset", + "nodeType": "VariableDeclaration", + "scope": 1338, + "src": "6577:16:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1267, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6577:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6445:149:6" + }, + "payable": false, + "returnParameters": { + "id": 1272, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1271, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1338, + "src": "6647:7:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1270, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6647:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6646:9:6" + }, + "scope": 2436, + "src": "6419:848:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 1475, + "nodeType": "Block", + "src": "7401:1465:6", + "statements": [ + { + "assignments": [ + 1349 + ], + "declarations": [ + { + "constant": false, + "id": 1349, + "name": "workorder", + "nodeType": "VariableDeclaration", + "scope": 1476, + "src": "7405:20:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4299", + "typeString": "contract WorkOrder" + }, + "typeName": { + "contractScope": null, + "id": 1348, + "name": "WorkOrder", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 4299, + "src": "7405:9:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4299", + "typeString": "contract WorkOrder" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1353, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1351, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1340, + "src": "7439:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1350, + "name": "WorkOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4299, + "src": "7429:9:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_WorkOrder_$4299_$", + "typeString": "type(contract WorkOrder)" + } + }, + "id": 1352, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7429:16:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4299", + "typeString": "contract WorkOrder" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7405:40:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1360, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 1355, + "name": "workorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1349, + "src": "7457:9:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4299", + "typeString": "contract WorkOrder" + } + }, + "id": 1356, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_requester", + "nodeType": "MemberAccess", + "referencedDeclaration": 4050, + "src": "7457:21:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + "id": 1357, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7457:23:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1358, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "7484:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1359, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "7484:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "7457:37:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1354, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "7449:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1361, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7449:46:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1362, + "nodeType": "ExpressionStatement", + "src": "7449:46:6" + }, + { + "assignments": [ + 1364 + ], + "declarations": [ + { + "constant": false, + "id": 1364, + "name": "workerpool", + "nodeType": "VariableDeclaration", + "scope": 1476, + "src": "7499:21:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkerPool_$6097", + "typeString": "contract WorkerPool" + }, + "typeName": { + "contractScope": null, + "id": 1363, + "name": "WorkerPool", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 6097, + "src": "7499:10:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkerPool_$6097", + "typeString": "contract WorkerPool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1370, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 1366, + "name": "workorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1349, + "src": "7534:9:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4299", + "typeString": "contract WorkOrder" + } + }, + "id": 1367, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_workerpool", + "nodeType": "MemberAccess", + "referencedDeclaration": 4048, + "src": "7534:22:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + "id": 1368, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7534:24:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1365, + "name": "WorkerPool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6097, + "src": "7523:10:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_WorkerPool_$6097_$", + "typeString": "type(contract WorkerPool)" + } + }, + "id": 1369, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7523:36:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkerPool_$6097", + "typeString": "contract WorkerPool" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7499:60:6" + }, + { + "assignments": [ + 1374 + ], + "declarations": [ + { + "constant": false, + "id": 1374, + "name": "currentStatus", + "nodeType": "VariableDeclaration", + "scope": 1476, + "src": "7564:42:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + }, + "typeName": { + "contractScope": null, + "id": 1373, + "name": "IexecLib.WorkOrderStatusEnum", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2832, + "src": "7564:28:6", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1378, + "initialValue": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 1375, + "name": "workorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1349, + "src": "7609:9:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4299", + "typeString": "contract WorkOrder" + } + }, + "id": 1376, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_status", + "nodeType": "MemberAccess", + "referencedDeclaration": 4040, + "src": "7609:18:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_enum$_WorkOrderStatusEnum_$2832_$", + "typeString": "function () view external returns (enum IexecLib.WorkOrderStatusEnum)" + } + }, + "id": 1377, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7609:20:6", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7564:65:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 1390, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + }, + "id": 1384, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1380, + "name": "currentStatus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1374, + "src": "7641:13:6", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1381, + "name": "IexecLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2893, + "src": "7658:8:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecLib_$2893_$", + "typeString": "type(library IexecLib)" + } + }, + "id": 1382, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "WorkOrderStatusEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 2832, + "src": "7658:28:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_WorkOrderStatusEnum_$2832_$", + "typeString": "type(enum IexecLib.WorkOrderStatusEnum)" + } + }, + "id": 1383, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "ACTIVE", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "7658:35:6", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "src": "7641:52:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + }, + "id": 1389, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1385, + "name": "currentStatus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1374, + "src": "7697:13:6", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1386, + "name": "IexecLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2893, + "src": "7714:8:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecLib_$2893_$", + "typeString": "type(library IexecLib)" + } + }, + "id": 1387, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "WorkOrderStatusEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 2832, + "src": "7714:28:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_WorkOrderStatusEnum_$2832_$", + "typeString": "type(enum IexecLib.WorkOrderStatusEnum)" + } + }, + "id": 1388, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "REVEALING", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "7714:38:6", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "src": "7697:55:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "7641:111:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1379, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "7633:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1391, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7633:120:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1392, + "nodeType": "ExpressionStatement", + "src": "7633:120:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1396, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1340, + "src": "7832:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 1394, + "name": "workerpool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1364, + "src": "7800:10:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkerPool_$6097", + "typeString": "contract WorkerPool" + } + }, + "id": 1395, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "claimFailedConsensus", + "nodeType": "MemberAccess", + "referencedDeclaration": 5063, + "src": "7800:31:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$_t_bool_$", + "typeString": "function (address) external returns (bool)" + } + }, + "id": 1397, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7800:38:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1393, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "7792:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1398, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7792:47:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1399, + "nodeType": "ExpressionStatement", + "src": "7792:47:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 1400, + "name": "workorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1349, + "src": "7843:9:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4299", + "typeString": "contract WorkOrder" + } + }, + "id": 1402, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "claim", + "nodeType": "MemberAccess", + "referencedDeclaration": 4249, + "src": "7843:15:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$__$returns$__$", + "typeString": "function () external" + } + }, + "id": 1403, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7843:17:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1404, + "nodeType": "ExpressionStatement", + "src": "7843:17:6" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 1406, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 1476, + "src": "8134:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1405, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8134:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1407, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "8134:13:6" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 1409, + "name": "workerpoolOwner", + "nodeType": "VariableDeclaration", + "scope": 1476, + "src": "8151:23:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1408, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8151:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1410, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "8151:23:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 1420, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + null, + null, + null, + { + "argumentTypes": null, + "id": 1411, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1406, + "src": "8182:5:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + null, + null, + null, + { + "argumentTypes": null, + "id": 1412, + "name": "workerpoolOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1409, + "src": "8191:15:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 1413, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "8178:29:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$__$__$_t_uint256_$__$__$__$_t_address_$", + "typeString": "tuple(,,,uint256,,,,address)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 1416, + "name": "workorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1349, + "src": "8237:9:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4299", + "typeString": "contract WorkOrder" + } + }, + "id": 1417, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_marketorderIdx", + "nodeType": "MemberAccess", + "referencedDeclaration": 4042, + "src": "8237:26:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", + "typeString": "function () view external returns (uint256)" + } + }, + "id": 1418, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8237:28:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 1414, + "name": "marketplace", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 756, + "src": "8210:11:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Marketplace_$3513", + "typeString": "contract Marketplace" + } + }, + "id": 1415, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getMarketOrder", + "nodeType": "MemberAccess", + "referencedDeclaration": 3372, + "src": "8210:26:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_enum$_MarketOrderDirectionEnum_$2809_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$_t_address_$", + "typeString": "function (uint256) view external returns (enum IexecLib.MarketOrderDirectionEnum,uint256,uint256,uint256,uint256,uint256,address,address)" + } + }, + "id": 1419, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8210:56:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_enum$_MarketOrderDirectionEnum_$2809_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$_t_address_$", + "typeString": "tuple(enum IexecLib.MarketOrderDirectionEnum,uint256,uint256,uint256,uint256,uint256,address,address)" + } + }, + "src": "8178:88:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1421, + "nodeType": "ExpressionStatement", + "src": "8178:88:6" + }, + { + "assignments": [ + 1423 + ], + "declarations": [ + { + "constant": false, + "id": 1423, + "name": "workerpoolStake", + "nodeType": "VariableDeclaration", + "scope": 1476, + "src": "8299:23:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1422, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8299:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1430, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 1426, + "name": "marketplace", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 756, + "src": "8342:11:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Marketplace_$3513", + "typeString": "contract Marketplace" + } + }, + "id": 1427, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "ASK_STAKE_RATIO", + "nodeType": "MemberAccess", + "referencedDeclaration": 2914, + "src": "8342:27:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", + "typeString": "function () view external returns (uint256)" + } + }, + "id": 1428, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8342:29:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 1424, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1406, + "src": "8325:5:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1425, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "percentage", + "nodeType": "MemberAccess", + "referencedDeclaration": 3914, + "src": "8325:16:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 1429, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8325:47:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "8299:73:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 1433, + "name": "workorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1349, + "src": "8393:9:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4299", + "typeString": "contract WorkOrder" + } + }, + "id": 1434, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_requester", + "nodeType": "MemberAccess", + "referencedDeclaration": 4050, + "src": "8393:21:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + "id": 1435, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8393:23:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 1438, + "name": "workorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1349, + "src": "8428:9:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4299", + "typeString": "contract WorkOrder" + } + }, + "id": 1439, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_emitcost", + "nodeType": "MemberAccess", + "referencedDeclaration": 4052, + "src": "8428:20:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", + "typeString": "function () view external returns (uint256)" + } + }, + "id": 1440, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8428:22:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 1436, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1406, + "src": "8418:5:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1437, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 3773, + "src": "8418:9:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 1441, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8418:33:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1432, + "name": "unlock", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2435, + "src": "8385:6:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) returns (bool)" + } + }, + "id": 1442, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8385:67:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1431, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "8377:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1443, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8377:76:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1444, + "nodeType": "ExpressionStatement", + "src": "8377:76:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1447, + "name": "workerpoolOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1409, + "src": "8511:15:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1448, + "name": "workerpoolStake", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1423, + "src": "8536:15:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1446, + "name": "seize", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2359, + "src": "8503:5:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) returns (bool)" + } + }, + "id": 1449, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8503:49:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1445, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "8495:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1450, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8495:58:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1451, + "nodeType": "ExpressionStatement", + "src": "8495:58:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1454, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7063, + "src": "8684:4:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHub_$2436", + "typeString": "contract IexecHub" + } + }, + { + "argumentTypes": null, + "id": 1455, + "name": "workerpoolStake", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1423, + "src": "8709:15:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_IexecHub_$2436", + "typeString": "contract IexecHub" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1453, + "name": "reward", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2329, + "src": "8676:6:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) returns (bool)" + } + }, + "id": 1456, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8676:49:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1452, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "8668:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1457, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8668:58:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1458, + "nodeType": "ExpressionStatement", + "src": "8668:58:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1461, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7063, + "src": "8746:4:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHub_$2436", + "typeString": "contract IexecHub" + } + }, + { + "argumentTypes": null, + "id": 1462, + "name": "workerpoolStake", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1423, + "src": "8771:15:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_IexecHub_$2436", + "typeString": "contract IexecHub" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1460, + "name": "lock", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2397, + "src": "8738:4:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) returns (bool)" + } + }, + "id": 1463, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8738:49:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1459, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "8730:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1464, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8730:58:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1465, + "nodeType": "ExpressionStatement", + "src": "8730:58:6" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1467, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1340, + "src": "8815:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 1468, + "name": "workorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1349, + "src": "8822:9:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4299", + "typeString": "contract WorkOrder" + } + }, + "id": 1469, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_workerpool", + "nodeType": "MemberAccess", + "referencedDeclaration": 4048, + "src": "8822:22:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + "id": 1470, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8822:24:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1466, + "name": "WorkOrderClaimed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 826, + "src": "8798:16:6", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address)" + } + }, + "id": 1471, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8798:49:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1472, + "nodeType": "EmitStatement", + "src": "8793:54:6" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 1473, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8858:4:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 1347, + "id": 1474, + "nodeType": "Return", + "src": "8851:11:6" + } + ] + }, + "documentation": "WorkOrder life cycle", + "id": 1476, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "id": 1343, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1340, + "src": "7378:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 1344, + "modifierName": { + "argumentTypes": null, + "id": 1342, + "name": "onlyRegisteredWoid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 808, + "src": "7359:18:6", + "typeDescriptions": { + "typeIdentifier": "t_modifier$_t_address_$", + "typeString": "modifier (address)" + } + }, + "nodeType": "ModifierInvocation", + "src": "7359:25:6" + } + ], + "name": "claimFailedConsensus", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1341, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1340, + "name": "_woid", + "nodeType": "VariableDeclaration", + "scope": 1476, + "src": "7336:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1339, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7336:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7335:15:6" + }, + "payable": false, + "returnParameters": { + "id": 1347, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1346, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1476, + "src": "7394:4:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1345, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "7394:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7393:6:6" + }, + "scope": 2436, + "src": "7306:1560:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1683, + "nodeType": "Block", + "src": "9018:2281:6", + "statements": [ + { + "assignments": [ + 1493 + ], + "declarations": [ + { + "constant": false, + "id": 1493, + "name": "workorder", + "nodeType": "VariableDeclaration", + "scope": 1684, + "src": "9022:19:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4299", + "typeString": "contract WorkOrder" + }, + "typeName": { + "contractScope": null, + "id": 1492, + "name": "WorkOrder", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 4299, + "src": "9022:9:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4299", + "typeString": "contract WorkOrder" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1497, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1495, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1478, + "src": "9054:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1494, + "name": "WorkOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4299, + "src": "9044:9:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_WorkOrder_$4299_$", + "typeString": "type(contract WorkOrder)" + } + }, + "id": 1496, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9044:16:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4299", + "typeString": "contract WorkOrder" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "9022:38:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1504, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 1499, + "name": "workorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1493, + "src": "9072:9:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4299", + "typeString": "contract WorkOrder" + } + }, + "id": 1500, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_workerpool", + "nodeType": "MemberAccess", + "referencedDeclaration": 4048, + "src": "9072:22:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + "id": 1501, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9072:24:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1502, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "9100:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1503, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "9100:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "9072:38:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1498, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "9064:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1505, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9064:47:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1506, + "nodeType": "ExpressionStatement", + "src": "9064:47:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + }, + "id": 1514, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 1508, + "name": "workorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1493, + "src": "9123:9:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4299", + "typeString": "contract WorkOrder" + } + }, + "id": 1509, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_status", + "nodeType": "MemberAccess", + "referencedDeclaration": 4040, + "src": "9123:18:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_enum$_WorkOrderStatusEnum_$2832_$", + "typeString": "function () view external returns (enum IexecLib.WorkOrderStatusEnum)" + } + }, + "id": 1510, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9123:20:6", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1511, + "name": "IexecLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2893, + "src": "9151:8:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecLib_$2893_$", + "typeString": "type(library IexecLib)" + } + }, + "id": 1512, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "WorkOrderStatusEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 2832, + "src": "9151:28:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_WorkOrderStatusEnum_$2832_$", + "typeString": "type(enum IexecLib.WorkOrderStatusEnum)" + } + }, + "id": 1513, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "REVEALING", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "9151:38:6", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "src": "9123:66:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1507, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "9115:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1515, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9115:75:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1516, + "nodeType": "ExpressionStatement", + "src": "9115:75:6" + }, + { + "assignments": [ + 1518 + ], + "declarations": [ + { + "constant": false, + "id": 1518, + "name": "app", + "nodeType": "VariableDeclaration", + "scope": 1684, + "src": "9204:11:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_App_$54", + "typeString": "contract App" + }, + "typeName": { + "contractScope": null, + "id": 1517, + "name": "App", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 54, + "src": "9204:3:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_App_$54", + "typeString": "contract App" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1524, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 1520, + "name": "workorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1493, + "src": "9227:9:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4299", + "typeString": "contract WorkOrder" + } + }, + "id": 1521, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_app", + "nodeType": "MemberAccess", + "referencedDeclaration": 4044, + "src": "9227:15:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + "id": 1522, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9227:17:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1519, + "name": "App", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 54, + "src": "9223:3:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_App_$54_$", + "typeString": "type(contract App)" + } + }, + "id": 1523, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9223:22:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_App_$54", + "typeString": "contract App" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "9204:41:6" + }, + { + "assignments": [ + 1526 + ], + "declarations": [ + { + "constant": false, + "id": 1526, + "name": "appPrice", + "nodeType": "VariableDeclaration", + "scope": 1684, + "src": "9249:16:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1525, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9249:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1530, + "initialValue": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 1527, + "name": "app", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1518, + "src": "9268:3:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_App_$54", + "typeString": "contract App" + } + }, + "id": 1528, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_appPrice", + "nodeType": "MemberAccess", + "referencedDeclaration": 11, + "src": "9268:14:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", + "typeString": "function () view external returns (uint256)" + } + }, + "id": 1529, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9268:16:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "9249:35:6" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1533, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1531, + "name": "appPrice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1526, + "src": "9292:8:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 1532, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9303:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "9292:12:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 1544, + "nodeType": "IfStatement", + "src": "9288:70:6", + "trueBody": { + "id": 1543, + "nodeType": "Block", + "src": "9308:50:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 1536, + "name": "app", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1518, + "src": "9328:3:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_App_$54", + "typeString": "contract App" + } + }, + "id": 1537, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 3681, + "src": "9328:11:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + "id": 1538, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9328:13:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1539, + "name": "appPrice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1526, + "src": "9343:8:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1535, + "name": "reward", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2329, + "src": "9321:6:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) returns (bool)" + } + }, + "id": 1540, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9321:31:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1534, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "9313:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1541, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9313:40:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1542, + "nodeType": "ExpressionStatement", + "src": "9313:40:6" + } + ] + } + }, + { + "assignments": [ + 1546 + ], + "declarations": [ + { + "constant": false, + "id": 1546, + "name": "dataset", + "nodeType": "VariableDeclaration", + "scope": 1684, + "src": "9375:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Dataset_$279", + "typeString": "contract Dataset" + }, + "typeName": { + "contractScope": null, + "id": 1545, + "name": "Dataset", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 279, + "src": "9375:7:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Dataset_$279", + "typeString": "contract Dataset" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1552, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 1548, + "name": "workorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1493, + "src": "9401:9:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4299", + "typeString": "contract WorkOrder" + } + }, + "id": 1549, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_dataset", + "nodeType": "MemberAccess", + "referencedDeclaration": 4046, + "src": "9401:19:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + "id": 1550, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9401:21:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1547, + "name": "Dataset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 279, + "src": "9393:7:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Dataset_$279_$", + "typeString": "type(contract Dataset)" + } + }, + "id": 1551, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9393:30:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Dataset_$279", + "typeString": "contract Dataset" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "9375:48:6" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1557, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1553, + "name": "dataset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1546, + "src": "9431:7:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Dataset_$279", + "typeString": "contract Dataset" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 1555, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9450:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 1554, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "9442:7:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 1556, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9442:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "9431:21:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 1579, + "nodeType": "IfStatement", + "src": "9427:175:6", + "trueBody": { + "id": 1578, + "nodeType": "Block", + "src": "9456:146:6", + "statements": [ + { + "assignments": [ + 1559 + ], + "declarations": [ + { + "constant": false, + "id": 1559, + "name": "datasetPrice", + "nodeType": "VariableDeclaration", + "scope": 1684, + "src": "9461:20:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1558, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9461:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1563, + "initialValue": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 1560, + "name": "dataset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1546, + "src": "9484:7:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Dataset_$279", + "typeString": "contract Dataset" + } + }, + "id": 1561, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_datasetPrice", + "nodeType": "MemberAccess", + "referencedDeclaration": 236, + "src": "9484:22:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", + "typeString": "function () view external returns (uint256)" + } + }, + "id": 1562, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9484:24:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "9461:47:6" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1566, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1564, + "name": "datasetPrice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1559, + "src": "9517:12:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 1565, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9532:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "9517:16:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 1577, + "nodeType": "IfStatement", + "src": "9513:85:6", + "trueBody": { + "id": 1576, + "nodeType": "Block", + "src": "9538:60:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 1569, + "name": "dataset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1546, + "src": "9559:7:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Dataset_$279", + "typeString": "contract Dataset" + } + }, + "id": 1570, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 3681, + "src": "9559:15:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + "id": 1571, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9559:17:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1572, + "name": "datasetPrice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1559, + "src": "9578:12:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1568, + "name": "reward", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2329, + "src": "9552:6:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) returns (bool)" + } + }, + "id": 1573, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9552:39:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1567, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "9544:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1574, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9544:48:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1575, + "nodeType": "ExpressionStatement", + "src": "9544:48:6" + } + ] + } + } + ] + } + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 1581, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 1684, + "src": "10071:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1580, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10071:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1582, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "10071:13:6" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 1584, + "name": "workerpoolOwner", + "nodeType": "VariableDeclaration", + "scope": 1684, + "src": "10088:23:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1583, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "10088:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1585, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "10088:23:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 1595, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + null, + null, + null, + { + "argumentTypes": null, + "id": 1586, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1581, + "src": "10119:5:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + null, + null, + null, + { + "argumentTypes": null, + "id": 1587, + "name": "workerpoolOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1584, + "src": "10128:15:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 1588, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "10115:29:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$__$__$_t_uint256_$__$__$__$_t_address_$", + "typeString": "tuple(,,,uint256,,,,address)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 1591, + "name": "workorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1493, + "src": "10174:9:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4299", + "typeString": "contract WorkOrder" + } + }, + "id": 1592, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_marketorderIdx", + "nodeType": "MemberAccess", + "referencedDeclaration": 4042, + "src": "10174:26:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", + "typeString": "function () view external returns (uint256)" + } + }, + "id": 1593, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10174:28:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 1589, + "name": "marketplace", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 756, + "src": "10147:11:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Marketplace_$3513", + "typeString": "contract Marketplace" + } + }, + "id": 1590, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getMarketOrder", + "nodeType": "MemberAccess", + "referencedDeclaration": 3372, + "src": "10147:26:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_enum$_MarketOrderDirectionEnum_$2809_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$_t_address_$", + "typeString": "function (uint256) view external returns (enum IexecLib.MarketOrderDirectionEnum,uint256,uint256,uint256,uint256,uint256,address,address)" + } + }, + "id": 1594, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10147:56:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_enum$_MarketOrderDirectionEnum_$2809_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$_t_address_$", + "typeString": "tuple(enum IexecLib.MarketOrderDirectionEnum,uint256,uint256,uint256,uint256,uint256,address,address)" + } + }, + "src": "10115:88:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1596, + "nodeType": "ExpressionStatement", + "src": "10115:88:6" + }, + { + "assignments": [ + 1598 + ], + "declarations": [ + { + "constant": false, + "id": 1598, + "name": "workerpoolStake", + "nodeType": "VariableDeclaration", + "scope": 1684, + "src": "10236:23:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1597, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10236:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1605, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 1601, + "name": "marketplace", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 756, + "src": "10285:11:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Marketplace_$3513", + "typeString": "contract Marketplace" + } + }, + "id": 1602, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "ASK_STAKE_RATIO", + "nodeType": "MemberAccess", + "referencedDeclaration": 2914, + "src": "10285:27:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", + "typeString": "function () view external returns (uint256)" + } + }, + "id": 1603, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10285:29:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 1599, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1581, + "src": "10268:5:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1600, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "percentage", + "nodeType": "MemberAccess", + "referencedDeclaration": 3914, + "src": "10268:16:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 1604, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10268:47:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "10236:79:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 1608, + "name": "workorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1493, + "src": "10335:9:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4299", + "typeString": "contract WorkOrder" + } + }, + "id": 1609, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_requester", + "nodeType": "MemberAccess", + "referencedDeclaration": 4050, + "src": "10335:21:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + "id": 1610, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10335:23:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 1613, + "name": "workorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1493, + "src": "10370:9:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4299", + "typeString": "contract WorkOrder" + } + }, + "id": 1614, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_emitcost", + "nodeType": "MemberAccess", + "referencedDeclaration": 4052, + "src": "10370:20:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", + "typeString": "function () view external returns (uint256)" + } + }, + "id": 1615, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10370:22:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 1611, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1581, + "src": "10360:5:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1612, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 3773, + "src": "10360:9:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 1616, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10360:33:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1607, + "name": "seize", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2359, + "src": "10328:5:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) returns (bool)" + } + }, + "id": 1617, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10328:66:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1606, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "10320:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1618, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10320:75:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1619, + "nodeType": "ExpressionStatement", + "src": "10320:75:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1622, + "name": "workerpoolOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1584, + "src": "10467:15:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1623, + "name": "workerpoolStake", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1598, + "src": "10492:15:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1621, + "name": "unlock", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2435, + "src": "10460:6:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) returns (bool)" + } + }, + "id": 1624, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10460:48:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1620, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "10452:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1625, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10452:57:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1626, + "nodeType": "ExpressionStatement", + "src": "10452:57:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1630, + "name": "_stdout", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1480, + "src": "10579:7:6", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "id": 1631, + "name": "_stderr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1482, + "src": "10588:7:6", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "id": 1632, + "name": "_uri", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1484, + "src": "10597:4:6", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "argumentTypes": null, + "id": 1627, + "name": "workorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1493, + "src": "10559:9:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4299", + "typeString": "contract WorkOrder" + } + }, + "id": 1629, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "setResult", + "nodeType": "MemberAccess", + "referencedDeclaration": 4298, + "src": "10559:19:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory,string memory,string memory) external" + } + }, + "id": 1633, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10559:43:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1634, + "nodeType": "ExpressionStatement", + "src": "10559:43:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 1640, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 1635, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1581, + "src": "10950:5:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1636, + "name": "m_accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 792, + "src": "10958:10:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$2878_storage_$", + "typeString": "mapping(address => struct IexecLib.Account storage ref)" + } + }, + "id": 1638, + "indexExpression": { + "argumentTypes": null, + "id": 1637, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7063, + "src": "10969:4:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHub_$2436", + "typeString": "contract IexecHub" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10958:16:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Account_$2878_storage", + "typeString": "struct IexecLib.Account storage ref" + } + }, + "id": 1639, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "locked", + "nodeType": "MemberAccess", + "referencedDeclaration": 2877, + "src": "10958:23:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10950:31:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1641, + "nodeType": "ExpressionStatement", + "src": "10950:31:6" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1644, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1642, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1581, + "src": "11024:5:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 1643, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11032:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "11024:9:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 1673, + "nodeType": "IfStatement", + "src": "11021:199:6", + "trueBody": { + "id": 1672, + "nodeType": "Block", + "src": "11037:183:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 1656, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 1645, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1581, + "src": "11042:5:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1653, + "name": "STAKE_BONUS_MIN_THRESHOLD", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 745, + "src": "11100:25:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1650, + "name": "STAKE_BONUS_RATIO", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 742, + "src": "11077:17:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 1648, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1581, + "src": "11060:5:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1649, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "percentage", + "nodeType": "MemberAccess", + "referencedDeclaration": 3914, + "src": "11060:16:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 1651, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11060:35:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1652, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "max", + "nodeType": "MemberAccess", + "referencedDeclaration": 3861, + "src": "11060:39:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 1654, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11060:66:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 1646, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1581, + "src": "11050:5:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1647, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "min", + "nodeType": "MemberAccess", + "referencedDeclaration": 3878, + "src": "11050:9:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 1655, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11050:77:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11042:85:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1657, + "nodeType": "ExpressionStatement", + "src": "11042:85:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1660, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7063, + "src": "11146:4:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHub_$2436", + "typeString": "contract IexecHub" + } + }, + { + "argumentTypes": null, + "id": 1661, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1581, + "src": "11164:5:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_IexecHub_$2436", + "typeString": "contract IexecHub" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1659, + "name": "seize", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2359, + "src": "11140:5:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) returns (bool)" + } + }, + "id": 1662, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11140:30:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1658, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "11132:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1663, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11132:39:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1664, + "nodeType": "ExpressionStatement", + "src": "11132:39:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1667, + "name": "workerpoolOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1584, + "src": "11191:15:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1668, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1581, + "src": "11208:5:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1666, + "name": "reward", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2329, + "src": "11184:6:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) returns (bool)" + } + }, + "id": 1669, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11184:30:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1665, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "11176:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1670, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11176:39:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1671, + "nodeType": "ExpressionStatement", + "src": "11176:39:6" + } + ] + } + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1675, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1478, + "src": "11248:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 1676, + "name": "workorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1493, + "src": "11255:9:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4299", + "typeString": "contract WorkOrder" + } + }, + "id": 1677, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_workerpool", + "nodeType": "MemberAccess", + "referencedDeclaration": 4048, + "src": "11255:22:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + "id": 1678, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11255:24:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1674, + "name": "WorkOrderCompleted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 832, + "src": "11229:18:6", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address)" + } + }, + "id": 1679, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11229:51:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1680, + "nodeType": "EmitStatement", + "src": "11224:56:6" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 1681, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11291:4:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 1491, + "id": 1682, + "nodeType": "Return", + "src": "11284:11:6" + } + ] + }, + "documentation": null, + "id": 1684, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "id": 1487, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1478, + "src": "8995:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 1488, + "modifierName": { + "argumentTypes": null, + "id": 1486, + "name": "onlyRegisteredWoid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 808, + "src": "8976:18:6", + "typeDescriptions": { + "typeIdentifier": "t_modifier$_t_address_$", + "typeString": "modifier (address)" + } + }, + "nodeType": "ModifierInvocation", + "src": "8976:25:6" + } + ], + "name": "finalizeWorkOrder", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1485, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1478, + "name": "_woid", + "nodeType": "VariableDeclaration", + "scope": 1684, + "src": "8899:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1477, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8899:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1480, + "name": "_stdout", + "nodeType": "VariableDeclaration", + "scope": 1684, + "src": "8916:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 1479, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "8916:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1482, + "name": "_stderr", + "nodeType": "VariableDeclaration", + "scope": 1684, + "src": "8935:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 1481, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "8935:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1484, + "name": "_uri", + "nodeType": "VariableDeclaration", + "scope": 1684, + "src": "8954:12:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 1483, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "8954:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8895:72:6" + }, + "payable": false, + "returnParameters": { + "id": 1491, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1490, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1684, + "src": "9011:4:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1489, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "9011:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "9010:6:6" + }, + "scope": 2436, + "src": "8869:2430:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1702, + "nodeType": "Block", + "src": "11423:89:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1693, + "name": "_catId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1686, + "src": "11452:6:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1692, + "name": "existingCategory", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1718, + "src": "11435:16:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view returns (bool)" + } + }, + "id": 1694, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11435:24:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1691, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "11427:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1695, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11427:33:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1696, + "nodeType": "ExpressionStatement", + "src": "11427:33:6" + }, + { + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1697, + "name": "m_categories", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 773, + "src": "11471:12:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Category_$2892_storage_$", + "typeString": "mapping(uint256 => struct IexecLib.Category storage ref)" + } + }, + "id": 1699, + "indexExpression": { + "argumentTypes": null, + "id": 1698, + "name": "_catId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1686, + "src": "11484:6:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11471:20:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Category_$2892_storage", + "typeString": "struct IexecLib.Category storage ref" + } + }, + "id": 1700, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "workClockTimeRef", + "nodeType": "MemberAccess", + "referencedDeclaration": 2891, + "src": "11471:37:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 1690, + "id": 1701, + "nodeType": "Return", + "src": "11464:44:6" + } + ] + }, + "documentation": "Views", + "id": 1703, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getCategoryWorkClockTimeRef", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1687, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1686, + "name": "_catId", + "nodeType": "VariableDeclaration", + "scope": 1703, + "src": "11359:14:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1685, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11359:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "11358:16:6" + }, + "payable": false, + "returnParameters": { + "id": 1690, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1689, + "name": "workClockTimeRef", + "nodeType": "VariableDeclaration", + "scope": 1703, + "src": "11396:24:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1688, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11396:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "11395:26:6" + }, + "scope": 2436, + "src": "11322:190:6", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1717, + "nodeType": "Block", + "src": "11600:45:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1715, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1710, + "name": "m_categories", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 773, + "src": "11611:12:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Category_$2892_storage_$", + "typeString": "mapping(uint256 => struct IexecLib.Category storage ref)" + } + }, + "id": 1712, + "indexExpression": { + "argumentTypes": null, + "id": 1711, + "name": "_catId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1705, + "src": "11624:6:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11611:20:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Category_$2892_storage", + "typeString": "struct IexecLib.Category storage ref" + } + }, + "id": 1713, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "catid", + "nodeType": "MemberAccess", + "referencedDeclaration": 2885, + "src": "11611:26:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 1714, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11640:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "11611:30:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 1709, + "id": 1716, + "nodeType": "Return", + "src": "11604:37:6" + } + ] + }, + "documentation": null, + "id": 1718, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "existingCategory", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1706, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1705, + "name": "_catId", + "nodeType": "VariableDeclaration", + "scope": 1718, + "src": "11541:14:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1704, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11541:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "11540:16:6" + }, + "payable": false, + "returnParameters": { + "id": 1709, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1708, + "name": "categoryExist", + "nodeType": "VariableDeclaration", + "scope": 1718, + "src": "11579:18:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1707, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "11579:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "11578:20:6" + }, + "scope": 2436, + "src": "11515:130:6", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1755, + "nodeType": "Block", + "src": "11782:196:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1733, + "name": "_catId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1720, + "src": "11811:6:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1732, + "name": "existingCategory", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1718, + "src": "11794:16:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view returns (bool)" + } + }, + "id": 1734, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11794:24:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1731, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "11786:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1735, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11786:33:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1736, + "nodeType": "ExpressionStatement", + "src": "11786:33:6" + }, + { + "expression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1737, + "name": "m_categories", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 773, + "src": "11835:12:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Category_$2892_storage_$", + "typeString": "mapping(uint256 => struct IexecLib.Category storage ref)" + } + }, + "id": 1739, + "indexExpression": { + "argumentTypes": null, + "id": 1738, + "name": "_catId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1720, + "src": "11848:6:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11835:20:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Category_$2892_storage", + "typeString": "struct IexecLib.Category storage ref" + } + }, + "id": 1740, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "catid", + "nodeType": "MemberAccess", + "referencedDeclaration": 2885, + "src": "11835:26:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1741, + "name": "m_categories", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 773, + "src": "11866:12:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Category_$2892_storage_$", + "typeString": "mapping(uint256 => struct IexecLib.Category storage ref)" + } + }, + "id": 1743, + "indexExpression": { + "argumentTypes": null, + "id": 1742, + "name": "_catId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1720, + "src": "11879:6:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11866:20:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Category_$2892_storage", + "typeString": "struct IexecLib.Category storage ref" + } + }, + "id": 1744, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "name", + "nodeType": "MemberAccess", + "referencedDeclaration": 2887, + "src": "11866:25:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1745, + "name": "m_categories", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 773, + "src": "11896:12:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Category_$2892_storage_$", + "typeString": "mapping(uint256 => struct IexecLib.Category storage ref)" + } + }, + "id": 1747, + "indexExpression": { + "argumentTypes": null, + "id": 1746, + "name": "_catId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1720, + "src": "11909:6:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11896:20:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Category_$2892_storage", + "typeString": "struct IexecLib.Category storage ref" + } + }, + "id": 1748, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "description", + "nodeType": "MemberAccess", + "referencedDeclaration": 2889, + "src": "11896:32:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1749, + "name": "m_categories", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 773, + "src": "11933:12:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Category_$2892_storage_$", + "typeString": "mapping(uint256 => struct IexecLib.Category storage ref)" + } + }, + "id": 1751, + "indexExpression": { + "argumentTypes": null, + "id": 1750, + "name": "_catId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1720, + "src": "11946:6:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11933:20:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Category_$2892_storage", + "typeString": "struct IexecLib.Category storage ref" + } + }, + "id": 1752, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "workClockTimeRef", + "nodeType": "MemberAccess", + "referencedDeclaration": 2891, + "src": "11933:37:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 1753, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "11830:144:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_string_storage_$_t_string_storage_$_t_uint256_$", + "typeString": "tuple(uint256,string storage ref,string storage ref,uint256)" + } + }, + "functionReturnParameters": 1730, + "id": 1754, + "nodeType": "Return", + "src": "11823:151:6" + } + ] + }, + "documentation": null, + "id": 1756, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getCategory", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1721, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1720, + "name": "_catId", + "nodeType": "VariableDeclaration", + "scope": 1756, + "src": "11669:14:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1719, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11669:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "11668:16:6" + }, + "payable": false, + "returnParameters": { + "id": 1730, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1723, + "name": "catid", + "nodeType": "VariableDeclaration", + "scope": 1756, + "src": "11706:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1722, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11706:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1725, + "name": "name", + "nodeType": "VariableDeclaration", + "scope": 1756, + "src": "11721:11:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 1724, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "11721:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1727, + "name": "description", + "nodeType": "VariableDeclaration", + "scope": 1756, + "src": "11734:19:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 1726, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "11734:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1729, + "name": "workClockTimeRef", + "nodeType": "VariableDeclaration", + "scope": 1756, + "src": "11755:24:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1728, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11755:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "11705:75:6" + }, + "scope": 2436, + "src": "11648:330:6", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1774, + "nodeType": "Block", + "src": "12086:79:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1767, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1758, + "src": "12133:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 1765, + "name": "workerPoolHub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 754, + "src": "12098:13:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkerPoolHub_$6349", + "typeString": "contract WorkerPoolHub" + } + }, + "id": 1766, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getWorkerAffectation", + "nodeType": "MemberAccess", + "referencedDeclaration": 6199, + "src": "12098:34:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_address_$", + "typeString": "function (address) view external returns (address)" + } + }, + "id": 1768, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12098:43:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1769, + "name": "m_scores", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 812, + "src": "12143:8:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 1771, + "indexExpression": { + "argumentTypes": null, + "id": 1770, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1758, + "src": "12152:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12143:17:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 1772, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "12097:64:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_address_$_t_uint256_$", + "typeString": "tuple(address,uint256)" + } + }, + "functionReturnParameters": 1764, + "id": 1773, + "nodeType": "Return", + "src": "12090:71:6" + } + ] + }, + "documentation": null, + "id": 1775, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getWorkerStatus", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1759, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1758, + "name": "_worker", + "nodeType": "VariableDeclaration", + "scope": 1775, + "src": "12006:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1757, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "12006:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "12005:17:6" + }, + "payable": false, + "returnParameters": { + "id": 1764, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1761, + "name": "workerPool", + "nodeType": "VariableDeclaration", + "scope": 1775, + "src": "12044:18:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1760, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "12044:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1763, + "name": "workerScore", + "nodeType": "VariableDeclaration", + "scope": 1775, + "src": "12064:19:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1762, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "12064:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "12043:41:6" + }, + "scope": 2436, + "src": "11981:184:6", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1786, + "nodeType": "Block", + "src": "12252:32:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1782, + "name": "m_scores", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 812, + "src": "12263:8:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 1784, + "indexExpression": { + "argumentTypes": null, + "id": 1783, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1777, + "src": "12272:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12263:17:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 1781, + "id": 1785, + "nodeType": "Return", + "src": "12256:24:6" + } + ] + }, + "documentation": null, + "id": 1787, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getWorkerScore", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1778, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1777, + "name": "_worker", + "nodeType": "VariableDeclaration", + "scope": 1787, + "src": "12192:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1776, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "12192:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "12191:17:6" + }, + "payable": false, + "returnParameters": { + "id": 1781, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1780, + "name": "workerScore", + "nodeType": "VariableDeclaration", + "scope": 1787, + "src": "12230:19:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1779, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "12230:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "12229:21:6" + }, + "scope": 2436, + "src": "12168:116:6", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1856, + "nodeType": "Block", + "src": "12424:628:6", + "statements": [ + { + "assignments": [ + 1795 + ], + "declarations": [ + { + "constant": false, + "id": 1795, + "name": "workerpool", + "nodeType": "VariableDeclaration", + "scope": 1857, + "src": "12428:21:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkerPool_$6097", + "typeString": "contract WorkerPool" + }, + "typeName": { + "contractScope": null, + "id": 1794, + "name": "WorkerPool", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 6097, + "src": "12428:10:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkerPool_$6097", + "typeString": "contract WorkerPool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1800, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1797, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "12463:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1798, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "12463:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1796, + "name": "WorkerPool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6097, + "src": "12452:10:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_WorkerPool_$6097_$", + "typeString": "type(contract WorkerPool)" + } + }, + "id": 1799, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12452:22:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkerPool_$6097", + "typeString": "contract WorkerPool" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "12428:46:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1804, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "12546:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1805, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "12546:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 1802, + "name": "workerPoolHub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 754, + "src": "12509:13:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkerPoolHub_$6349", + "typeString": "contract WorkerPoolHub" + } + }, + "id": 1803, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "isWorkerPoolRegistered", + "nodeType": "MemberAccess", + "referencedDeclaration": 6147, + "src": "12509:36:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_bool_$", + "typeString": "function (address) view external returns (bool)" + } + }, + "id": 1806, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12509:48:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1801, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "12501:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1807, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12501:57:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1808, + "nodeType": "ExpressionStatement", + "src": "12501:57:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1811, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1789, + "src": "12600:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 1812, + "name": "workerpool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1795, + "src": "12609:10:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkerPool_$6097", + "typeString": "contract WorkerPool" + } + }, + "id": 1813, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_subscriptionLockStakePolicy", + "nodeType": "MemberAccess", + "referencedDeclaration": 4326, + "src": "12609:40:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", + "typeString": "function () view external returns (uint256)" + } + }, + "id": 1814, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12609:42:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1810, + "name": "lock", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2397, + "src": "12595:4:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) returns (bool)" + } + }, + "id": 1815, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12595:57:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1809, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "12587:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1816, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12587:66:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1817, + "nodeType": "ExpressionStatement", + "src": "12587:66:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1826, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1819, + "name": "m_accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 792, + "src": "12696:10:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$2878_storage_$", + "typeString": "mapping(address => struct IexecLib.Account storage ref)" + } + }, + "id": 1821, + "indexExpression": { + "argumentTypes": null, + "id": 1820, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1789, + "src": "12707:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12696:19:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Account_$2878_storage", + "typeString": "struct IexecLib.Account storage ref" + } + }, + "id": 1822, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "stake", + "nodeType": "MemberAccess", + "referencedDeclaration": 2875, + "src": "12696:25:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 1823, + "name": "workerpool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1795, + "src": "12725:10:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkerPool_$6097", + "typeString": "contract WorkerPool" + } + }, + "id": 1824, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_subscriptionMinimumStakePolicy", + "nodeType": "MemberAccess", + "referencedDeclaration": 4328, + "src": "12725:43:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", + "typeString": "function () view external returns (uint256)" + } + }, + "id": 1825, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12725:45:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12696:74:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1818, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "12688:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1827, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12688:83:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1828, + "nodeType": "ExpressionStatement", + "src": "12688:83:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1836, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1830, + "name": "m_scores", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 812, + "src": "12783:8:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 1832, + "indexExpression": { + "argumentTypes": null, + "id": 1831, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1789, + "src": "12792:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12783:17:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 1833, + "name": "workerpool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1795, + "src": "12812:10:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkerPool_$6097", + "typeString": "contract WorkerPool" + } + }, + "id": 1834, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_subscriptionMinimumScorePolicy", + "nodeType": "MemberAccess", + "referencedDeclaration": 4330, + "src": "12812:43:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", + "typeString": "function () view external returns (uint256)" + } + }, + "id": 1835, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12812:45:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12783:74:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1829, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "12775:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1837, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12775:83:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1838, + "nodeType": "ExpressionStatement", + "src": "12775:83:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1842, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "12934:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1843, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "12934:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1844, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1789, + "src": "12946:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 1840, + "name": "workerPoolHub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 754, + "src": "12894:13:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkerPoolHub_$6349", + "typeString": "contract WorkerPoolHub" + } + }, + "id": 1841, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "registerWorkerAffectation", + "nodeType": "MemberAccess", + "referencedDeclaration": 6318, + "src": "12894:39:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$returns$_t_bool_$", + "typeString": "function (address,address) external returns (bool)" + } + }, + "id": 1845, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12894:60:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1839, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "12886:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1846, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12886:69:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1847, + "nodeType": "ExpressionStatement", + "src": "12886:69:6" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1849, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "13013:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1850, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "13013:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1851, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1789, + "src": "13025:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1848, + "name": "WorkerPoolSubscription", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 880, + "src": "12990:22:6", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address)" + } + }, + "id": 1852, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12990:43:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1853, + "nodeType": "EmitStatement", + "src": "12985:48:6" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 1854, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13044:4:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 1793, + "id": 1855, + "nodeType": "Return", + "src": "13037:11:6" + } + ] + }, + "documentation": "Worker subscription", + "id": 1857, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "registerToPool", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1790, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1789, + "name": "_worker", + "nodeType": "VariableDeclaration", + "scope": 1857, + "src": "12345:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1788, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "12345:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "12344:17:6" + }, + "payable": false, + "returnParameters": { + "id": 1793, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1792, + "name": "subscribed", + "nodeType": "VariableDeclaration", + "scope": 1857, + "src": "12378:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1791, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "12378:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "12377:17:6" + }, + "scope": 2436, + "src": "12321:731:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1880, + "nodeType": "Block", + "src": "13164:145:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1866, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "13189:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1867, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "13189:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1868, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1859, + "src": "13201:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1865, + "name": "removeWorker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1947, + "src": "13176:12:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$returns$_t_bool_$", + "typeString": "function (address,address) returns (bool)" + } + }, + "id": 1869, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13176:33:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1864, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "13168:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1870, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13168:42:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1871, + "nodeType": "ExpressionStatement", + "src": "13168:42:6" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1873, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "13270:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1874, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "13270:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1875, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1859, + "src": "13282:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1872, + "name": "WorkerPoolUnsubscription", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 886, + "src": "13245:24:6", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address)" + } + }, + "id": 1876, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13245:45:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1877, + "nodeType": "EmitStatement", + "src": "13240:50:6" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 1878, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13301:4:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 1863, + "id": 1879, + "nodeType": "Return", + "src": "13294:11:6" + } + ] + }, + "documentation": null, + "id": 1881, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "unregisterFromPool", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1860, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1859, + "name": "_worker", + "nodeType": "VariableDeclaration", + "scope": 1881, + "src": "13083:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1858, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "13083:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "13082:17:6" + }, + "payable": false, + "returnParameters": { + "id": 1863, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1862, + "name": "unsubscribed", + "nodeType": "VariableDeclaration", + "scope": 1881, + "src": "13116:17:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1861, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "13116:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "13115:19:6" + }, + "scope": 2436, + "src": "13055:254:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1904, + "nodeType": "Block", + "src": "13414:139:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1890, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "13439:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1891, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "13439:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1892, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1883, + "src": "13451:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1889, + "name": "removeWorker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1947, + "src": "13426:12:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$returns$_t_bool_$", + "typeString": "function (address,address) returns (bool)" + } + }, + "id": 1893, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13426:33:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1888, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "13418:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1894, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13418:42:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1895, + "nodeType": "ExpressionStatement", + "src": "13418:42:6" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1897, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "13514:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1898, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "13514:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1899, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1883, + "src": "13526:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1896, + "name": "WorkerPoolEviction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 892, + "src": "13495:18:6", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address)" + } + }, + "id": 1900, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13495:39:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1901, + "nodeType": "EmitStatement", + "src": "13490:44:6" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 1902, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13545:4:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 1887, + "id": 1903, + "nodeType": "Return", + "src": "13538:11:6" + } + ] + }, + "documentation": null, + "id": 1905, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "evictWorker", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1884, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1883, + "name": "_worker", + "nodeType": "VariableDeclaration", + "scope": 1905, + "src": "13333:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1882, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "13333:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "13332:17:6" + }, + "payable": false, + "returnParameters": { + "id": 1887, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1886, + "name": "unsubscribed", + "nodeType": "VariableDeclaration", + "scope": 1905, + "src": "13366:17:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1885, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "13366:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "13365:19:6" + }, + "scope": 2436, + "src": "13312:241:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1946, + "nodeType": "Block", + "src": "13654:352:6", + "statements": [ + { + "assignments": [ + 1915 + ], + "declarations": [ + { + "constant": false, + "id": 1915, + "name": "workerpool", + "nodeType": "VariableDeclaration", + "scope": 1947, + "src": "13658:21:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkerPool_$6097", + "typeString": "contract WorkerPool" + }, + "typeName": { + "contractScope": null, + "id": 1914, + "name": "WorkerPool", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 6097, + "src": "13658:10:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkerPool_$6097", + "typeString": "contract WorkerPool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1919, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1917, + "name": "_workerpool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1907, + "src": "13693:11:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1916, + "name": "WorkerPool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6097, + "src": "13682:10:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_WorkerPool_$6097_$", + "typeString": "type(contract WorkerPool)" + } + }, + "id": 1918, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13682:23:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkerPool_$6097", + "typeString": "contract WorkerPool" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "13658:47:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1923, + "name": "_workerpool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1907, + "src": "13777:11:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 1921, + "name": "workerPoolHub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 754, + "src": "13740:13:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkerPoolHub_$6349", + "typeString": "contract WorkerPoolHub" + } + }, + "id": 1922, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "isWorkerPoolRegistered", + "nodeType": "MemberAccess", + "referencedDeclaration": 6147, + "src": "13740:36:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_bool_$", + "typeString": "function (address) view external returns (bool)" + } + }, + "id": 1924, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13740:49:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1920, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "13732:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1925, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13732:58:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1926, + "nodeType": "ExpressionStatement", + "src": "13732:58:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1929, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1909, + "src": "13834:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 1930, + "name": "workerpool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1915, + "src": "13843:10:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkerPool_$6097", + "typeString": "contract WorkerPool" + } + }, + "id": 1931, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_subscriptionLockStakePolicy", + "nodeType": "MemberAccess", + "referencedDeclaration": 4326, + "src": "13843:40:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", + "typeString": "function () view external returns (uint256)" + } + }, + "id": 1932, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13843:42:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1928, + "name": "unlock", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2435, + "src": "13827:6:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) returns (bool)" + } + }, + "id": 1933, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13827:59:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1927, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "13819:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1934, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13819:68:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1935, + "nodeType": "ExpressionStatement", + "src": "13819:68:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1939, + "name": "_workerpool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1907, + "src": "13965:11:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1940, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1909, + "src": "13978:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 1937, + "name": "workerPoolHub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 754, + "src": "13923:13:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkerPoolHub_$6349", + "typeString": "contract WorkerPoolHub" + } + }, + "id": 1938, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "unregisterWorkerAffectation", + "nodeType": "MemberAccess", + "referencedDeclaration": 6348, + "src": "13923:41:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$returns$_t_bool_$", + "typeString": "function (address,address) external returns (bool)" + } + }, + "id": 1941, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13923:63:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1936, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "13915:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1942, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13915:72:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1943, + "nodeType": "ExpressionStatement", + "src": "13915:72:6" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 1944, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13998:4:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 1913, + "id": 1945, + "nodeType": "Return", + "src": "13991:11:6" + } + ] + }, + "documentation": null, + "id": 1947, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "removeWorker", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1910, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1907, + "name": "_workerpool", + "nodeType": "VariableDeclaration", + "scope": 1947, + "src": "13578:19:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1906, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "13578:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1909, + "name": "_worker", + "nodeType": "VariableDeclaration", + "scope": 1947, + "src": "13599:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1908, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "13599:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "13577:38:6" + }, + "payable": false, + "returnParameters": { + "id": 1913, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1912, + "name": "unsubscribed", + "nodeType": "VariableDeclaration", + "scope": 1947, + "src": "13634:17:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1911, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "13634:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "13633:19:6" + }, + "scope": 2436, + "src": "13556:450:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 1967, + "nodeType": "Block", + "src": "14171:52:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1960, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1949, + "src": "14188:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1961, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1951, + "src": "14195:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1959, + "name": "lock", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2397, + "src": "14183:4:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) returns (bool)" + } + }, + "id": 1962, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14183:20:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1958, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "14175:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1963, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14175:29:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1964, + "nodeType": "ExpressionStatement", + "src": "14175:29:6" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 1965, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14215:4:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 1957, + "id": 1966, + "nodeType": "Return", + "src": "14208:11:6" + } + ] + }, + "documentation": "Stake, reward and penalty functions", + "id": 1968, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 1954, + "modifierName": { + "argumentTypes": null, + "id": 1953, + "name": "onlyMarketplace", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 769, + "src": "14139:15:6", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "14139:15:6" + } + ], + "name": "lockForOrder", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1952, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1949, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 1968, + "src": "14100:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1948, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "14100:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1951, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 1968, + "src": "14115:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1950, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "14115:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "14099:32:6" + }, + "payable": false, + "returnParameters": { + "id": 1957, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1956, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1968, + "src": "14164:4:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1955, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "14164:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "14163:6:6" + }, + "scope": 2436, + "src": "14078:145:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1988, + "nodeType": "Block", + "src": "14321:54:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1981, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1970, + "src": "14340:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1982, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1972, + "src": "14347:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1980, + "name": "unlock", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2435, + "src": "14333:6:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) returns (bool)" + } + }, + "id": 1983, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14333:22:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1979, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "14325:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1984, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14325:31:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1985, + "nodeType": "ExpressionStatement", + "src": "14325:31:6" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 1986, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14367:4:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 1978, + "id": 1987, + "nodeType": "Return", + "src": "14360:11:6" + } + ] + }, + "documentation": null, + "id": 1989, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 1975, + "modifierName": { + "argumentTypes": null, + "id": 1974, + "name": "onlyMarketplace", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 769, + "src": "14289:15:6", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "14289:15:6" + } + ], + "name": "unlockForOrder", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1973, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1970, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 1989, + "src": "14249:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1969, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "14249:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1972, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 1989, + "src": "14264:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1971, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "14264:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "14248:32:6" + }, + "payable": false, + "returnParameters": { + "id": 1978, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1977, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1989, + "src": "14314:4:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1976, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "14314:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "14313:6:6" + }, + "scope": 2436, + "src": "14225:150:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 2023, + "nodeType": "Block", + "src": "14506:110:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 2011, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2005, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1991, + "src": "14528:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2004, + "name": "WorkOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4299, + "src": "14518:9:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_WorkOrder_$4299_$", + "typeString": "type(contract WorkOrder)" + } + }, + "id": 2006, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14518:16:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4299", + "typeString": "contract WorkOrder" + } + }, + "id": 2007, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_workerpool", + "nodeType": "MemberAccess", + "referencedDeclaration": 4048, + "src": "14518:29:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + "id": 2008, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14518:31:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2009, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "14553:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2010, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "14553:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "14518:45:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2003, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "14510:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2012, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14510:54:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2013, + "nodeType": "ExpressionStatement", + "src": "14510:54:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2016, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1993, + "src": "14581:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 2017, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1995, + "src": "14588:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2015, + "name": "lock", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2397, + "src": "14576:4:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) returns (bool)" + } + }, + "id": 2018, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14576:20:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2014, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "14568:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2019, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14568:29:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2020, + "nodeType": "ExpressionStatement", + "src": "14568:29:6" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 2021, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14608:4:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 2002, + "id": 2022, + "nodeType": "Return", + "src": "14601:11:6" + } + ] + }, + "documentation": null, + "id": 2024, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "id": 1998, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1991, + "src": "14483:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 1999, + "modifierName": { + "argumentTypes": null, + "id": 1997, + "name": "onlyRegisteredWoid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 808, + "src": "14464:18:6", + "typeDescriptions": { + "typeIdentifier": "t_modifier$_t_address_$", + "typeString": "modifier (address)" + } + }, + "nodeType": "ModifierInvocation", + "src": "14464:25:6" + } + ], + "name": "lockForWork", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1996, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1991, + "name": "_woid", + "nodeType": "VariableDeclaration", + "scope": 2024, + "src": "14410:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1990, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "14410:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1993, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 2024, + "src": "14425:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1992, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "14425:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1995, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 2024, + "src": "14440:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1994, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "14440:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "14409:47:6" + }, + "payable": false, + "returnParameters": { + "id": 2002, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2001, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2024, + "src": "14499:4:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2000, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "14499:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "14498:6:6" + }, + "scope": 2436, + "src": "14389:227:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 2058, + "nodeType": "Block", + "src": "14737:112:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 2046, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2040, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2026, + "src": "14759:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2039, + "name": "WorkOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4299, + "src": "14749:9:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_WorkOrder_$4299_$", + "typeString": "type(contract WorkOrder)" + } + }, + "id": 2041, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14749:16:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4299", + "typeString": "contract WorkOrder" + } + }, + "id": 2042, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_workerpool", + "nodeType": "MemberAccess", + "referencedDeclaration": 4048, + "src": "14749:29:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + "id": 2043, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14749:31:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2044, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "14784:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2045, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "14784:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "14749:45:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2038, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "14741:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2047, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14741:54:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2048, + "nodeType": "ExpressionStatement", + "src": "14741:54:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2051, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2028, + "src": "14814:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 2052, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2030, + "src": "14821:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2050, + "name": "unlock", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2435, + "src": "14807:6:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) returns (bool)" + } + }, + "id": 2053, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14807:22:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2049, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "14799:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2054, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14799:31:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2055, + "nodeType": "ExpressionStatement", + "src": "14799:31:6" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 2056, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14841:4:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 2037, + "id": 2057, + "nodeType": "Return", + "src": "14834:11:6" + } + ] + }, + "documentation": null, + "id": 2059, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "id": 2033, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2026, + "src": "14714:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 2034, + "modifierName": { + "argumentTypes": null, + "id": 2032, + "name": "onlyRegisteredWoid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 808, + "src": "14695:18:6", + "typeDescriptions": { + "typeIdentifier": "t_modifier$_t_address_$", + "typeString": "modifier (address)" + } + }, + "nodeType": "ModifierInvocation", + "src": "14695:25:6" + } + ], + "name": "unlockForWork", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2031, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2026, + "name": "_woid", + "nodeType": "VariableDeclaration", + "scope": 2059, + "src": "14641:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2025, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "14641:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2028, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 2059, + "src": "14656:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2027, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "14656:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2030, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 2059, + "src": "14671:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2029, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "14671:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "14640:47:6" + }, + "payable": false, + "returnParameters": { + "id": 2037, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2036, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2059, + "src": "14730:4:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2035, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "14730:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "14729:6:6" + }, + "scope": 2436, + "src": "14618:231:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 2124, + "nodeType": "Block", + "src": "14990:309:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 2083, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2077, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2061, + "src": "15012:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2076, + "name": "WorkOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4299, + "src": "15002:9:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_WorkOrder_$4299_$", + "typeString": "type(contract WorkOrder)" + } + }, + "id": 2078, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15002:16:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4299", + "typeString": "contract WorkOrder" + } + }, + "id": 2079, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_workerpool", + "nodeType": "MemberAccess", + "referencedDeclaration": 4048, + "src": "15002:29:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + "id": 2080, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15002:31:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2081, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "15037:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2082, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "15037:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "15002:45:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2075, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "14994:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2084, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14994:54:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2085, + "nodeType": "ExpressionStatement", + "src": "14994:54:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2088, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2063, + "src": "15067:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 2089, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2065, + "src": "15076:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2087, + "name": "reward", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2329, + "src": "15060:6:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) returns (bool)" + } + }, + "id": 2090, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15060:24:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2086, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "15052:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2091, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15052:33:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2092, + "nodeType": "ExpressionStatement", + "src": "15052:33:6" + }, + { + "condition": { + "argumentTypes": null, + "id": 2093, + "name": "_reputation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2067, + "src": "15093:11:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 2121, + "nodeType": "IfStatement", + "src": "15089:192:6", + "trueBody": { + "id": 2120, + "nodeType": "Block", + "src": "15108:173:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 2102, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2094, + "name": "m_contributionHistory", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 814, + "src": "15113:21:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ContributionHistory_$2883_storage", + "typeString": "struct IexecLib.ContributionHistory storage ref" + } + }, + "id": 2096, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "success", + "nodeType": "MemberAccess", + "referencedDeclaration": 2880, + "src": "15113:29:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31", + "id": 2100, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15179:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2097, + "name": "m_contributionHistory", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 814, + "src": "15145:21:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ContributionHistory_$2883_storage", + "typeString": "struct IexecLib.ContributionHistory storage ref" + } + }, + "id": 2098, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "success", + "nodeType": "MemberAccess", + "referencedDeclaration": 2880, + "src": "15145:29:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2099, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 3773, + "src": "15145:33:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 2101, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15145:36:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "15113:68:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2103, + "nodeType": "ExpressionStatement", + "src": "15113:68:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 2113, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2104, + "name": "m_scores", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 812, + "src": "15186:8:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 2106, + "indexExpression": { + "argumentTypes": null, + "id": 2105, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2063, + "src": "15195:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "15186:17:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31", + "id": 2111, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15228:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2107, + "name": "m_scores", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 812, + "src": "15206:8:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 2109, + "indexExpression": { + "argumentTypes": null, + "id": 2108, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2063, + "src": "15215:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "15206:17:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2110, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 3773, + "src": "15206:21:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 2112, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15206:24:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "15186:44:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2114, + "nodeType": "ExpressionStatement", + "src": "15186:44:6" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2116, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2061, + "src": "15261:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 2117, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2063, + "src": "15268:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2115, + "name": "AccurateContribution", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 898, + "src": "15240:20:6", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address)" + } + }, + "id": 2118, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15240:36:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2119, + "nodeType": "EmitStatement", + "src": "15235:41:6" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 2122, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15291:4:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 2074, + "id": 2123, + "nodeType": "Return", + "src": "15284:11:6" + } + ] + }, + "documentation": null, + "id": 2125, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "id": 2070, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2061, + "src": "14967:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 2071, + "modifierName": { + "argumentTypes": null, + "id": 2069, + "name": "onlyRegisteredWoid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 808, + "src": "14948:18:6", + "typeDescriptions": { + "typeIdentifier": "t_modifier$_t_address_$", + "typeString": "modifier (address)" + } + }, + "nodeType": "ModifierInvocation", + "src": "14948:25:6" + } + ], + "name": "rewardForWork", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2068, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2061, + "name": "_woid", + "nodeType": "VariableDeclaration", + "scope": 2125, + "src": "14874:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2060, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "14874:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2063, + "name": "_worker", + "nodeType": "VariableDeclaration", + "scope": 2125, + "src": "14889:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2062, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "14889:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2065, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 2125, + "src": "14906:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2064, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "14906:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2067, + "name": "_reputation", + "nodeType": "VariableDeclaration", + "scope": 2125, + "src": "14923:16:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2066, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "14923:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "14873:67:6" + }, + "payable": false, + "returnParameters": { + "id": 2074, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2073, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2125, + "src": "14983:4:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2072, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "14983:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "14982:6:6" + }, + "scope": 2436, + "src": "14851:448:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 2195, + "nodeType": "Block", + "src": "15439:345:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 2149, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2143, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2127, + "src": "15461:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2142, + "name": "WorkOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4299, + "src": "15451:9:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_WorkOrder_$4299_$", + "typeString": "type(contract WorkOrder)" + } + }, + "id": 2144, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15451:16:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4299", + "typeString": "contract WorkOrder" + } + }, + "id": 2145, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_workerpool", + "nodeType": "MemberAccess", + "referencedDeclaration": 4048, + "src": "15451:29:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + "id": 2146, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15451:31:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2147, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "15486:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2148, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "15486:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "15451:45:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2141, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "15443:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2150, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15443:54:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2151, + "nodeType": "ExpressionStatement", + "src": "15443:54:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2154, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2129, + "src": "15515:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 2155, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2131, + "src": "15524:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2153, + "name": "seize", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2359, + "src": "15509:5:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) returns (bool)" + } + }, + "id": 2156, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15509:23:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2152, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "15501:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2157, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15501:32:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2158, + "nodeType": "ExpressionStatement", + "src": "15501:32:6" + }, + { + "condition": { + "argumentTypes": null, + "id": 2159, + "name": "_reputation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2133, + "src": "15541:11:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 2192, + "nodeType": "IfStatement", + "src": "15537:229:6", + "trueBody": { + "id": 2191, + "nodeType": "Block", + "src": "15556:210:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 2168, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2160, + "name": "m_contributionHistory", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 814, + "src": "15561:21:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ContributionHistory_$2883_storage", + "typeString": "struct IexecLib.ContributionHistory storage ref" + } + }, + "id": 2162, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "failed", + "nodeType": "MemberAccess", + "referencedDeclaration": 2882, + "src": "15561:28:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31", + "id": 2166, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15625:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2163, + "name": "m_contributionHistory", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 814, + "src": "15592:21:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ContributionHistory_$2883_storage", + "typeString": "struct IexecLib.ContributionHistory storage ref" + } + }, + "id": 2164, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "failed", + "nodeType": "MemberAccess", + "referencedDeclaration": 2882, + "src": "15592:28:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2165, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 3773, + "src": "15592:32:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 2167, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15592:35:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "15561:66:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2169, + "nodeType": "ExpressionStatement", + "src": "15561:66:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 2184, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2170, + "name": "m_scores", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 812, + "src": "15632:8:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 2172, + "indexExpression": { + "argumentTypes": null, + "id": 2171, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2129, + "src": "15641:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "15632:17:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2181, + "name": "SCORE_UNITARY_SLASH", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 748, + "src": "15696:19:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2177, + "name": "m_scores", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 812, + "src": "15674:8:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 2179, + "indexExpression": { + "argumentTypes": null, + "id": 2178, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2129, + "src": "15683:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "15674:17:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2180, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "min", + "nodeType": "MemberAccess", + "referencedDeclaration": 3878, + "src": "15674:21:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 2182, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15674:42:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2173, + "name": "m_scores", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 812, + "src": "15652:8:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 2175, + "indexExpression": { + "argumentTypes": null, + "id": 2174, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2129, + "src": "15661:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "15652:17:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2176, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 3793, + "src": "15652:21:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 2183, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15652:65:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "15632:85:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2185, + "nodeType": "ExpressionStatement", + "src": "15632:85:6" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2187, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2127, + "src": "15746:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 2188, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2129, + "src": "15753:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2186, + "name": "FaultyContribution", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 904, + "src": "15727:18:6", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address)" + } + }, + "id": 2189, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15727:34:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2190, + "nodeType": "EmitStatement", + "src": "15722:39:6" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 2193, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15776:4:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 2140, + "id": 2194, + "nodeType": "Return", + "src": "15769:11:6" + } + ] + }, + "documentation": null, + "id": 2196, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "id": 2136, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2127, + "src": "15416:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 2137, + "modifierName": { + "argumentTypes": null, + "id": 2135, + "name": "onlyRegisteredWoid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 808, + "src": "15397:18:6", + "typeDescriptions": { + "typeIdentifier": "t_modifier$_t_address_$", + "typeString": "modifier (address)" + } + }, + "nodeType": "ModifierInvocation", + "src": "15397:25:6" + } + ], + "name": "seizeForWork", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2134, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2127, + "name": "_woid", + "nodeType": "VariableDeclaration", + "scope": 2196, + "src": "15323:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2126, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "15323:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2129, + "name": "_worker", + "nodeType": "VariableDeclaration", + "scope": 2196, + "src": "15338:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2128, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "15338:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2131, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 2196, + "src": "15355:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2130, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "15355:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2133, + "name": "_reputation", + "nodeType": "VariableDeclaration", + "scope": 2196, + "src": "15372:16:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2132, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "15372:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "15322:67:6" + }, + "payable": false, + "returnParameters": { + "id": 2140, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2139, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2196, + "src": "15432:4:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2138, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "15432:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "15431:6:6" + }, + "scope": 2436, + "src": "15301:483:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 2238, + "nodeType": "Block", + "src": "15882:197:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2206, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "15911:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2207, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "15911:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2209, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7063, + "src": "15931:4:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHub_$2436", + "typeString": "contract IexecHub" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_IexecHub_$2436", + "typeString": "contract IexecHub" + } + ], + "id": 2208, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "15923:7:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 2210, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15923:13:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 2211, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2198, + "src": "15938:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 2204, + "name": "rlc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 739, + "src": "15894:3:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_RLC_$6785", + "typeString": "contract RLC" + } + }, + "id": 2205, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "transferFrom", + "nodeType": "MemberAccess", + "referencedDeclaration": 6696, + "src": "15894:16:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,address,uint256) external returns (bool)" + } + }, + "id": 2212, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15894:52:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2203, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "15886:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2213, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15886:61:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2214, + "nodeType": "ExpressionStatement", + "src": "15886:61:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 2228, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2215, + "name": "m_accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 792, + "src": "15951:10:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$2878_storage_$", + "typeString": "mapping(address => struct IexecLib.Account storage ref)" + } + }, + "id": 2218, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2216, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "15962:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2217, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "15962:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "15951:22:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Account_$2878_storage", + "typeString": "struct IexecLib.Account storage ref" + } + }, + "id": 2219, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "stake", + "nodeType": "MemberAccess", + "referencedDeclaration": 2875, + "src": "15951:28:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2226, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2198, + "src": "16015:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2220, + "name": "m_accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 792, + "src": "15982:10:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$2878_storage_$", + "typeString": "mapping(address => struct IexecLib.Account storage ref)" + } + }, + "id": 2223, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2221, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "15993:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2222, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "15993:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "15982:22:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Account_$2878_storage", + "typeString": "struct IexecLib.Account storage ref" + } + }, + "id": 2224, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "stake", + "nodeType": "MemberAccess", + "referencedDeclaration": 2875, + "src": "15982:28:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2225, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 3773, + "src": "15982:32:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 2227, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15982:41:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "15951:72:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2229, + "nodeType": "ExpressionStatement", + "src": "15951:72:6" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2231, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "16040:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2232, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "16040:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 2233, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2198, + "src": "16052:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2230, + "name": "Deposit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 910, + "src": "16032:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 2234, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16032:28:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2235, + "nodeType": "EmitStatement", + "src": "16027:33:6" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 2236, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16071:4:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 2202, + "id": 2237, + "nodeType": "Return", + "src": "16064:11:6" + } + ] + }, + "documentation": "Wallet methods: public", + "id": 2239, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "deposit", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2199, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2198, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 2239, + "src": "15840:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2197, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "15840:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "15839:17:6" + }, + "payable": false, + "returnParameters": { + "id": 2202, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2201, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2239, + "src": "15875:4:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2200, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "15875:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "15874:6:6" + }, + "scope": 2436, + "src": "15823:256:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": { + "id": 2278, + "nodeType": "Block", + "src": "16141:179:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 2259, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2246, + "name": "m_accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 792, + "src": "16145:10:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$2878_storage_$", + "typeString": "mapping(address => struct IexecLib.Account storage ref)" + } + }, + "id": 2249, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2247, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "16156:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2248, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "16156:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16145:22:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Account_$2878_storage", + "typeString": "struct IexecLib.Account storage ref" + } + }, + "id": 2250, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "stake", + "nodeType": "MemberAccess", + "referencedDeclaration": 2875, + "src": "16145:28:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2257, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2241, + "src": "16209:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2251, + "name": "m_accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 792, + "src": "16176:10:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$2878_storage_$", + "typeString": "mapping(address => struct IexecLib.Account storage ref)" + } + }, + "id": 2254, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2252, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "16187:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2253, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "16187:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16176:22:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Account_$2878_storage", + "typeString": "struct IexecLib.Account storage ref" + } + }, + "id": 2255, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "stake", + "nodeType": "MemberAccess", + "referencedDeclaration": 2875, + "src": "16176:28:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2256, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 3793, + "src": "16176:32:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 2258, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16176:41:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "16145:72:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2260, + "nodeType": "ExpressionStatement", + "src": "16145:72:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2264, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "16242:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2265, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "16242:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 2266, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2241, + "src": "16254:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 2262, + "name": "rlc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 739, + "src": "16229:3:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_RLC_$6785", + "typeString": "contract RLC" + } + }, + "id": 2263, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "transfer", + "nodeType": "MemberAccess", + "referencedDeclaration": 6632, + "src": "16229:12:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) external returns (bool)" + } + }, + "id": 2267, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16229:33:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2261, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "16221:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2268, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16221:42:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2269, + "nodeType": "ExpressionStatement", + "src": "16221:42:6" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2271, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "16281:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2272, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "16281:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 2273, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2241, + "src": "16293:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2270, + "name": "Withdraw", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 916, + "src": "16272:8:6", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 2274, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16272:29:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2275, + "nodeType": "EmitStatement", + "src": "16267:34:6" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 2276, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16312:4:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 2245, + "id": 2277, + "nodeType": "Return", + "src": "16305:11:6" + } + ] + }, + "documentation": null, + "id": 2279, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "withdraw", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2242, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2241, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 2279, + "src": "16099:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2240, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "16099:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "16098:17:6" + }, + "payable": false, + "returnParameters": { + "id": 2245, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2244, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2279, + "src": "16134:4:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2243, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "16134:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "16133:6:6" + }, + "scope": 2436, + "src": "16081:239:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": { + "id": 2298, + "nodeType": "Block", + "src": "16413:68:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2288, + "name": "m_accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 792, + "src": "16425:10:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$2878_storage_$", + "typeString": "mapping(address => struct IexecLib.Account storage ref)" + } + }, + "id": 2290, + "indexExpression": { + "argumentTypes": null, + "id": 2289, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2281, + "src": "16436:6:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16425:18:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Account_$2878_storage", + "typeString": "struct IexecLib.Account storage ref" + } + }, + "id": 2291, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "stake", + "nodeType": "MemberAccess", + "referencedDeclaration": 2875, + "src": "16425:24:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2292, + "name": "m_accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 792, + "src": "16451:10:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$2878_storage_$", + "typeString": "mapping(address => struct IexecLib.Account storage ref)" + } + }, + "id": 2294, + "indexExpression": { + "argumentTypes": null, + "id": 2293, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2281, + "src": "16462:6:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16451:18:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Account_$2878_storage", + "typeString": "struct IexecLib.Account storage ref" + } + }, + "id": 2295, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "locked", + "nodeType": "MemberAccess", + "referencedDeclaration": 2877, + "src": "16451:25:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 2296, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "16424:53:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "functionReturnParameters": 2287, + "id": 2297, + "nodeType": "Return", + "src": "16417:60:6" + } + ] + }, + "documentation": null, + "id": 2299, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "checkBalance", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2282, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2281, + "name": "_owner", + "nodeType": "VariableDeclaration", + "scope": 2299, + "src": "16344:14:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2280, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "16344:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "16343:16:6" + }, + "payable": false, + "returnParameters": { + "id": 2287, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2284, + "name": "stake", + "nodeType": "VariableDeclaration", + "scope": 2299, + "src": "16381:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2283, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "16381:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2286, + "name": "locked", + "nodeType": "VariableDeclaration", + "scope": 2299, + "src": "16396:14:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2285, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "16396:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "16380:31:6" + }, + "scope": 2436, + "src": "16322:159:6", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 2328, + "nodeType": "Block", + "src": "16595:116:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 2319, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2308, + "name": "m_accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 792, + "src": "16599:10:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$2878_storage_$", + "typeString": "mapping(address => struct IexecLib.Account storage ref)" + } + }, + "id": 2310, + "indexExpression": { + "argumentTypes": null, + "id": 2309, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2301, + "src": "16610:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16599:17:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Account_$2878_storage", + "typeString": "struct IexecLib.Account storage ref" + } + }, + "id": 2311, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "stake", + "nodeType": "MemberAccess", + "referencedDeclaration": 2875, + "src": "16599:23:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2317, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2303, + "src": "16653:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2312, + "name": "m_accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 792, + "src": "16625:10:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$2878_storage_$", + "typeString": "mapping(address => struct IexecLib.Account storage ref)" + } + }, + "id": 2314, + "indexExpression": { + "argumentTypes": null, + "id": 2313, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2301, + "src": "16636:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16625:17:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Account_$2878_storage", + "typeString": "struct IexecLib.Account storage ref" + } + }, + "id": 2315, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "stake", + "nodeType": "MemberAccess", + "referencedDeclaration": 2875, + "src": "16625:23:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2316, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 3773, + "src": "16625:27:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 2318, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16625:36:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "16599:62:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2320, + "nodeType": "ExpressionStatement", + "src": "16599:62:6" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2322, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2301, + "src": "16677:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 2323, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2303, + "src": "16684:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2321, + "name": "Reward", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 922, + "src": "16670:6:6", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 2324, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16670:22:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2325, + "nodeType": "EmitStatement", + "src": "16665:27:6" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 2326, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16703:4:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 2307, + "id": 2327, + "nodeType": "Return", + "src": "16696:11:6" + } + ] + }, + "documentation": "Wallet methods: Internal", + "id": 2329, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "reward", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2304, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2301, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 2329, + "src": "16538:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2300, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "16538:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2303, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 2329, + "src": "16553:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2302, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "16553:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "16537:32:6" + }, + "payable": false, + "returnParameters": { + "id": 2307, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2306, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2329, + "src": "16588:4:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2305, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "16588:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "16587:6:6" + }, + "scope": 2436, + "src": "16522:189:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 2358, + "nodeType": "Block", + "src": "16785:117:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 2349, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2338, + "name": "m_accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 792, + "src": "16789:10:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$2878_storage_$", + "typeString": "mapping(address => struct IexecLib.Account storage ref)" + } + }, + "id": 2340, + "indexExpression": { + "argumentTypes": null, + "id": 2339, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2331, + "src": "16800:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16789:17:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Account_$2878_storage", + "typeString": "struct IexecLib.Account storage ref" + } + }, + "id": 2341, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "locked", + "nodeType": "MemberAccess", + "referencedDeclaration": 2877, + "src": "16789:24:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2347, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2333, + "src": "16845:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2342, + "name": "m_accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 792, + "src": "16816:10:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$2878_storage_$", + "typeString": "mapping(address => struct IexecLib.Account storage ref)" + } + }, + "id": 2344, + "indexExpression": { + "argumentTypes": null, + "id": 2343, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2331, + "src": "16827:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16816:17:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Account_$2878_storage", + "typeString": "struct IexecLib.Account storage ref" + } + }, + "id": 2345, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "locked", + "nodeType": "MemberAccess", + "referencedDeclaration": 2877, + "src": "16816:24:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2346, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 3793, + "src": "16816:28:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 2348, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16816:37:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "16789:64:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2350, + "nodeType": "ExpressionStatement", + "src": "16789:64:6" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2352, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2331, + "src": "16868:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 2353, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2333, + "src": "16875:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2351, + "name": "Seize", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 928, + "src": "16862:5:6", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 2354, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16862:21:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2355, + "nodeType": "EmitStatement", + "src": "16857:26:6" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 2356, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16894:4:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 2337, + "id": 2357, + "nodeType": "Return", + "src": "16887:11:6" + } + ] + }, + "documentation": null, + "id": 2359, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "seize", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2334, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2331, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 2359, + "src": "16728:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2330, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "16728:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2333, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 2359, + "src": "16743:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2332, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "16743:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "16727:32:6" + }, + "payable": false, + "returnParameters": { + "id": 2337, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2336, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2359, + "src": "16778:4:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2335, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "16778:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "16777:6:6" + }, + "scope": 2436, + "src": "16713:189:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 2396, + "nodeType": "Block", + "src": "16975:154:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 2379, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2368, + "name": "m_accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 792, + "src": "16979:10:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$2878_storage_$", + "typeString": "mapping(address => struct IexecLib.Account storage ref)" + } + }, + "id": 2370, + "indexExpression": { + "argumentTypes": null, + "id": 2369, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2361, + "src": "16990:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16979:17:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Account_$2878_storage", + "typeString": "struct IexecLib.Account storage ref" + } + }, + "id": 2371, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "stake", + "nodeType": "MemberAccess", + "referencedDeclaration": 2875, + "src": "16979:23:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2377, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2363, + "src": "17034:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2372, + "name": "m_accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 792, + "src": "17006:10:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$2878_storage_$", + "typeString": "mapping(address => struct IexecLib.Account storage ref)" + } + }, + "id": 2374, + "indexExpression": { + "argumentTypes": null, + "id": 2373, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2361, + "src": "17017:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "17006:17:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Account_$2878_storage", + "typeString": "struct IexecLib.Account storage ref" + } + }, + "id": 2375, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "stake", + "nodeType": "MemberAccess", + "referencedDeclaration": 2875, + "src": "17006:23:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2376, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 3793, + "src": "17006:27:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 2378, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17006:36:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "16979:63:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2380, + "nodeType": "ExpressionStatement", + "src": "16979:63:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 2392, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2381, + "name": "m_accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 792, + "src": "17046:10:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$2878_storage_$", + "typeString": "mapping(address => struct IexecLib.Account storage ref)" + } + }, + "id": 2383, + "indexExpression": { + "argumentTypes": null, + "id": 2382, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2361, + "src": "17057:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "17046:17:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Account_$2878_storage", + "typeString": "struct IexecLib.Account storage ref" + } + }, + "id": 2384, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "locked", + "nodeType": "MemberAccess", + "referencedDeclaration": 2877, + "src": "17046:24:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2390, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2363, + "src": "17102:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2385, + "name": "m_accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 792, + "src": "17073:10:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$2878_storage_$", + "typeString": "mapping(address => struct IexecLib.Account storage ref)" + } + }, + "id": 2387, + "indexExpression": { + "argumentTypes": null, + "id": 2386, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2361, + "src": "17084:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "17073:17:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Account_$2878_storage", + "typeString": "struct IexecLib.Account storage ref" + } + }, + "id": 2388, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "locked", + "nodeType": "MemberAccess", + "referencedDeclaration": 2877, + "src": "17073:24:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2389, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 3773, + "src": "17073:28:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 2391, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17073:37:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "17046:64:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2393, + "nodeType": "ExpressionStatement", + "src": "17046:64:6" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 2394, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "17121:4:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 2367, + "id": 2395, + "nodeType": "Return", + "src": "17114:11:6" + } + ] + }, + "documentation": null, + "id": 2397, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "lock", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2364, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2361, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 2397, + "src": "16918:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2360, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "16918:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2363, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 2397, + "src": "16933:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2362, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "16933:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "16917:32:6" + }, + "payable": false, + "returnParameters": { + "id": 2367, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2366, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2397, + "src": "16968:4:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2365, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "16968:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "16967:6:6" + }, + "scope": 2436, + "src": "16904:225:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 2434, + "nodeType": "Block", + "src": "17204:154:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 2417, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2406, + "name": "m_accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 792, + "src": "17208:10:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$2878_storage_$", + "typeString": "mapping(address => struct IexecLib.Account storage ref)" + } + }, + "id": 2408, + "indexExpression": { + "argumentTypes": null, + "id": 2407, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2399, + "src": "17219:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "17208:17:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Account_$2878_storage", + "typeString": "struct IexecLib.Account storage ref" + } + }, + "id": 2409, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "locked", + "nodeType": "MemberAccess", + "referencedDeclaration": 2877, + "src": "17208:24:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2415, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2401, + "src": "17264:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2410, + "name": "m_accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 792, + "src": "17235:10:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$2878_storage_$", + "typeString": "mapping(address => struct IexecLib.Account storage ref)" + } + }, + "id": 2412, + "indexExpression": { + "argumentTypes": null, + "id": 2411, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2399, + "src": "17246:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "17235:17:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Account_$2878_storage", + "typeString": "struct IexecLib.Account storage ref" + } + }, + "id": 2413, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "locked", + "nodeType": "MemberAccess", + "referencedDeclaration": 2877, + "src": "17235:24:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2414, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 3793, + "src": "17235:28:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 2416, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17235:37:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "17208:64:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2418, + "nodeType": "ExpressionStatement", + "src": "17208:64:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 2430, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2419, + "name": "m_accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 792, + "src": "17276:10:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$2878_storage_$", + "typeString": "mapping(address => struct IexecLib.Account storage ref)" + } + }, + "id": 2421, + "indexExpression": { + "argumentTypes": null, + "id": 2420, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2399, + "src": "17287:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "17276:17:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Account_$2878_storage", + "typeString": "struct IexecLib.Account storage ref" + } + }, + "id": 2422, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "stake", + "nodeType": "MemberAccess", + "referencedDeclaration": 2875, + "src": "17276:23:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2428, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2401, + "src": "17331:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2423, + "name": "m_accounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 792, + "src": "17303:10:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Account_$2878_storage_$", + "typeString": "mapping(address => struct IexecLib.Account storage ref)" + } + }, + "id": 2425, + "indexExpression": { + "argumentTypes": null, + "id": 2424, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2399, + "src": "17314:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "17303:17:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Account_$2878_storage", + "typeString": "struct IexecLib.Account storage ref" + } + }, + "id": 2426, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "stake", + "nodeType": "MemberAccess", + "referencedDeclaration": 2875, + "src": "17303:23:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2427, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 3773, + "src": "17303:27:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 2429, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17303:36:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "17276:63:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2431, + "nodeType": "ExpressionStatement", + "src": "17276:63:6" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 2432, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "17350:4:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 2405, + "id": 2433, + "nodeType": "Return", + "src": "17343:11:6" + } + ] + }, + "documentation": null, + "id": 2435, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "unlock", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2402, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2399, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 2435, + "src": "17147:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2398, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "17147:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2401, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 2435, + "src": "17162:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2400, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "17162:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "17146:32:6" + }, + "payable": false, + "returnParameters": { + "id": 2405, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2404, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2435, + "src": "17197:4:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2403, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "17197:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "17196:6:6" + }, + "scope": 2436, + "src": "17131:227:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + } + ], + "scope": 2437, + "src": "281:17079:6" + } + ], + "src": "0:17361:6" + }, + "compiler": { + "name": "solc", + "version": "0.4.21+commit.dfe3193c.Emscripten.clang" + }, + "networks": { + "1": { + "events": { + "0x359f2105b31d71ee8e2315c3dc3427b3f7297dcc85dd3883d4554e67f1f22d00": { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "woid", + "type": "address" + }, + { + "indexed": true, + "name": "workerPool", + "type": "address" + } + ], + "name": "WorkOrderActivated", + "type": "event" + }, + "0xb3cae8ec1c2754530963fb2e254826aae88dda74178f1a0c5656776941e604b8": { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "woid", + "type": "address" + }, + { + "indexed": false, + "name": "workerPool", + "type": "address" + } + ], + "name": "WorkOrderClaimed", + "type": "event" + }, + "0xed236d0a24cb7a32c76960696e44bac711b80ef76780688405dc96c2495b75f9": { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "woid", + "type": "address" + }, + { + "indexed": false, + "name": "workerPool", + "type": "address" + } + ], + "name": "WorkOrderCompleted", + "type": "event" + }, + "0x03d3b6187bbe7d21aa3cf229e292ba41fa8bca6ec2128c0f1625178b8191cdc2": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "appOwner", + "type": "address" + }, + { + "indexed": true, + "name": "app", + "type": "address" + }, + { + "indexed": false, + "name": "appName", + "type": "string" + }, + { + "indexed": false, + "name": "appPrice", + "type": "uint256" + }, + { + "indexed": false, + "name": "appParams", + "type": "string" + } + ], + "name": "CreateApp", + "type": "event" + }, + "0x49413c774d3fe9c92f6ada69299963d9b4b1c13a1f2a95a019188e2c161ed143": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "datasetOwner", + "type": "address" + }, + { + "indexed": true, + "name": "dataset", + "type": "address" + }, + { + "indexed": false, + "name": "datasetName", + "type": "string" + }, + { + "indexed": false, + "name": "datasetPrice", + "type": "uint256" + }, + { + "indexed": false, + "name": "datasetParams", + "type": "string" + } + ], + "name": "CreateDataset", + "type": "event" + }, + "0x3c29f4ff1e741e465a1ad9cc4c0b8e51c046c021ca9e77172d812ae667f566f8": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "workerPoolOwner", + "type": "address" + }, + { + "indexed": true, + "name": "workerPool", + "type": "address" + }, + { + "indexed": false, + "name": "workerPoolDescription", + "type": "string" + } + ], + "name": "CreateWorkerPool", + "type": "event" + }, + "0x62bf08360c9d561749c54eaf4f8bf8cb6c8b6f4f40607bcec39a8172e714d25c": { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "catid", + "type": "uint256" + }, + { + "indexed": false, + "name": "name", + "type": "string" + }, + { + "indexed": false, + "name": "description", + "type": "string" + }, + { + "indexed": false, + "name": "workClockTimeRef", + "type": "uint256" + } + ], + "name": "CreateCategory", + "type": "event" + }, + "0xd3548f8b6a2a11c4a35ef5a16dbf7142c9db5163c7d46e7f66482664277cff07": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "workerPool", + "type": "address" + }, + { + "indexed": false, + "name": "worker", + "type": "address" + } + ], + "name": "WorkerPoolSubscription", + "type": "event" + }, + "0x9644170e77fec17243f5fdc3519cba6d2162d1dda59af75508fd9a2005aeb784": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "workerPool", + "type": "address" + }, + { + "indexed": false, + "name": "worker", + "type": "address" + } + ], + "name": "WorkerPoolUnsubscription", + "type": "event" + }, + "0x5580db655b3146ef4d1fdba3305cf74dbc3f29126c7a3832533f84e00d149ee3": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "workerPool", + "type": "address" + }, + { + "indexed": false, + "name": "worker", + "type": "address" + } + ], + "name": "WorkerPoolEviction", + "type": "event" + }, + "0x98b231d22df4a95e9d99b5d3f4d25fab5a821c22d7f517a522731c2892ed4535": { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "woid", + "type": "address" + }, + { + "indexed": true, + "name": "worker", + "type": "address" + } + ], + "name": "AccurateContribution", + "type": "event" + }, + "0xd21e70eb7104cb6f403402b79fe1c088dc56b69ecb7474ae68a3e861a5a6d499": { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "woid", + "type": "address" + }, + { + "indexed": true, + "name": "worker", + "type": "address" + } + ], + "name": "FaultyContribution", + "type": "event" + }, + "0xe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c": { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "owner", + "type": "address" + }, + { + "indexed": false, + "name": "amount", + "type": "uint256" + } + ], + "name": "Deposit", + "type": "event" + }, + "0x884edad9ce6fa2440d8a54cc123490eb96d2768479d49ff9c7366125a9424364": { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "owner", + "type": "address" + }, + { + "indexed": false, + "name": "amount", + "type": "uint256" + } + ], + "name": "Withdraw", + "type": "event" + }, + "0x619caafabdd75649b302ba8419e48cccf64f37f1983ac4727cfb38b57703ffc9": { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "user", + "type": "address" + }, + { + "indexed": false, + "name": "amount", + "type": "uint256" + } + ], + "name": "Reward", + "type": "event" + }, + "0x4051ba94e08bb094159fc38391422b4b8ccfd2b1f8919c0eb37bb042d4b9cd8e": { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "user", + "type": "address" + }, + { + "indexed": false, + "name": "amount", + "type": "uint256" + } + ], + "name": "Seize", + "type": "event" + } + }, + "links": {}, + "address": "0x0d5ef019ca4c5cc413ee892ced89d7107c5f424d", + "transactionHash": "0x931349936f3b358dc84c873e30d76258cf67ac64c953d11335211234b5ceee43" + } + }, + "schemaVersion": "2.0.0", + "updatedAt": "2018-06-12T15:21:39.663Z" +} \ No newline at end of file diff --git a/deployed/contracts/IexecHubAccessor.json b/deployed/contracts/IexecHubAccessor.json new file mode 100644 index 00000000..cc5b18dc --- /dev/null +++ b/deployed/contracts/IexecHubAccessor.json @@ -0,0 +1,1067 @@ +{ + "contractName": "IexecHubAccessor", + "abi": [ + { + "inputs": [ + { + "name": "_iexecHubAddress", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + } + ], + "bytecode": "0x60606040523415600e57600080fd5b604051602080609a83398101604052808051915050600160a060020a0381161515603757600080fd5b60008054600160a060020a03909216600160a060020a031990921691909117905560358060656000396000f3006060604052600080fd00a165627a7a72305820e3add50370a10e6d566788f9b4fe3aaae55052ba1acc894788f4b8d1e0c9622c0029", + "deployedBytecode": "0x6060604052600080fd00a165627a7a72305820e3add50370a10e6d566788f9b4fe3aaae55052ba1acc894788f4b8d1e0c9622c0029", + "sourceMap": "61:336:7:-;;;228:166;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;300:30:7;;;;292:39;;;;;;335:17;:55;;-1:-1:-1;;;;;335:55:7;;;-1:-1:-1;;;;;;335:55:7;;;;;;;;;61:336;;;;;;", + "deployedSourceMap": "61:336:7:-;;;;;", + "source": "pragma solidity ^0.4.21;\n\nimport './IexecHubInterface.sol';\n\ncontract IexecHubAccessor\n{\n\tIexecHubInterface internal iexecHubInterface;\n\n\tmodifier onlyIexecHub()\n\t{\n\t\trequire(msg.sender == address(iexecHubInterface));\n\t\t_;\n\t}\n\n\tfunction IexecHubAccessor(address _iexecHubAddress) public\n\t{\n\t\trequire(_iexecHubAddress != address(0));\n\t\tiexecHubInterface = IexecHubInterface(_iexecHubAddress);\n\t}\n\n}\n", + "sourcePath": "/Users/fbranci/iexecdev/PoCo/contracts/IexecHubAccessor.sol", + "ast": { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/IexecHubAccessor.sol", + "exportedSymbols": { + "IexecHubAccessor": [ + 2475 + ] + }, + "id": 2476, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 2438, + "literals": [ + "solidity", + "^", + "0.4", + ".21" + ], + "nodeType": "PragmaDirective", + "src": "0:24:7" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/IexecHubInterface.sol", + "file": "./IexecHubInterface.sol", + "id": 2439, + "nodeType": "ImportDirective", + "scope": 2476, + "sourceUnit": 2803, + "src": "26:33:7", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 2475, + "linearizedBaseContracts": [ + 2475 + ], + "name": "IexecHubAccessor", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 2441, + "name": "iexecHubInterface", + "nodeType": "VariableDeclaration", + "scope": 2475, + "src": "90:44:7", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$2802", + "typeString": "contract IexecHubInterface" + }, + "typeName": { + "contractScope": null, + "id": 2440, + "name": "IexecHubInterface", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2802, + "src": "90:17:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$2802", + "typeString": "contract IexecHubInterface" + } + }, + "value": null, + "visibility": "internal" + }, + { + "body": { + "id": 2453, + "nodeType": "Block", + "src": "163:62:7", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 2449, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2444, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "175:3:7", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2445, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "175:10:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2447, + "name": "iexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2441, + "src": "197:17:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$2802", + "typeString": "contract IexecHubInterface" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_IexecHubInterface_$2802", + "typeString": "contract IexecHubInterface" + } + ], + "id": 2446, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "189:7:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 2448, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "189:26:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "175:40:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2443, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "167:7:7", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2450, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "167:49:7", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2451, + "nodeType": "ExpressionStatement", + "src": "167:49:7" + }, + { + "id": 2452, + "nodeType": "PlaceholderStatement", + "src": "220:1:7" + } + ] + }, + "documentation": null, + "id": 2454, + "name": "onlyIexecHub", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 2442, + "nodeType": "ParameterList", + "parameters": [], + "src": "159:2:7" + }, + "src": "138:87:7", + "visibility": "internal" + }, + { + "body": { + "id": 2473, + "nodeType": "Block", + "src": "288:106:7", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 2464, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 2460, + "name": "_iexecHubAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2456, + "src": "300:16:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 2462, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "328:1:7", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 2461, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "320:7:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 2463, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "320:10:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "300:30:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2459, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "292:7:7", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2465, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "292:39:7", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2466, + "nodeType": "ExpressionStatement", + "src": "292:39:7" + }, + { + "expression": { + "argumentTypes": null, + "id": 2471, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 2467, + "name": "iexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2441, + "src": "335:17:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$2802", + "typeString": "contract IexecHubInterface" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2469, + "name": "_iexecHubAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2456, + "src": "373:16:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2468, + "name": "IexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2802, + "src": "355:17:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecHubInterface_$2802_$", + "typeString": "type(contract IexecHubInterface)" + } + }, + "id": 2470, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "355:35:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$2802", + "typeString": "contract IexecHubInterface" + } + }, + "src": "335:55:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$2802", + "typeString": "contract IexecHubInterface" + } + }, + "id": 2472, + "nodeType": "ExpressionStatement", + "src": "335:55:7" + } + ] + }, + "documentation": null, + "id": 2474, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "IexecHubAccessor", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2457, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2456, + "name": "_iexecHubAddress", + "nodeType": "VariableDeclaration", + "scope": 2474, + "src": "254:24:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2455, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "254:7:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "253:26:7" + }, + "payable": false, + "returnParameters": { + "id": 2458, + "nodeType": "ParameterList", + "parameters": [], + "src": "288:0:7" + }, + "scope": 2475, + "src": "228:166:7", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 2476, + "src": "61:336:7" + } + ], + "src": "0:398:7" + }, + "legacyAST": { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/IexecHubAccessor.sol", + "exportedSymbols": { + "IexecHubAccessor": [ + 2475 + ] + }, + "id": 2476, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 2438, + "literals": [ + "solidity", + "^", + "0.4", + ".21" + ], + "nodeType": "PragmaDirective", + "src": "0:24:7" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/IexecHubInterface.sol", + "file": "./IexecHubInterface.sol", + "id": 2439, + "nodeType": "ImportDirective", + "scope": 2476, + "sourceUnit": 2803, + "src": "26:33:7", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 2475, + "linearizedBaseContracts": [ + 2475 + ], + "name": "IexecHubAccessor", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 2441, + "name": "iexecHubInterface", + "nodeType": "VariableDeclaration", + "scope": 2475, + "src": "90:44:7", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$2802", + "typeString": "contract IexecHubInterface" + }, + "typeName": { + "contractScope": null, + "id": 2440, + "name": "IexecHubInterface", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2802, + "src": "90:17:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$2802", + "typeString": "contract IexecHubInterface" + } + }, + "value": null, + "visibility": "internal" + }, + { + "body": { + "id": 2453, + "nodeType": "Block", + "src": "163:62:7", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 2449, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2444, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "175:3:7", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2445, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "175:10:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2447, + "name": "iexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2441, + "src": "197:17:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$2802", + "typeString": "contract IexecHubInterface" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_IexecHubInterface_$2802", + "typeString": "contract IexecHubInterface" + } + ], + "id": 2446, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "189:7:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 2448, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "189:26:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "175:40:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2443, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "167:7:7", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2450, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "167:49:7", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2451, + "nodeType": "ExpressionStatement", + "src": "167:49:7" + }, + { + "id": 2452, + "nodeType": "PlaceholderStatement", + "src": "220:1:7" + } + ] + }, + "documentation": null, + "id": 2454, + "name": "onlyIexecHub", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 2442, + "nodeType": "ParameterList", + "parameters": [], + "src": "159:2:7" + }, + "src": "138:87:7", + "visibility": "internal" + }, + { + "body": { + "id": 2473, + "nodeType": "Block", + "src": "288:106:7", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 2464, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 2460, + "name": "_iexecHubAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2456, + "src": "300:16:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 2462, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "328:1:7", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 2461, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "320:7:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 2463, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "320:10:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "300:30:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2459, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "292:7:7", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2465, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "292:39:7", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2466, + "nodeType": "ExpressionStatement", + "src": "292:39:7" + }, + { + "expression": { + "argumentTypes": null, + "id": 2471, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 2467, + "name": "iexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2441, + "src": "335:17:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$2802", + "typeString": "contract IexecHubInterface" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2469, + "name": "_iexecHubAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2456, + "src": "373:16:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2468, + "name": "IexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2802, + "src": "355:17:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecHubInterface_$2802_$", + "typeString": "type(contract IexecHubInterface)" + } + }, + "id": 2470, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "355:35:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$2802", + "typeString": "contract IexecHubInterface" + } + }, + "src": "335:55:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$2802", + "typeString": "contract IexecHubInterface" + } + }, + "id": 2472, + "nodeType": "ExpressionStatement", + "src": "335:55:7" + } + ] + }, + "documentation": null, + "id": 2474, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "IexecHubAccessor", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2457, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2456, + "name": "_iexecHubAddress", + "nodeType": "VariableDeclaration", + "scope": 2474, + "src": "254:24:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2455, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "254:7:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "253:26:7" + }, + "payable": false, + "returnParameters": { + "id": 2458, + "nodeType": "ParameterList", + "parameters": [], + "src": "288:0:7" + }, + "scope": 2475, + "src": "228:166:7", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 2476, + "src": "61:336:7" + } + ], + "src": "0:398:7" + }, + "compiler": { + "name": "solc", + "version": "0.4.21+commit.dfe3193c.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "2.0.0", + "updatedAt": "2018-06-12T14:56:21.145Z" +} \ No newline at end of file diff --git a/deployed/contracts/IexecHubInterface.json b/deployed/contracts/IexecHubInterface.json new file mode 100644 index 00000000..02ffdee2 --- /dev/null +++ b/deployed/contracts/IexecHubInterface.json @@ -0,0 +1,8665 @@ +{ + "contractName": "IexecHubInterface", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "rlc", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_tokenAddress", + "type": "address" + }, + { + "name": "_marketplaceAddress", + "type": "address" + }, + { + "name": "_workerPoolHubAddress", + "type": "address" + }, + { + "name": "_appHubAddress", + "type": "address" + }, + { + "name": "_datasetHubAddress", + "type": "address" + } + ], + "name": "attachContracts", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_categoriesCreator", + "type": "address" + } + ], + "name": "setCategoriesCreator", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_name", + "type": "string" + }, + { + "name": "_description", + "type": "string" + }, + { + "name": "_workClockTimeRef", + "type": "uint256" + } + ], + "name": "createCategory", + "outputs": [ + { + "name": "catid", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_description", + "type": "string" + }, + { + "name": "_subscriptionLockStakePolicy", + "type": "uint256" + }, + { + "name": "_subscriptionMinimumStakePolicy", + "type": "uint256" + }, + { + "name": "_subscriptionMinimumScorePolicy", + "type": "uint256" + } + ], + "name": "createWorkerPool", + "outputs": [ + { + "name": "createdWorkerPool", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_appName", + "type": "string" + }, + { + "name": "_appPrice", + "type": "uint256" + }, + { + "name": "_appParams", + "type": "string" + } + ], + "name": "createApp", + "outputs": [ + { + "name": "createdApp", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_datasetName", + "type": "string" + }, + { + "name": "_datasetPrice", + "type": "uint256" + }, + { + "name": "_datasetParams", + "type": "string" + } + ], + "name": "createDataset", + "outputs": [ + { + "name": "createdDataset", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_marketorderIdx", + "type": "uint256" + }, + { + "name": "_workerpool", + "type": "address" + }, + { + "name": "_app", + "type": "address" + }, + { + "name": "_dataset", + "type": "address" + }, + { + "name": "_params", + "type": "string" + }, + { + "name": "_callback", + "type": "address" + }, + { + "name": "_beneficiary", + "type": "address" + } + ], + "name": "buyForWorkOrder", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_woid", + "type": "address" + } + ], + "name": "isWoidRegistred", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_woid", + "type": "address" + } + ], + "name": "claimFailedConsensus", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_woid", + "type": "address" + }, + { + "name": "_stdout", + "type": "string" + }, + { + "name": "_stderr", + "type": "string" + }, + { + "name": "_uri", + "type": "string" + } + ], + "name": "finalizeWorkOrder", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_catId", + "type": "uint256" + } + ], + "name": "getCategoryWorkClockTimeRef", + "outputs": [ + { + "name": "workClockTimeRef", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_catId", + "type": "uint256" + } + ], + "name": "existingCategory", + "outputs": [ + { + "name": "categoryExist", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_catId", + "type": "uint256" + } + ], + "name": "getCategory", + "outputs": [ + { + "name": "catid", + "type": "uint256" + }, + { + "name": "name", + "type": "string" + }, + { + "name": "description", + "type": "string" + }, + { + "name": "workClockTimeRef", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_worker", + "type": "address" + } + ], + "name": "getWorkerStatus", + "outputs": [ + { + "name": "workerPool", + "type": "address" + }, + { + "name": "workerScore", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_worker", + "type": "address" + } + ], + "name": "getWorkerScore", + "outputs": [ + { + "name": "workerScore", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_worker", + "type": "address" + } + ], + "name": "registerToPool", + "outputs": [ + { + "name": "subscribed", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_worker", + "type": "address" + } + ], + "name": "unregisterFromPool", + "outputs": [ + { + "name": "unsubscribed", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_worker", + "type": "address" + } + ], + "name": "evictWorker", + "outputs": [ + { + "name": "unsubscribed", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_user", + "type": "address" + }, + { + "name": "_amount", + "type": "uint256" + } + ], + "name": "lockForOrder", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_user", + "type": "address" + }, + { + "name": "_amount", + "type": "uint256" + } + ], + "name": "unlockForOrder", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_woid", + "type": "address" + }, + { + "name": "_user", + "type": "address" + }, + { + "name": "_amount", + "type": "uint256" + } + ], + "name": "lockForWork", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_woid", + "type": "address" + }, + { + "name": "_user", + "type": "address" + }, + { + "name": "_amount", + "type": "uint256" + } + ], + "name": "unlockForWork", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_woid", + "type": "address" + }, + { + "name": "_worker", + "type": "address" + }, + { + "name": "_amount", + "type": "uint256" + }, + { + "name": "_reputation", + "type": "bool" + } + ], + "name": "rewardForWork", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_woid", + "type": "address" + }, + { + "name": "_worker", + "type": "address" + }, + { + "name": "_amount", + "type": "uint256" + }, + { + "name": "_reputation", + "type": "bool" + } + ], + "name": "seizeForWork", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_amount", + "type": "uint256" + } + ], + "name": "deposit", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_amount", + "type": "uint256" + } + ], + "name": "withdraw", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_owner", + "type": "address" + } + ], + "name": "checkBalance", + "outputs": [ + { + "name": "stake", + "type": "uint256" + }, + { + "name": "locked", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "sourceMap": "", + "deployedSourceMap": "", + "source": "pragma solidity ^0.4.21;\n\nimport \"rlc-token/contracts/RLC.sol\";\n\ncontract IexecHubInterface\n{\n\tRLC public rlc;\n\n\tfunction attachContracts(\n\t\taddress _tokenAddress,\n\t\taddress _marketplaceAddress,\n\t\taddress _workerPoolHubAddress,\n\t\taddress _appHubAddress,\n\t\taddress _datasetHubAddress)\n\t\tpublic;\n\n\tfunction setCategoriesCreator(\n\t\taddress _categoriesCreator)\n\tpublic;\n\n\tfunction createCategory(\n\t\tstring _name,\n\t\tstring _description,\n\t\tuint256 _workClockTimeRef)\n\tpublic returns (uint256 catid);\n\n\tfunction createWorkerPool(\n\t\tstring _description,\n\t\tuint256 _subscriptionLockStakePolicy,\n\t\tuint256 _subscriptionMinimumStakePolicy,\n\t\tuint256 _subscriptionMinimumScorePolicy)\n\texternal returns (address createdWorkerPool);\n\n\tfunction createApp(\n\t\tstring _appName,\n\t\tuint256 _appPrice,\n\t\tstring _appParams)\n\texternal returns (address createdApp);\n\n\tfunction createDataset(\n\t\tstring _datasetName,\n\t\tuint256 _datasetPrice,\n\t\tstring _datasetParams)\n\texternal returns (address createdDataset);\n\n\tfunction buyForWorkOrder(\n\t\tuint256 _marketorderIdx,\n\t\taddress _workerpool,\n\t\taddress _app,\n\t\taddress _dataset,\n\t\tstring _params,\n\t\taddress _callback,\n\t\taddress _beneficiary)\n\texternal returns (address);\n\n\tfunction isWoidRegistred(\n\t\taddress _woid)\n\tpublic view returns (bool);\n\n\tfunction lockWorkOrderCost(\n\t\taddress _requester,\n\t\taddress _workerpool, // Address of a smartcontract\n\t\taddress _app, // Address of a smartcontract\n\t\taddress _dataset) // Address of a smartcontract\n\tinternal returns (uint256);\n\n\tfunction claimFailedConsensus(\n\t\taddress _woid)\n\tpublic returns (bool);\n\n\tfunction finalizeWorkOrder(\n\t\taddress _woid,\n\t\tstring _stdout,\n\t\tstring _stderr,\n\t\tstring _uri)\n\tpublic returns (bool);\n\n\tfunction getCategoryWorkClockTimeRef(\n\t\tuint256 _catId)\n\tpublic view returns (uint256 workClockTimeRef);\n\n\tfunction existingCategory(\n\t\tuint256 _catId)\n\tpublic view returns (bool categoryExist);\n\n\tfunction getCategory(\n\t\tuint256 _catId)\n\t\tpublic view returns (uint256 catid, string name, string description, uint256 workClockTimeRef);\n\n\tfunction getWorkerStatus(\n\t\taddress _worker)\n\tpublic view returns (address workerPool, uint256 workerScore);\n\n\tfunction getWorkerScore(address _worker) public view returns (uint256 workerScore);\n\n\tfunction registerToPool(address _worker) public returns (bool subscribed);\n\n\tfunction unregisterFromPool(address _worker) public returns (bool unsubscribed);\n\n\tfunction evictWorker(address _worker) public returns (bool unsubscribed);\n\n\tfunction removeWorker(address _workerpool, address _worker) internal returns (bool unsubscribed);\n\n\tfunction lockForOrder(address _user, uint256 _amount) public returns (bool);\n\n\tfunction unlockForOrder(address _user, uint256 _amount) public returns (bool);\n\n\tfunction lockForWork(address _woid, address _user, uint256 _amount) public returns (bool);\n\n\tfunction unlockForWork(address _woid, address _user, uint256 _amount) public returns (bool);\n\n\tfunction rewardForWork(address _woid, address _worker, uint256 _amount, bool _reputation) public returns (bool);\n\n\tfunction seizeForWork(address _woid, address _worker, uint256 _amount, bool _reputation) public returns (bool);\n\n\tfunction deposit(uint256 _amount) external returns (bool);\n\n\tfunction withdraw(uint256 _amount) external returns (bool);\n\n\tfunction checkBalance(address _owner) public view returns (uint256 stake, uint256 locked);\n\n\tfunction reward(address _user, uint256 _amount) internal returns (bool);\n\n\tfunction seize(address _user, uint256 _amount) internal returns (bool);\n\n\tfunction lock(address _user, uint256 _amount) internal returns (bool);\n\n\tfunction unlock(address _user, uint256 _amount) internal returns (bool);\n}\n", + "sourcePath": "/Users/fbranci/iexecdev/PoCo/contracts/IexecHubInterface.sol", + "ast": { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/IexecHubInterface.sol", + "exportedSymbols": { + "IexecHubInterface": [ + 2802 + ] + }, + "id": 2803, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 2477, + "literals": [ + "solidity", + "^", + "0.4", + ".21" + ], + "nodeType": "PragmaDirective", + "src": "0:24:8" + }, + { + "absolutePath": "rlc-token/contracts/RLC.sol", + "file": "rlc-token/contracts/RLC.sol", + "id": 2478, + "nodeType": "ImportDirective", + "scope": 2803, + "sourceUnit": 6786, + "src": "26:37:8", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": false, + "id": 2802, + "linearizedBaseContracts": [ + 2802 + ], + "name": "IexecHubInterface", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 2480, + "name": "rlc", + "nodeType": "VariableDeclaration", + "scope": 2802, + "src": "95:14:8", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_RLC_$6785", + "typeString": "contract RLC" + }, + "typeName": { + "contractScope": null, + "id": 2479, + "name": "RLC", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 6785, + "src": "95:3:8", + "typeDescriptions": { + "typeIdentifier": "t_contract$_RLC_$6785", + "typeString": "contract RLC" + } + }, + "value": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 2493, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "attachContracts", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2491, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2482, + "name": "_tokenAddress", + "nodeType": "VariableDeclaration", + "scope": 2493, + "src": "141:21:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2481, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "141:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2484, + "name": "_marketplaceAddress", + "nodeType": "VariableDeclaration", + "scope": 2493, + "src": "166:27:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2483, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "166:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2486, + "name": "_workerPoolHubAddress", + "nodeType": "VariableDeclaration", + "scope": 2493, + "src": "197:29:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2485, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "197:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2488, + "name": "_appHubAddress", + "nodeType": "VariableDeclaration", + "scope": 2493, + "src": "230:22:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2487, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "230:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2490, + "name": "_datasetHubAddress", + "nodeType": "VariableDeclaration", + "scope": 2493, + "src": "256:26:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2489, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "256:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "137:146:8" + }, + "payable": false, + "returnParameters": { + "id": 2492, + "nodeType": "ParameterList", + "parameters": [], + "src": "292:0:8" + }, + "scope": 2802, + "src": "113:180:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 2498, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "setCategoriesCreator", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2496, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2495, + "name": "_categoriesCreator", + "nodeType": "VariableDeclaration", + "scope": 2498, + "src": "329:26:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2494, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "329:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "325:31:8" + }, + "payable": false, + "returnParameters": { + "id": 2497, + "nodeType": "ParameterList", + "parameters": [], + "src": "364:0:8" + }, + "scope": 2802, + "src": "296:69:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 2509, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "createCategory", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2505, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2500, + "name": "_name", + "nodeType": "VariableDeclaration", + "scope": 2509, + "src": "395:13:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 2499, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "395:6:8", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2502, + "name": "_description", + "nodeType": "VariableDeclaration", + "scope": 2509, + "src": "412:20:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 2501, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "412:6:8", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2504, + "name": "_workClockTimeRef", + "nodeType": "VariableDeclaration", + "scope": 2509, + "src": "436:25:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2503, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "436:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "391:71:8" + }, + "payable": false, + "returnParameters": { + "id": 2508, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2507, + "name": "catid", + "nodeType": "VariableDeclaration", + "scope": 2509, + "src": "480:13:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2506, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "480:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "479:15:8" + }, + "scope": 2802, + "src": "368:127:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 2522, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "createWorkerPool", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2518, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2511, + "name": "_description", + "nodeType": "VariableDeclaration", + "scope": 2522, + "src": "527:20:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + }, + "typeName": { + "id": 2510, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "527:6:8", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2513, + "name": "_subscriptionLockStakePolicy", + "nodeType": "VariableDeclaration", + "scope": 2522, + "src": "551:36:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2512, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "551:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2515, + "name": "_subscriptionMinimumStakePolicy", + "nodeType": "VariableDeclaration", + "scope": 2522, + "src": "591:39:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2514, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "591:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2517, + "name": "_subscriptionMinimumScorePolicy", + "nodeType": "VariableDeclaration", + "scope": 2522, + "src": "634:39:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2516, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "634:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "523:151:8" + }, + "payable": false, + "returnParameters": { + "id": 2521, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2520, + "name": "createdWorkerPool", + "nodeType": "VariableDeclaration", + "scope": 2522, + "src": "694:25:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2519, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "694:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "693:27:8" + }, + "scope": 2802, + "src": "498:223:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 2533, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "createApp", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2529, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2524, + "name": "_appName", + "nodeType": "VariableDeclaration", + "scope": 2533, + "src": "746:16:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + }, + "typeName": { + "id": 2523, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "746:6:8", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2526, + "name": "_appPrice", + "nodeType": "VariableDeclaration", + "scope": 2533, + "src": "766:17:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2525, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "766:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2528, + "name": "_appParams", + "nodeType": "VariableDeclaration", + "scope": 2533, + "src": "787:18:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + }, + "typeName": { + "id": 2527, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "787:6:8", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "742:64:8" + }, + "payable": false, + "returnParameters": { + "id": 2532, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2531, + "name": "createdApp", + "nodeType": "VariableDeclaration", + "scope": 2533, + "src": "826:18:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2530, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "826:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "825:20:8" + }, + "scope": 2802, + "src": "724:122:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 2544, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "createDataset", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2540, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2535, + "name": "_datasetName", + "nodeType": "VariableDeclaration", + "scope": 2544, + "src": "875:20:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + }, + "typeName": { + "id": 2534, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "875:6:8", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2537, + "name": "_datasetPrice", + "nodeType": "VariableDeclaration", + "scope": 2544, + "src": "899:21:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2536, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "899:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2539, + "name": "_datasetParams", + "nodeType": "VariableDeclaration", + "scope": 2544, + "src": "924:22:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + }, + "typeName": { + "id": 2538, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "924:6:8", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "871:76:8" + }, + "payable": false, + "returnParameters": { + "id": 2543, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2542, + "name": "createdDataset", + "nodeType": "VariableDeclaration", + "scope": 2544, + "src": "967:22:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2541, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "967:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "966:24:8" + }, + "scope": 2802, + "src": "849:142:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 2563, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "buyForWorkOrder", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2559, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2546, + "name": "_marketorderIdx", + "nodeType": "VariableDeclaration", + "scope": 2563, + "src": "1022:23:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2545, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1022:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2548, + "name": "_workerpool", + "nodeType": "VariableDeclaration", + "scope": 2563, + "src": "1049:19:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2547, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1049:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2550, + "name": "_app", + "nodeType": "VariableDeclaration", + "scope": 2563, + "src": "1072:12:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2549, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1072:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2552, + "name": "_dataset", + "nodeType": "VariableDeclaration", + "scope": 2563, + "src": "1088:16:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2551, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1088:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2554, + "name": "_params", + "nodeType": "VariableDeclaration", + "scope": 2563, + "src": "1108:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + }, + "typeName": { + "id": 2553, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1108:6:8", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2556, + "name": "_callback", + "nodeType": "VariableDeclaration", + "scope": 2563, + "src": "1127:17:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2555, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1127:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2558, + "name": "_beneficiary", + "nodeType": "VariableDeclaration", + "scope": 2563, + "src": "1148:20:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2557, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1148:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1018:151:8" + }, + "payable": false, + "returnParameters": { + "id": 2562, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2561, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2563, + "src": "1189:7:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2560, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1189:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1188:9:8" + }, + "scope": 2802, + "src": "994:204:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 2570, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "isWoidRegistred", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2566, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2565, + "name": "_woid", + "nodeType": "VariableDeclaration", + "scope": 2570, + "src": "1229:13:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2564, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1229:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1225:18:8" + }, + "payable": false, + "returnParameters": { + "id": 2569, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2568, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2570, + "src": "1266:4:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2567, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1266:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1265:6:8" + }, + "scope": 2802, + "src": "1201:71:8", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 2583, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "lockWorkOrderCost", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2579, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2572, + "name": "_requester", + "nodeType": "VariableDeclaration", + "scope": 2583, + "src": "1305:18:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2571, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1305:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2574, + "name": "_workerpool", + "nodeType": "VariableDeclaration", + "scope": 2583, + "src": "1327:19:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2573, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1327:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2576, + "name": "_app", + "nodeType": "VariableDeclaration", + "scope": 2583, + "src": "1380:12:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2575, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1380:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2578, + "name": "_dataset", + "nodeType": "VariableDeclaration", + "scope": 2583, + "src": "1433:16:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2577, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1433:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1301:149:8" + }, + "payable": false, + "returnParameters": { + "id": 2582, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2581, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2583, + "src": "1503:7:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2580, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1503:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1502:9:8" + }, + "scope": 2802, + "src": "1275:237:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": null, + "documentation": null, + "id": 2590, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "claimFailedConsensus", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2586, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2585, + "name": "_woid", + "nodeType": "VariableDeclaration", + "scope": 2590, + "src": "1548:13:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2584, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1548:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1544:18:8" + }, + "payable": false, + "returnParameters": { + "id": 2589, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2588, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2590, + "src": "1580:4:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2587, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1580:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1579:6:8" + }, + "scope": 2802, + "src": "1515:71:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 2603, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "finalizeWorkOrder", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2599, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2592, + "name": "_woid", + "nodeType": "VariableDeclaration", + "scope": 2603, + "src": "1619:13:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2591, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1619:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2594, + "name": "_stdout", + "nodeType": "VariableDeclaration", + "scope": 2603, + "src": "1636:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 2593, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1636:6:8", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2596, + "name": "_stderr", + "nodeType": "VariableDeclaration", + "scope": 2603, + "src": "1655:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 2595, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1655:6:8", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2598, + "name": "_uri", + "nodeType": "VariableDeclaration", + "scope": 2603, + "src": "1674:12:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 2597, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1674:6:8", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1615:72:8" + }, + "payable": false, + "returnParameters": { + "id": 2602, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2601, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2603, + "src": "1705:4:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2600, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1705:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1704:6:8" + }, + "scope": 2802, + "src": "1589:122:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 2610, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getCategoryWorkClockTimeRef", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2606, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2605, + "name": "_catId", + "nodeType": "VariableDeclaration", + "scope": 2610, + "src": "1754:14:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2604, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1754:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1750:19:8" + }, + "payable": false, + "returnParameters": { + "id": 2609, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2608, + "name": "workClockTimeRef", + "nodeType": "VariableDeclaration", + "scope": 2610, + "src": "1792:24:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2607, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1792:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1791:26:8" + }, + "scope": 2802, + "src": "1714:104:8", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 2617, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "existingCategory", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2613, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2612, + "name": "_catId", + "nodeType": "VariableDeclaration", + "scope": 2617, + "src": "1850:14:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2611, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1850:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1846:19:8" + }, + "payable": false, + "returnParameters": { + "id": 2616, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2615, + "name": "categoryExist", + "nodeType": "VariableDeclaration", + "scope": 2617, + "src": "1889:18:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2614, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1889:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1888:20:8" + }, + "scope": 2802, + "src": "1821:88:8", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 2630, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getCategory", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2620, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2619, + "name": "_catId", + "nodeType": "VariableDeclaration", + "scope": 2630, + "src": "1936:14:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2618, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1936:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1932:19:8" + }, + "payable": false, + "returnParameters": { + "id": 2629, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2622, + "name": "catid", + "nodeType": "VariableDeclaration", + "scope": 2630, + "src": "1975:13:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2621, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1975:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2624, + "name": "name", + "nodeType": "VariableDeclaration", + "scope": 2630, + "src": "1990:11:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 2623, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1990:6:8", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2626, + "name": "description", + "nodeType": "VariableDeclaration", + "scope": 2630, + "src": "2003:19:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 2625, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2003:6:8", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2628, + "name": "workClockTimeRef", + "nodeType": "VariableDeclaration", + "scope": 2630, + "src": "2024:24:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2627, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2024:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1974:75:8" + }, + "scope": 2802, + "src": "1912:138:8", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 2639, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getWorkerStatus", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2633, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2632, + "name": "_worker", + "nodeType": "VariableDeclaration", + "scope": 2639, + "src": "2081:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2631, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2081:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2077:20:8" + }, + "payable": false, + "returnParameters": { + "id": 2638, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2635, + "name": "workerPool", + "nodeType": "VariableDeclaration", + "scope": 2639, + "src": "2120:18:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2634, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2120:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2637, + "name": "workerScore", + "nodeType": "VariableDeclaration", + "scope": 2639, + "src": "2140:19:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2636, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2140:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2119:41:8" + }, + "scope": 2802, + "src": "2053:108:8", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 2646, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getWorkerScore", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2642, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2641, + "name": "_worker", + "nodeType": "VariableDeclaration", + "scope": 2646, + "src": "2188:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2640, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2188:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2187:17:8" + }, + "payable": false, + "returnParameters": { + "id": 2645, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2644, + "name": "workerScore", + "nodeType": "VariableDeclaration", + "scope": 2646, + "src": "2226:19:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2643, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2226:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2225:21:8" + }, + "scope": 2802, + "src": "2164:83:8", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 2653, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "registerToPool", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2649, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2648, + "name": "_worker", + "nodeType": "VariableDeclaration", + "scope": 2653, + "src": "2274:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2647, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2274:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2273:17:8" + }, + "payable": false, + "returnParameters": { + "id": 2652, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2651, + "name": "subscribed", + "nodeType": "VariableDeclaration", + "scope": 2653, + "src": "2307:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2650, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2307:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2306:17:8" + }, + "scope": 2802, + "src": "2250:74:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 2660, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "unregisterFromPool", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2656, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2655, + "name": "_worker", + "nodeType": "VariableDeclaration", + "scope": 2660, + "src": "2355:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2654, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2355:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2354:17:8" + }, + "payable": false, + "returnParameters": { + "id": 2659, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2658, + "name": "unsubscribed", + "nodeType": "VariableDeclaration", + "scope": 2660, + "src": "2388:17:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2657, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2388:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2387:19:8" + }, + "scope": 2802, + "src": "2327:80:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 2667, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "evictWorker", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2663, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2662, + "name": "_worker", + "nodeType": "VariableDeclaration", + "scope": 2667, + "src": "2431:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2661, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2431:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2430:17:8" + }, + "payable": false, + "returnParameters": { + "id": 2666, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2665, + "name": "unsubscribed", + "nodeType": "VariableDeclaration", + "scope": 2667, + "src": "2464:17:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2664, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2464:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2463:19:8" + }, + "scope": 2802, + "src": "2410:73:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 2676, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "removeWorker", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2672, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2669, + "name": "_workerpool", + "nodeType": "VariableDeclaration", + "scope": 2676, + "src": "2508:19:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2668, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2508:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2671, + "name": "_worker", + "nodeType": "VariableDeclaration", + "scope": 2676, + "src": "2529:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2670, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2529:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2507:38:8" + }, + "payable": false, + "returnParameters": { + "id": 2675, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2674, + "name": "unsubscribed", + "nodeType": "VariableDeclaration", + "scope": 2676, + "src": "2564:17:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2673, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2564:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2563:19:8" + }, + "scope": 2802, + "src": "2486:97:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": null, + "documentation": null, + "id": 2685, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "lockForOrder", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2681, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2678, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 2685, + "src": "2608:13:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2677, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2608:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2680, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 2685, + "src": "2623:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2679, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2623:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2607:32:8" + }, + "payable": false, + "returnParameters": { + "id": 2684, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2683, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2685, + "src": "2656:4:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2682, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2656:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2655:6:8" + }, + "scope": 2802, + "src": "2586:76:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 2694, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "unlockForOrder", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2690, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2687, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 2694, + "src": "2689:13:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2686, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2689:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2689, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 2694, + "src": "2704:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2688, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2704:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2688:32:8" + }, + "payable": false, + "returnParameters": { + "id": 2693, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2692, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2694, + "src": "2737:4:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2691, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2737:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2736:6:8" + }, + "scope": 2802, + "src": "2665:78:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 2705, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "lockForWork", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2701, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2696, + "name": "_woid", + "nodeType": "VariableDeclaration", + "scope": 2705, + "src": "2767:13:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2695, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2767:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2698, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 2705, + "src": "2782:13:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2697, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2782:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2700, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 2705, + "src": "2797:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2699, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2797:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2766:47:8" + }, + "payable": false, + "returnParameters": { + "id": 2704, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2703, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2705, + "src": "2830:4:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2702, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2830:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2829:6:8" + }, + "scope": 2802, + "src": "2746:90:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 2716, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "unlockForWork", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2712, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2707, + "name": "_woid", + "nodeType": "VariableDeclaration", + "scope": 2716, + "src": "2862:13:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2706, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2862:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2709, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 2716, + "src": "2877:13:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2708, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2877:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2711, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 2716, + "src": "2892:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2710, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2892:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2861:47:8" + }, + "payable": false, + "returnParameters": { + "id": 2715, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2714, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2716, + "src": "2925:4:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2713, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2925:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2924:6:8" + }, + "scope": 2802, + "src": "2839:92:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 2729, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "rewardForWork", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2725, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2718, + "name": "_woid", + "nodeType": "VariableDeclaration", + "scope": 2729, + "src": "2957:13:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2717, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2957:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2720, + "name": "_worker", + "nodeType": "VariableDeclaration", + "scope": 2729, + "src": "2972:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2719, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2972:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2722, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 2729, + "src": "2989:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2721, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2989:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2724, + "name": "_reputation", + "nodeType": "VariableDeclaration", + "scope": 2729, + "src": "3006:16:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2723, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3006:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2956:67:8" + }, + "payable": false, + "returnParameters": { + "id": 2728, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2727, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2729, + "src": "3040:4:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2726, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3040:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3039:6:8" + }, + "scope": 2802, + "src": "2934:112:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 2742, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "seizeForWork", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2738, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2731, + "name": "_woid", + "nodeType": "VariableDeclaration", + "scope": 2742, + "src": "3071:13:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2730, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3071:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2733, + "name": "_worker", + "nodeType": "VariableDeclaration", + "scope": 2742, + "src": "3086:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2732, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3086:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2735, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 2742, + "src": "3103:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2734, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3103:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2737, + "name": "_reputation", + "nodeType": "VariableDeclaration", + "scope": 2742, + "src": "3120:16:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2736, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3120:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3070:67:8" + }, + "payable": false, + "returnParameters": { + "id": 2741, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2740, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2742, + "src": "3154:4:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2739, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3154:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3153:6:8" + }, + "scope": 2802, + "src": "3049:111:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 2749, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "deposit", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2745, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2744, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 2749, + "src": "3180:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2743, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3180:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3179:17:8" + }, + "payable": false, + "returnParameters": { + "id": 2748, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2747, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2749, + "src": "3215:4:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2746, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3215:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3214:6:8" + }, + "scope": 2802, + "src": "3163:58:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 2756, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "withdraw", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2752, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2751, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 2756, + "src": "3242:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2750, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3242:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3241:17:8" + }, + "payable": false, + "returnParameters": { + "id": 2755, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2754, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2756, + "src": "3277:4:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2753, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3277:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3276:6:8" + }, + "scope": 2802, + "src": "3224:59:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 2765, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "checkBalance", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2759, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2758, + "name": "_owner", + "nodeType": "VariableDeclaration", + "scope": 2765, + "src": "3308:14:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2757, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3308:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3307:16:8" + }, + "payable": false, + "returnParameters": { + "id": 2764, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2761, + "name": "stake", + "nodeType": "VariableDeclaration", + "scope": 2765, + "src": "3345:13:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2760, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3345:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2763, + "name": "locked", + "nodeType": "VariableDeclaration", + "scope": 2765, + "src": "3360:14:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2762, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3360:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3344:31:8" + }, + "scope": 2802, + "src": "3286:90:8", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 2774, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "reward", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2770, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2767, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 2774, + "src": "3395:13:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2766, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3395:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2769, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 2774, + "src": "3410:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2768, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3410:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3394:32:8" + }, + "payable": false, + "returnParameters": { + "id": 2773, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2772, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2774, + "src": "3445:4:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2771, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3445:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3444:6:8" + }, + "scope": 2802, + "src": "3379:72:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": null, + "documentation": null, + "id": 2783, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "seize", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2779, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2776, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 2783, + "src": "3469:13:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2775, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3469:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2778, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 2783, + "src": "3484:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2777, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3484:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3468:32:8" + }, + "payable": false, + "returnParameters": { + "id": 2782, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2781, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2783, + "src": "3519:4:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2780, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3519:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3518:6:8" + }, + "scope": 2802, + "src": "3454:71:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": null, + "documentation": null, + "id": 2792, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "lock", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2788, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2785, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 2792, + "src": "3542:13:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2784, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3542:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2787, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 2792, + "src": "3557:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2786, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3557:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3541:32:8" + }, + "payable": false, + "returnParameters": { + "id": 2791, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2790, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2792, + "src": "3592:4:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2789, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3592:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3591:6:8" + }, + "scope": 2802, + "src": "3528:70:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": null, + "documentation": null, + "id": 2801, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "unlock", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2797, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2794, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 2801, + "src": "3617:13:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2793, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3617:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2796, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 2801, + "src": "3632:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2795, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3632:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3616:32:8" + }, + "payable": false, + "returnParameters": { + "id": 2800, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2799, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2801, + "src": "3667:4:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2798, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3667:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3666:6:8" + }, + "scope": 2802, + "src": "3601:72:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + } + ], + "scope": 2803, + "src": "65:3610:8" + } + ], + "src": "0:3676:8" + }, + "legacyAST": { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/IexecHubInterface.sol", + "exportedSymbols": { + "IexecHubInterface": [ + 2802 + ] + }, + "id": 2803, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 2477, + "literals": [ + "solidity", + "^", + "0.4", + ".21" + ], + "nodeType": "PragmaDirective", + "src": "0:24:8" + }, + { + "absolutePath": "rlc-token/contracts/RLC.sol", + "file": "rlc-token/contracts/RLC.sol", + "id": 2478, + "nodeType": "ImportDirective", + "scope": 2803, + "sourceUnit": 6786, + "src": "26:37:8", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": false, + "id": 2802, + "linearizedBaseContracts": [ + 2802 + ], + "name": "IexecHubInterface", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 2480, + "name": "rlc", + "nodeType": "VariableDeclaration", + "scope": 2802, + "src": "95:14:8", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_RLC_$6785", + "typeString": "contract RLC" + }, + "typeName": { + "contractScope": null, + "id": 2479, + "name": "RLC", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 6785, + "src": "95:3:8", + "typeDescriptions": { + "typeIdentifier": "t_contract$_RLC_$6785", + "typeString": "contract RLC" + } + }, + "value": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 2493, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "attachContracts", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2491, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2482, + "name": "_tokenAddress", + "nodeType": "VariableDeclaration", + "scope": 2493, + "src": "141:21:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2481, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "141:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2484, + "name": "_marketplaceAddress", + "nodeType": "VariableDeclaration", + "scope": 2493, + "src": "166:27:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2483, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "166:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2486, + "name": "_workerPoolHubAddress", + "nodeType": "VariableDeclaration", + "scope": 2493, + "src": "197:29:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2485, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "197:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2488, + "name": "_appHubAddress", + "nodeType": "VariableDeclaration", + "scope": 2493, + "src": "230:22:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2487, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "230:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2490, + "name": "_datasetHubAddress", + "nodeType": "VariableDeclaration", + "scope": 2493, + "src": "256:26:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2489, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "256:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "137:146:8" + }, + "payable": false, + "returnParameters": { + "id": 2492, + "nodeType": "ParameterList", + "parameters": [], + "src": "292:0:8" + }, + "scope": 2802, + "src": "113:180:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 2498, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "setCategoriesCreator", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2496, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2495, + "name": "_categoriesCreator", + "nodeType": "VariableDeclaration", + "scope": 2498, + "src": "329:26:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2494, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "329:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "325:31:8" + }, + "payable": false, + "returnParameters": { + "id": 2497, + "nodeType": "ParameterList", + "parameters": [], + "src": "364:0:8" + }, + "scope": 2802, + "src": "296:69:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 2509, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "createCategory", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2505, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2500, + "name": "_name", + "nodeType": "VariableDeclaration", + "scope": 2509, + "src": "395:13:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 2499, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "395:6:8", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2502, + "name": "_description", + "nodeType": "VariableDeclaration", + "scope": 2509, + "src": "412:20:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 2501, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "412:6:8", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2504, + "name": "_workClockTimeRef", + "nodeType": "VariableDeclaration", + "scope": 2509, + "src": "436:25:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2503, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "436:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "391:71:8" + }, + "payable": false, + "returnParameters": { + "id": 2508, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2507, + "name": "catid", + "nodeType": "VariableDeclaration", + "scope": 2509, + "src": "480:13:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2506, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "480:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "479:15:8" + }, + "scope": 2802, + "src": "368:127:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 2522, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "createWorkerPool", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2518, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2511, + "name": "_description", + "nodeType": "VariableDeclaration", + "scope": 2522, + "src": "527:20:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + }, + "typeName": { + "id": 2510, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "527:6:8", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2513, + "name": "_subscriptionLockStakePolicy", + "nodeType": "VariableDeclaration", + "scope": 2522, + "src": "551:36:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2512, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "551:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2515, + "name": "_subscriptionMinimumStakePolicy", + "nodeType": "VariableDeclaration", + "scope": 2522, + "src": "591:39:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2514, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "591:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2517, + "name": "_subscriptionMinimumScorePolicy", + "nodeType": "VariableDeclaration", + "scope": 2522, + "src": "634:39:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2516, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "634:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "523:151:8" + }, + "payable": false, + "returnParameters": { + "id": 2521, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2520, + "name": "createdWorkerPool", + "nodeType": "VariableDeclaration", + "scope": 2522, + "src": "694:25:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2519, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "694:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "693:27:8" + }, + "scope": 2802, + "src": "498:223:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 2533, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "createApp", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2529, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2524, + "name": "_appName", + "nodeType": "VariableDeclaration", + "scope": 2533, + "src": "746:16:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + }, + "typeName": { + "id": 2523, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "746:6:8", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2526, + "name": "_appPrice", + "nodeType": "VariableDeclaration", + "scope": 2533, + "src": "766:17:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2525, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "766:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2528, + "name": "_appParams", + "nodeType": "VariableDeclaration", + "scope": 2533, + "src": "787:18:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + }, + "typeName": { + "id": 2527, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "787:6:8", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "742:64:8" + }, + "payable": false, + "returnParameters": { + "id": 2532, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2531, + "name": "createdApp", + "nodeType": "VariableDeclaration", + "scope": 2533, + "src": "826:18:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2530, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "826:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "825:20:8" + }, + "scope": 2802, + "src": "724:122:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 2544, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "createDataset", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2540, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2535, + "name": "_datasetName", + "nodeType": "VariableDeclaration", + "scope": 2544, + "src": "875:20:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + }, + "typeName": { + "id": 2534, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "875:6:8", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2537, + "name": "_datasetPrice", + "nodeType": "VariableDeclaration", + "scope": 2544, + "src": "899:21:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2536, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "899:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2539, + "name": "_datasetParams", + "nodeType": "VariableDeclaration", + "scope": 2544, + "src": "924:22:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + }, + "typeName": { + "id": 2538, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "924:6:8", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "871:76:8" + }, + "payable": false, + "returnParameters": { + "id": 2543, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2542, + "name": "createdDataset", + "nodeType": "VariableDeclaration", + "scope": 2544, + "src": "967:22:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2541, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "967:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "966:24:8" + }, + "scope": 2802, + "src": "849:142:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 2563, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "buyForWorkOrder", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2559, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2546, + "name": "_marketorderIdx", + "nodeType": "VariableDeclaration", + "scope": 2563, + "src": "1022:23:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2545, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1022:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2548, + "name": "_workerpool", + "nodeType": "VariableDeclaration", + "scope": 2563, + "src": "1049:19:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2547, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1049:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2550, + "name": "_app", + "nodeType": "VariableDeclaration", + "scope": 2563, + "src": "1072:12:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2549, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1072:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2552, + "name": "_dataset", + "nodeType": "VariableDeclaration", + "scope": 2563, + "src": "1088:16:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2551, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1088:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2554, + "name": "_params", + "nodeType": "VariableDeclaration", + "scope": 2563, + "src": "1108:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + }, + "typeName": { + "id": 2553, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1108:6:8", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2556, + "name": "_callback", + "nodeType": "VariableDeclaration", + "scope": 2563, + "src": "1127:17:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2555, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1127:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2558, + "name": "_beneficiary", + "nodeType": "VariableDeclaration", + "scope": 2563, + "src": "1148:20:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2557, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1148:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1018:151:8" + }, + "payable": false, + "returnParameters": { + "id": 2562, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2561, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2563, + "src": "1189:7:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2560, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1189:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1188:9:8" + }, + "scope": 2802, + "src": "994:204:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 2570, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "isWoidRegistred", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2566, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2565, + "name": "_woid", + "nodeType": "VariableDeclaration", + "scope": 2570, + "src": "1229:13:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2564, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1229:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1225:18:8" + }, + "payable": false, + "returnParameters": { + "id": 2569, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2568, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2570, + "src": "1266:4:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2567, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1266:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1265:6:8" + }, + "scope": 2802, + "src": "1201:71:8", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 2583, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "lockWorkOrderCost", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2579, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2572, + "name": "_requester", + "nodeType": "VariableDeclaration", + "scope": 2583, + "src": "1305:18:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2571, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1305:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2574, + "name": "_workerpool", + "nodeType": "VariableDeclaration", + "scope": 2583, + "src": "1327:19:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2573, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1327:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2576, + "name": "_app", + "nodeType": "VariableDeclaration", + "scope": 2583, + "src": "1380:12:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2575, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1380:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2578, + "name": "_dataset", + "nodeType": "VariableDeclaration", + "scope": 2583, + "src": "1433:16:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2577, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1433:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1301:149:8" + }, + "payable": false, + "returnParameters": { + "id": 2582, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2581, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2583, + "src": "1503:7:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2580, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1503:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1502:9:8" + }, + "scope": 2802, + "src": "1275:237:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": null, + "documentation": null, + "id": 2590, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "claimFailedConsensus", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2586, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2585, + "name": "_woid", + "nodeType": "VariableDeclaration", + "scope": 2590, + "src": "1548:13:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2584, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1548:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1544:18:8" + }, + "payable": false, + "returnParameters": { + "id": 2589, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2588, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2590, + "src": "1580:4:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2587, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1580:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1579:6:8" + }, + "scope": 2802, + "src": "1515:71:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 2603, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "finalizeWorkOrder", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2599, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2592, + "name": "_woid", + "nodeType": "VariableDeclaration", + "scope": 2603, + "src": "1619:13:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2591, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1619:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2594, + "name": "_stdout", + "nodeType": "VariableDeclaration", + "scope": 2603, + "src": "1636:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 2593, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1636:6:8", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2596, + "name": "_stderr", + "nodeType": "VariableDeclaration", + "scope": 2603, + "src": "1655:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 2595, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1655:6:8", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2598, + "name": "_uri", + "nodeType": "VariableDeclaration", + "scope": 2603, + "src": "1674:12:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 2597, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1674:6:8", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1615:72:8" + }, + "payable": false, + "returnParameters": { + "id": 2602, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2601, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2603, + "src": "1705:4:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2600, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1705:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1704:6:8" + }, + "scope": 2802, + "src": "1589:122:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 2610, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getCategoryWorkClockTimeRef", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2606, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2605, + "name": "_catId", + "nodeType": "VariableDeclaration", + "scope": 2610, + "src": "1754:14:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2604, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1754:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1750:19:8" + }, + "payable": false, + "returnParameters": { + "id": 2609, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2608, + "name": "workClockTimeRef", + "nodeType": "VariableDeclaration", + "scope": 2610, + "src": "1792:24:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2607, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1792:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1791:26:8" + }, + "scope": 2802, + "src": "1714:104:8", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 2617, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "existingCategory", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2613, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2612, + "name": "_catId", + "nodeType": "VariableDeclaration", + "scope": 2617, + "src": "1850:14:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2611, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1850:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1846:19:8" + }, + "payable": false, + "returnParameters": { + "id": 2616, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2615, + "name": "categoryExist", + "nodeType": "VariableDeclaration", + "scope": 2617, + "src": "1889:18:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2614, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1889:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1888:20:8" + }, + "scope": 2802, + "src": "1821:88:8", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 2630, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getCategory", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2620, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2619, + "name": "_catId", + "nodeType": "VariableDeclaration", + "scope": 2630, + "src": "1936:14:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2618, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1936:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1932:19:8" + }, + "payable": false, + "returnParameters": { + "id": 2629, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2622, + "name": "catid", + "nodeType": "VariableDeclaration", + "scope": 2630, + "src": "1975:13:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2621, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1975:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2624, + "name": "name", + "nodeType": "VariableDeclaration", + "scope": 2630, + "src": "1990:11:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 2623, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1990:6:8", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2626, + "name": "description", + "nodeType": "VariableDeclaration", + "scope": 2630, + "src": "2003:19:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 2625, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2003:6:8", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2628, + "name": "workClockTimeRef", + "nodeType": "VariableDeclaration", + "scope": 2630, + "src": "2024:24:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2627, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2024:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1974:75:8" + }, + "scope": 2802, + "src": "1912:138:8", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 2639, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getWorkerStatus", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2633, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2632, + "name": "_worker", + "nodeType": "VariableDeclaration", + "scope": 2639, + "src": "2081:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2631, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2081:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2077:20:8" + }, + "payable": false, + "returnParameters": { + "id": 2638, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2635, + "name": "workerPool", + "nodeType": "VariableDeclaration", + "scope": 2639, + "src": "2120:18:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2634, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2120:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2637, + "name": "workerScore", + "nodeType": "VariableDeclaration", + "scope": 2639, + "src": "2140:19:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2636, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2140:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2119:41:8" + }, + "scope": 2802, + "src": "2053:108:8", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 2646, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getWorkerScore", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2642, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2641, + "name": "_worker", + "nodeType": "VariableDeclaration", + "scope": 2646, + "src": "2188:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2640, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2188:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2187:17:8" + }, + "payable": false, + "returnParameters": { + "id": 2645, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2644, + "name": "workerScore", + "nodeType": "VariableDeclaration", + "scope": 2646, + "src": "2226:19:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2643, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2226:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2225:21:8" + }, + "scope": 2802, + "src": "2164:83:8", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 2653, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "registerToPool", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2649, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2648, + "name": "_worker", + "nodeType": "VariableDeclaration", + "scope": 2653, + "src": "2274:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2647, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2274:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2273:17:8" + }, + "payable": false, + "returnParameters": { + "id": 2652, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2651, + "name": "subscribed", + "nodeType": "VariableDeclaration", + "scope": 2653, + "src": "2307:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2650, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2307:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2306:17:8" + }, + "scope": 2802, + "src": "2250:74:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 2660, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "unregisterFromPool", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2656, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2655, + "name": "_worker", + "nodeType": "VariableDeclaration", + "scope": 2660, + "src": "2355:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2654, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2355:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2354:17:8" + }, + "payable": false, + "returnParameters": { + "id": 2659, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2658, + "name": "unsubscribed", + "nodeType": "VariableDeclaration", + "scope": 2660, + "src": "2388:17:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2657, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2388:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2387:19:8" + }, + "scope": 2802, + "src": "2327:80:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 2667, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "evictWorker", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2663, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2662, + "name": "_worker", + "nodeType": "VariableDeclaration", + "scope": 2667, + "src": "2431:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2661, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2431:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2430:17:8" + }, + "payable": false, + "returnParameters": { + "id": 2666, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2665, + "name": "unsubscribed", + "nodeType": "VariableDeclaration", + "scope": 2667, + "src": "2464:17:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2664, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2464:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2463:19:8" + }, + "scope": 2802, + "src": "2410:73:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 2676, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "removeWorker", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2672, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2669, + "name": "_workerpool", + "nodeType": "VariableDeclaration", + "scope": 2676, + "src": "2508:19:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2668, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2508:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2671, + "name": "_worker", + "nodeType": "VariableDeclaration", + "scope": 2676, + "src": "2529:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2670, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2529:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2507:38:8" + }, + "payable": false, + "returnParameters": { + "id": 2675, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2674, + "name": "unsubscribed", + "nodeType": "VariableDeclaration", + "scope": 2676, + "src": "2564:17:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2673, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2564:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2563:19:8" + }, + "scope": 2802, + "src": "2486:97:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": null, + "documentation": null, + "id": 2685, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "lockForOrder", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2681, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2678, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 2685, + "src": "2608:13:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2677, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2608:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2680, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 2685, + "src": "2623:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2679, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2623:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2607:32:8" + }, + "payable": false, + "returnParameters": { + "id": 2684, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2683, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2685, + "src": "2656:4:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2682, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2656:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2655:6:8" + }, + "scope": 2802, + "src": "2586:76:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 2694, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "unlockForOrder", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2690, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2687, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 2694, + "src": "2689:13:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2686, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2689:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2689, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 2694, + "src": "2704:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2688, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2704:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2688:32:8" + }, + "payable": false, + "returnParameters": { + "id": 2693, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2692, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2694, + "src": "2737:4:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2691, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2737:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2736:6:8" + }, + "scope": 2802, + "src": "2665:78:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 2705, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "lockForWork", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2701, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2696, + "name": "_woid", + "nodeType": "VariableDeclaration", + "scope": 2705, + "src": "2767:13:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2695, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2767:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2698, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 2705, + "src": "2782:13:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2697, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2782:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2700, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 2705, + "src": "2797:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2699, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2797:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2766:47:8" + }, + "payable": false, + "returnParameters": { + "id": 2704, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2703, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2705, + "src": "2830:4:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2702, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2830:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2829:6:8" + }, + "scope": 2802, + "src": "2746:90:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 2716, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "unlockForWork", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2712, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2707, + "name": "_woid", + "nodeType": "VariableDeclaration", + "scope": 2716, + "src": "2862:13:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2706, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2862:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2709, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 2716, + "src": "2877:13:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2708, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2877:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2711, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 2716, + "src": "2892:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2710, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2892:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2861:47:8" + }, + "payable": false, + "returnParameters": { + "id": 2715, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2714, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2716, + "src": "2925:4:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2713, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2925:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2924:6:8" + }, + "scope": 2802, + "src": "2839:92:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 2729, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "rewardForWork", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2725, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2718, + "name": "_woid", + "nodeType": "VariableDeclaration", + "scope": 2729, + "src": "2957:13:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2717, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2957:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2720, + "name": "_worker", + "nodeType": "VariableDeclaration", + "scope": 2729, + "src": "2972:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2719, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2972:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2722, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 2729, + "src": "2989:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2721, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2989:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2724, + "name": "_reputation", + "nodeType": "VariableDeclaration", + "scope": 2729, + "src": "3006:16:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2723, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3006:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2956:67:8" + }, + "payable": false, + "returnParameters": { + "id": 2728, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2727, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2729, + "src": "3040:4:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2726, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3040:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3039:6:8" + }, + "scope": 2802, + "src": "2934:112:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 2742, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "seizeForWork", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2738, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2731, + "name": "_woid", + "nodeType": "VariableDeclaration", + "scope": 2742, + "src": "3071:13:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2730, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3071:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2733, + "name": "_worker", + "nodeType": "VariableDeclaration", + "scope": 2742, + "src": "3086:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2732, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3086:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2735, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 2742, + "src": "3103:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2734, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3103:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2737, + "name": "_reputation", + "nodeType": "VariableDeclaration", + "scope": 2742, + "src": "3120:16:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2736, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3120:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3070:67:8" + }, + "payable": false, + "returnParameters": { + "id": 2741, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2740, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2742, + "src": "3154:4:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2739, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3154:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3153:6:8" + }, + "scope": 2802, + "src": "3049:111:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 2749, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "deposit", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2745, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2744, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 2749, + "src": "3180:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2743, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3180:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3179:17:8" + }, + "payable": false, + "returnParameters": { + "id": 2748, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2747, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2749, + "src": "3215:4:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2746, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3215:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3214:6:8" + }, + "scope": 2802, + "src": "3163:58:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 2756, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "withdraw", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2752, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2751, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 2756, + "src": "3242:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2750, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3242:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3241:17:8" + }, + "payable": false, + "returnParameters": { + "id": 2755, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2754, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2756, + "src": "3277:4:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2753, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3277:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3276:6:8" + }, + "scope": 2802, + "src": "3224:59:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 2765, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "checkBalance", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2759, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2758, + "name": "_owner", + "nodeType": "VariableDeclaration", + "scope": 2765, + "src": "3308:14:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2757, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3308:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3307:16:8" + }, + "payable": false, + "returnParameters": { + "id": 2764, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2761, + "name": "stake", + "nodeType": "VariableDeclaration", + "scope": 2765, + "src": "3345:13:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2760, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3345:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2763, + "name": "locked", + "nodeType": "VariableDeclaration", + "scope": 2765, + "src": "3360:14:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2762, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3360:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3344:31:8" + }, + "scope": 2802, + "src": "3286:90:8", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 2774, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "reward", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2770, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2767, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 2774, + "src": "3395:13:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2766, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3395:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2769, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 2774, + "src": "3410:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2768, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3410:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3394:32:8" + }, + "payable": false, + "returnParameters": { + "id": 2773, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2772, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2774, + "src": "3445:4:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2771, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3445:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3444:6:8" + }, + "scope": 2802, + "src": "3379:72:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": null, + "documentation": null, + "id": 2783, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "seize", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2779, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2776, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 2783, + "src": "3469:13:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2775, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3469:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2778, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 2783, + "src": "3484:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2777, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3484:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3468:32:8" + }, + "payable": false, + "returnParameters": { + "id": 2782, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2781, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2783, + "src": "3519:4:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2780, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3519:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3518:6:8" + }, + "scope": 2802, + "src": "3454:71:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": null, + "documentation": null, + "id": 2792, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "lock", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2788, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2785, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 2792, + "src": "3542:13:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2784, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3542:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2787, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 2792, + "src": "3557:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2786, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3557:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3541:32:8" + }, + "payable": false, + "returnParameters": { + "id": 2791, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2790, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2792, + "src": "3592:4:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2789, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3592:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3591:6:8" + }, + "scope": 2802, + "src": "3528:70:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": null, + "documentation": null, + "id": 2801, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "unlock", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2797, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2794, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 2801, + "src": "3617:13:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2793, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3617:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2796, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 2801, + "src": "3632:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2795, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3632:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3616:32:8" + }, + "payable": false, + "returnParameters": { + "id": 2800, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2799, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2801, + "src": "3667:4:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2798, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3667:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3666:6:8" + }, + "scope": 2802, + "src": "3601:72:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + } + ], + "scope": 2803, + "src": "65:3610:8" + } + ], + "src": "0:3676:8" + }, + "compiler": { + "name": "solc", + "version": "0.4.21+commit.dfe3193c.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "2.0.0", + "updatedAt": "2018-06-12T14:56:21.145Z" +} \ No newline at end of file diff --git a/deployed/contracts/IexecLib.json b/deployed/contracts/IexecLib.json new file mode 100644 index 00000000..31c48704 --- /dev/null +++ b/deployed/contracts/IexecLib.json @@ -0,0 +1,2145 @@ +{ + "contractName": "IexecLib", + "abi": [], + "bytecode": "0x604c602c600b82828239805160001a60731460008114601c57601e565bfe5b5030600052607381538281f30073000000000000000000000000000000000000000030146060604052600080fd00a165627a7a723058206876c881fdd6ab94cc12dd67f987d338b226048c7966c70b1866f320929306050029", + "deployedBytecode": "0x73000000000000000000000000000000000000000030146060604052600080fd00a165627a7a723058206876c881fdd6ab94cc12dd67f987d338b226048c7966c70b1866f320929306050029", + "sourceMap": "26:3305:9:-;;132:2:-1;166:7;155:9;146:7;137:37;252:7;246:14;243:1;238:23;232:4;229:33;270:1;265:20;;;;222:63;;265:20;274:9;222:63;;298:9;295:1;288:20;328:4;319:7;311:22;352:7;343;336:24", + "deployedSourceMap": "26:3305:9:-;;;;;;;;", + "source": "pragma solidity ^0.4.21;\n\nlibrary IexecLib\n{\n\t/***************************************************************************/\n\t/* Market Order */\n\t/***************************************************************************/\n\tenum MarketOrderDirectionEnum\n\t{\n\t\tUNSET,\n\t\tBID,\n\t\tASK,\n\t\tCLOSED\n\t}\n\tstruct MarketOrder\n\t{\n\t\tMarketOrderDirectionEnum direction;\n\t\tuint256 category; // runtime selection\n\t\tuint256 trust; // for PoCo\n\t\tuint256 value; // value/cost/price\n\t\tuint256 volume; // quantity of instances (total)\n\t\tuint256 remaining; // remaining instances\n\t\taddress workerpool; // BID can use null for any\n\t\taddress workerpoolOwner; // fix ownership if workerpool ownership change during the workorder steps\n\t}\n\n\t/***************************************************************************/\n\t/* Work Order */\n\t/***************************************************************************/\n\tenum WorkOrderStatusEnum\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\tCLAIMED, // failed consensus\n\t\tCOMPLETED // Concensus achieved\n\t}\n\n\t/***************************************************************************/\n\t/* Consensus */\n\t/* --- */\n\t/* used in WorkerPool.sol */\n\t/***************************************************************************/\n\tstruct Consensus\n\t{\n\t\tuint256 poolReward;\n\t\tuint256 stakeAmount;\n\t\tbytes32 consensus;\n\t\tuint256 revealDate;\n\t\tuint256 revealCounter;\n\t\tuint256 consensusTimeout;\n\t\tuint256 winnerCount;\n\t\taddress[] contributors;\n\t\taddress workerpoolOwner;\n\t\tuint256 schedulerRewardRatioPolicy;\n\n\t}\n\n\t/***************************************************************************/\n\t/* Contribution */\n\t/* --- */\n\t/* used in WorkerPool.sol */\n\t/***************************************************************************/\n\tenum ContributionStatusEnum\n\t{\n\t\tUNSET,\n\t\tAUTHORIZED,\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 resultSign;\n\t\taddress enclaveChallenge;\n\t\tuint256 score;\n\t\tuint256 weight;\n\t}\n\n\t/***************************************************************************/\n\t/* Account / ContributionHistory / Category */\n\t/* --- */\n\t/* used in IexecHub.sol */\n\t/***************************************************************************/\n\tstruct Account\n\t{\n\t\tuint256 stake;\n\t\tuint256 locked;\n\t}\n\n\tstruct ContributionHistory // for credibility computation, f = failed/total\n\t{\n\t\tuint256 success;\n\t\tuint256 failed;\n\t}\n\n\tstruct Category\n\t{\n\t\tuint256 catid;\n\t\tstring name;\n\t\tstring description;\n\t\tuint256 workClockTimeRef;\n\t}\n\n}\n", + "sourcePath": "/Users/fbranci/iexecdev/PoCo/contracts/IexecLib.sol", + "ast": { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/IexecLib.sol", + "exportedSymbols": { + "IexecLib": [ + 2893 + ] + }, + "id": 2894, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 2804, + "literals": [ + "solidity", + "^", + "0.4", + ".21" + ], + "nodeType": "PragmaDirective", + "src": "0:24:9" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "library", + "documentation": null, + "fullyImplemented": true, + "id": 2893, + "linearizedBaseContracts": [ + 2893 + ], + "name": "IexecLib", + "nodeType": "ContractDefinition", + "nodes": [ + { + "canonicalName": "IexecLib.MarketOrderDirectionEnum", + "id": 2809, + "members": [ + { + "id": 2805, + "name": "UNSET", + "nodeType": "EnumValue", + "src": "318:5:9" + }, + { + "id": 2806, + "name": "BID", + "nodeType": "EnumValue", + "src": "327:3:9" + }, + { + "id": 2807, + "name": "ASK", + "nodeType": "EnumValue", + "src": "334:3:9" + }, + { + "id": 2808, + "name": "CLOSED", + "nodeType": "EnumValue", + "src": "341:6:9" + } + ], + "name": "MarketOrderDirectionEnum", + "nodeType": "EnumDefinition", + "src": "283:67:9" + }, + { + "canonicalName": "IexecLib.MarketOrder", + "id": 2826, + "members": [ + { + "constant": false, + "id": 2811, + "name": "direction", + "nodeType": "VariableDeclaration", + "scope": 2826, + "src": "376:34:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2809", + "typeString": "enum IexecLib.MarketOrderDirectionEnum" + }, + "typeName": { + "contractScope": null, + "id": 2810, + "name": "MarketOrderDirectionEnum", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2809, + "src": "376:24:9", + "typeDescriptions": { + "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2809", + "typeString": "enum IexecLib.MarketOrderDirectionEnum" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2813, + "name": "category", + "nodeType": "VariableDeclaration", + "scope": 2826, + "src": "414:16:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2812, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "414:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2815, + "name": "trust", + "nodeType": "VariableDeclaration", + "scope": 2826, + "src": "462:13:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2814, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "462:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2817, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 2826, + "src": "501:13:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2816, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "501:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2819, + "name": "volume", + "nodeType": "VariableDeclaration", + "scope": 2826, + "src": "548:14:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2818, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "548:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2821, + "name": "remaining", + "nodeType": "VariableDeclaration", + "scope": 2826, + "src": "608:17:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2820, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "608:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2823, + "name": "workerpool", + "nodeType": "VariableDeclaration", + "scope": 2826, + "src": "658:18:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2822, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "658:7:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2825, + "name": "workerpoolOwner", + "nodeType": "VariableDeclaration", + "scope": 2826, + "src": "713:23:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2824, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "713:7:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "MarketOrder", + "nodeType": "StructDefinition", + "scope": 2893, + "src": "352:463:9", + "visibility": "public" + }, + { + "canonicalName": "IexecLib.WorkOrderStatusEnum", + "id": 2832, + "members": [ + { + "id": 2827, + "name": "UNSET", + "nodeType": "EnumValue", + "src": "1085:5:9" + }, + { + "id": 2828, + "name": "ACTIVE", + "nodeType": "EnumValue", + "src": "1150:6:9" + }, + { + "id": 2829, + "name": "REVEALING", + "nodeType": "EnumValue", + "src": "1203:9:9" + }, + { + "id": 2830, + "name": "CLAIMED", + "nodeType": "EnumValue", + "src": "1245:7:9" + }, + { + "id": 2831, + "name": "COMPLETED", + "nodeType": "EnumValue", + "src": "1278:9:9" + } + ], + "name": "WorkOrderStatusEnum", + "nodeType": "EnumDefinition", + "src": "1055:258:9" + }, + { + "canonicalName": "IexecLib.Consensus", + "id": 2854, + "members": [ + { + "constant": false, + "id": 2834, + "name": "poolReward", + "nodeType": "VariableDeclaration", + "scope": 2854, + "src": "1733:18:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2833, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1733:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2836, + "name": "stakeAmount", + "nodeType": "VariableDeclaration", + "scope": 2854, + "src": "1755:19:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2835, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1755:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2838, + "name": "consensus", + "nodeType": "VariableDeclaration", + "scope": 2854, + "src": "1778:17:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2837, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1778:7:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2840, + "name": "revealDate", + "nodeType": "VariableDeclaration", + "scope": 2854, + "src": "1799:18:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2839, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1799:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2842, + "name": "revealCounter", + "nodeType": "VariableDeclaration", + "scope": 2854, + "src": "1821:21:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2841, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1821:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2844, + "name": "consensusTimeout", + "nodeType": "VariableDeclaration", + "scope": 2854, + "src": "1846:24:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2843, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1846:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2846, + "name": "winnerCount", + "nodeType": "VariableDeclaration", + "scope": 2854, + "src": "1874:19:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2845, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1874:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2849, + "name": "contributors", + "nodeType": "VariableDeclaration", + "scope": 2854, + "src": "1897:22:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[] storage pointer" + }, + "typeName": { + "baseType": { + "id": 2847, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1897:7:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 2848, + "length": null, + "nodeType": "ArrayTypeName", + "src": "1897:9:9", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[] storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2851, + "name": "workerpoolOwner", + "nodeType": "VariableDeclaration", + "scope": 2854, + "src": "1923:23:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2850, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1923:7:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2853, + "name": "schedulerRewardRatioPolicy", + "nodeType": "VariableDeclaration", + "scope": 2854, + "src": "1950:34:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2852, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1950:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "Consensus", + "nodeType": "StructDefinition", + "scope": 2893, + "src": "1711:278:9", + "visibility": "public" + }, + { + "canonicalName": "IexecLib.ContributionStatusEnum", + "id": 2860, + "members": [ + { + "id": 2855, + "name": "UNSET", + "nodeType": "EnumValue", + "src": "2420:5:9" + }, + { + "id": 2856, + "name": "AUTHORIZED", + "nodeType": "EnumValue", + "src": "2429:10:9" + }, + { + "id": 2857, + "name": "CONTRIBUTED", + "nodeType": "EnumValue", + "src": "2443:11:9" + }, + { + "id": 2858, + "name": "PROVED", + "nodeType": "EnumValue", + "src": "2458:6:9" + }, + { + "id": 2859, + "name": "REJECTED", + "nodeType": "EnumValue", + "src": "2468:8:9" + } + ], + "name": "ContributionStatusEnum", + "nodeType": "EnumDefinition", + "src": "2387:92:9" + }, + { + "canonicalName": "IexecLib.Contribution", + "id": 2873, + "members": [ + { + "constant": false, + "id": 2862, + "name": "status", + "nodeType": "VariableDeclaration", + "scope": 2873, + "src": "2506:29:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", + "typeString": "enum IexecLib.ContributionStatusEnum" + }, + "typeName": { + "contractScope": null, + "id": 2861, + "name": "ContributionStatusEnum", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2860, + "src": "2506:22:9", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", + "typeString": "enum IexecLib.ContributionStatusEnum" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2864, + "name": "resultHash", + "nodeType": "VariableDeclaration", + "scope": 2873, + "src": "2539:18:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2863, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2539:7:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2866, + "name": "resultSign", + "nodeType": "VariableDeclaration", + "scope": 2873, + "src": "2561:18:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2865, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2561:7:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2868, + "name": "enclaveChallenge", + "nodeType": "VariableDeclaration", + "scope": 2873, + "src": "2583:24:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2867, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2583:7:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2870, + "name": "score", + "nodeType": "VariableDeclaration", + "scope": 2873, + "src": "2611:13:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2869, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2611:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2872, + "name": "weight", + "nodeType": "VariableDeclaration", + "scope": 2873, + "src": "2628:14:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2871, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2628:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "Contribution", + "nodeType": "StructDefinition", + "scope": 2893, + "src": "2481:165:9", + "visibility": "public" + }, + { + "canonicalName": "IexecLib.Account", + "id": 2878, + "members": [ + { + "constant": false, + "id": 2875, + "name": "stake", + "nodeType": "VariableDeclaration", + "scope": 2878, + "src": "3064:13:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2874, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3064:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2877, + "name": "locked", + "nodeType": "VariableDeclaration", + "scope": 2878, + "src": "3081:14:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2876, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3081:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "Account", + "nodeType": "StructDefinition", + "scope": 2893, + "src": "3044:55:9", + "visibility": "public" + }, + { + "canonicalName": "IexecLib.ContributionHistory", + "id": 2883, + "members": [ + { + "constant": false, + "id": 2880, + "name": "success", + "nodeType": "VariableDeclaration", + "scope": 2883, + "src": "3183:15:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2879, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3183:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2882, + "name": "failed", + "nodeType": "VariableDeclaration", + "scope": 2883, + "src": "3202:14:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2881, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3202:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "ContributionHistory", + "nodeType": "StructDefinition", + "scope": 2893, + "src": "3102:118:9", + "visibility": "public" + }, + { + "canonicalName": "IexecLib.Category", + "id": 2892, + "members": [ + { + "constant": false, + "id": 2885, + "name": "catid", + "nodeType": "VariableDeclaration", + "scope": 2892, + "src": "3244:13:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2884, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3244:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2887, + "name": "name", + "nodeType": "VariableDeclaration", + "scope": 2892, + "src": "3261:12:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + }, + "typeName": { + "id": 2886, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3261:6:9", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2889, + "name": "description", + "nodeType": "VariableDeclaration", + "scope": 2892, + "src": "3277:19:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + }, + "typeName": { + "id": 2888, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3277:6:9", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2891, + "name": "workClockTimeRef", + "nodeType": "VariableDeclaration", + "scope": 2892, + "src": "3300:24:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2890, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3300:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "Category", + "nodeType": "StructDefinition", + "scope": 2893, + "src": "3223:105:9", + "visibility": "public" + } + ], + "scope": 2894, + "src": "26:3305:9" + } + ], + "src": "0:3332:9" + }, + "legacyAST": { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/IexecLib.sol", + "exportedSymbols": { + "IexecLib": [ + 2893 + ] + }, + "id": 2894, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 2804, + "literals": [ + "solidity", + "^", + "0.4", + ".21" + ], + "nodeType": "PragmaDirective", + "src": "0:24:9" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "library", + "documentation": null, + "fullyImplemented": true, + "id": 2893, + "linearizedBaseContracts": [ + 2893 + ], + "name": "IexecLib", + "nodeType": "ContractDefinition", + "nodes": [ + { + "canonicalName": "IexecLib.MarketOrderDirectionEnum", + "id": 2809, + "members": [ + { + "id": 2805, + "name": "UNSET", + "nodeType": "EnumValue", + "src": "318:5:9" + }, + { + "id": 2806, + "name": "BID", + "nodeType": "EnumValue", + "src": "327:3:9" + }, + { + "id": 2807, + "name": "ASK", + "nodeType": "EnumValue", + "src": "334:3:9" + }, + { + "id": 2808, + "name": "CLOSED", + "nodeType": "EnumValue", + "src": "341:6:9" + } + ], + "name": "MarketOrderDirectionEnum", + "nodeType": "EnumDefinition", + "src": "283:67:9" + }, + { + "canonicalName": "IexecLib.MarketOrder", + "id": 2826, + "members": [ + { + "constant": false, + "id": 2811, + "name": "direction", + "nodeType": "VariableDeclaration", + "scope": 2826, + "src": "376:34:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2809", + "typeString": "enum IexecLib.MarketOrderDirectionEnum" + }, + "typeName": { + "contractScope": null, + "id": 2810, + "name": "MarketOrderDirectionEnum", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2809, + "src": "376:24:9", + "typeDescriptions": { + "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2809", + "typeString": "enum IexecLib.MarketOrderDirectionEnum" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2813, + "name": "category", + "nodeType": "VariableDeclaration", + "scope": 2826, + "src": "414:16:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2812, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "414:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2815, + "name": "trust", + "nodeType": "VariableDeclaration", + "scope": 2826, + "src": "462:13:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2814, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "462:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2817, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 2826, + "src": "501:13:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2816, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "501:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2819, + "name": "volume", + "nodeType": "VariableDeclaration", + "scope": 2826, + "src": "548:14:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2818, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "548:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2821, + "name": "remaining", + "nodeType": "VariableDeclaration", + "scope": 2826, + "src": "608:17:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2820, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "608:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2823, + "name": "workerpool", + "nodeType": "VariableDeclaration", + "scope": 2826, + "src": "658:18:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2822, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "658:7:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2825, + "name": "workerpoolOwner", + "nodeType": "VariableDeclaration", + "scope": 2826, + "src": "713:23:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2824, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "713:7:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "MarketOrder", + "nodeType": "StructDefinition", + "scope": 2893, + "src": "352:463:9", + "visibility": "public" + }, + { + "canonicalName": "IexecLib.WorkOrderStatusEnum", + "id": 2832, + "members": [ + { + "id": 2827, + "name": "UNSET", + "nodeType": "EnumValue", + "src": "1085:5:9" + }, + { + "id": 2828, + "name": "ACTIVE", + "nodeType": "EnumValue", + "src": "1150:6:9" + }, + { + "id": 2829, + "name": "REVEALING", + "nodeType": "EnumValue", + "src": "1203:9:9" + }, + { + "id": 2830, + "name": "CLAIMED", + "nodeType": "EnumValue", + "src": "1245:7:9" + }, + { + "id": 2831, + "name": "COMPLETED", + "nodeType": "EnumValue", + "src": "1278:9:9" + } + ], + "name": "WorkOrderStatusEnum", + "nodeType": "EnumDefinition", + "src": "1055:258:9" + }, + { + "canonicalName": "IexecLib.Consensus", + "id": 2854, + "members": [ + { + "constant": false, + "id": 2834, + "name": "poolReward", + "nodeType": "VariableDeclaration", + "scope": 2854, + "src": "1733:18:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2833, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1733:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2836, + "name": "stakeAmount", + "nodeType": "VariableDeclaration", + "scope": 2854, + "src": "1755:19:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2835, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1755:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2838, + "name": "consensus", + "nodeType": "VariableDeclaration", + "scope": 2854, + "src": "1778:17:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2837, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1778:7:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2840, + "name": "revealDate", + "nodeType": "VariableDeclaration", + "scope": 2854, + "src": "1799:18:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2839, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1799:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2842, + "name": "revealCounter", + "nodeType": "VariableDeclaration", + "scope": 2854, + "src": "1821:21:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2841, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1821:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2844, + "name": "consensusTimeout", + "nodeType": "VariableDeclaration", + "scope": 2854, + "src": "1846:24:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2843, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1846:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2846, + "name": "winnerCount", + "nodeType": "VariableDeclaration", + "scope": 2854, + "src": "1874:19:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2845, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1874:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2849, + "name": "contributors", + "nodeType": "VariableDeclaration", + "scope": 2854, + "src": "1897:22:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[] storage pointer" + }, + "typeName": { + "baseType": { + "id": 2847, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1897:7:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 2848, + "length": null, + "nodeType": "ArrayTypeName", + "src": "1897:9:9", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[] storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2851, + "name": "workerpoolOwner", + "nodeType": "VariableDeclaration", + "scope": 2854, + "src": "1923:23:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2850, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1923:7:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2853, + "name": "schedulerRewardRatioPolicy", + "nodeType": "VariableDeclaration", + "scope": 2854, + "src": "1950:34:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2852, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1950:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "Consensus", + "nodeType": "StructDefinition", + "scope": 2893, + "src": "1711:278:9", + "visibility": "public" + }, + { + "canonicalName": "IexecLib.ContributionStatusEnum", + "id": 2860, + "members": [ + { + "id": 2855, + "name": "UNSET", + "nodeType": "EnumValue", + "src": "2420:5:9" + }, + { + "id": 2856, + "name": "AUTHORIZED", + "nodeType": "EnumValue", + "src": "2429:10:9" + }, + { + "id": 2857, + "name": "CONTRIBUTED", + "nodeType": "EnumValue", + "src": "2443:11:9" + }, + { + "id": 2858, + "name": "PROVED", + "nodeType": "EnumValue", + "src": "2458:6:9" + }, + { + "id": 2859, + "name": "REJECTED", + "nodeType": "EnumValue", + "src": "2468:8:9" + } + ], + "name": "ContributionStatusEnum", + "nodeType": "EnumDefinition", + "src": "2387:92:9" + }, + { + "canonicalName": "IexecLib.Contribution", + "id": 2873, + "members": [ + { + "constant": false, + "id": 2862, + "name": "status", + "nodeType": "VariableDeclaration", + "scope": 2873, + "src": "2506:29:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", + "typeString": "enum IexecLib.ContributionStatusEnum" + }, + "typeName": { + "contractScope": null, + "id": 2861, + "name": "ContributionStatusEnum", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2860, + "src": "2506:22:9", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", + "typeString": "enum IexecLib.ContributionStatusEnum" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2864, + "name": "resultHash", + "nodeType": "VariableDeclaration", + "scope": 2873, + "src": "2539:18:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2863, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2539:7:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2866, + "name": "resultSign", + "nodeType": "VariableDeclaration", + "scope": 2873, + "src": "2561:18:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2865, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2561:7:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2868, + "name": "enclaveChallenge", + "nodeType": "VariableDeclaration", + "scope": 2873, + "src": "2583:24:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2867, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2583:7:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2870, + "name": "score", + "nodeType": "VariableDeclaration", + "scope": 2873, + "src": "2611:13:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2869, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2611:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2872, + "name": "weight", + "nodeType": "VariableDeclaration", + "scope": 2873, + "src": "2628:14:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2871, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2628:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "Contribution", + "nodeType": "StructDefinition", + "scope": 2893, + "src": "2481:165:9", + "visibility": "public" + }, + { + "canonicalName": "IexecLib.Account", + "id": 2878, + "members": [ + { + "constant": false, + "id": 2875, + "name": "stake", + "nodeType": "VariableDeclaration", + "scope": 2878, + "src": "3064:13:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2874, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3064:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2877, + "name": "locked", + "nodeType": "VariableDeclaration", + "scope": 2878, + "src": "3081:14:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2876, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3081:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "Account", + "nodeType": "StructDefinition", + "scope": 2893, + "src": "3044:55:9", + "visibility": "public" + }, + { + "canonicalName": "IexecLib.ContributionHistory", + "id": 2883, + "members": [ + { + "constant": false, + "id": 2880, + "name": "success", + "nodeType": "VariableDeclaration", + "scope": 2883, + "src": "3183:15:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2879, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3183:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2882, + "name": "failed", + "nodeType": "VariableDeclaration", + "scope": 2883, + "src": "3202:14:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2881, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3202:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "ContributionHistory", + "nodeType": "StructDefinition", + "scope": 2893, + "src": "3102:118:9", + "visibility": "public" + }, + { + "canonicalName": "IexecLib.Category", + "id": 2892, + "members": [ + { + "constant": false, + "id": 2885, + "name": "catid", + "nodeType": "VariableDeclaration", + "scope": 2892, + "src": "3244:13:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2884, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3244:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2887, + "name": "name", + "nodeType": "VariableDeclaration", + "scope": 2892, + "src": "3261:12:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + }, + "typeName": { + "id": 2886, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3261:6:9", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2889, + "name": "description", + "nodeType": "VariableDeclaration", + "scope": 2892, + "src": "3277:19:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + }, + "typeName": { + "id": 2888, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3277:6:9", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2891, + "name": "workClockTimeRef", + "nodeType": "VariableDeclaration", + "scope": 2892, + "src": "3300:24:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2890, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3300:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "Category", + "nodeType": "StructDefinition", + "scope": 2893, + "src": "3223:105:9", + "visibility": "public" + } + ], + "scope": 2894, + "src": "26:3305:9" + } + ], + "src": "0:3332:9" + }, + "compiler": { + "name": "solc", + "version": "0.4.21+commit.dfe3193c.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "2.0.0", + "updatedAt": "2018-06-12T14:56:21.146Z" +} \ No newline at end of file diff --git a/deployed/contracts/Marketplace.json b/deployed/contracts/Marketplace.json new file mode 100644 index 00000000..5bfdaaf4 --- /dev/null +++ b/deployed/contracts/Marketplace.json @@ -0,0 +1,16689 @@ +{ + "contractName": "Marketplace", + "abi": [ + { + "constant": true, + "inputs": [ + { + "name": "", + "type": "uint256" + } + ], + "name": "m_orderBook", + "outputs": [ + { + "name": "direction", + "type": "uint8" + }, + { + "name": "category", + "type": "uint256" + }, + { + "name": "trust", + "type": "uint256" + }, + { + "name": "value", + "type": "uint256" + }, + { + "name": "volume", + "type": "uint256" + }, + { + "name": "remaining", + "type": "uint256" + }, + { + "name": "workerpool", + "type": "address" + }, + { + "name": "workerpoolOwner", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "m_orderCount", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "ASK_STAKE_RATIO", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "name": "_iexecHubAddress", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "marketorderIdx", + "type": "uint256" + } + ], + "name": "MarketOrderCreated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "marketorderIdx", + "type": "uint256" + } + ], + "name": "MarketOrderClosed", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "marketorderIdx", + "type": "uint256" + }, + { + "indexed": false, + "name": "requester", + "type": "address" + } + ], + "name": "MarketOrderAskConsume", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "woid", + "type": "address" + }, + { + "indexed": false, + "name": "requester", + "type": "address" + }, + { + "indexed": false, + "name": "beneficiary", + "type": "address" + }, + { + "indexed": true, + "name": "callbackTo", + "type": "address" + }, + { + "indexed": true, + "name": "gasCallbackProvider", + "type": "address" + }, + { + "indexed": false, + "name": "stdout", + "type": "string" + }, + { + "indexed": false, + "name": "stderr", + "type": "string" + }, + { + "indexed": false, + "name": "uri", + "type": "string" + } + ], + "name": "WorkOrderCallbackProof", + "type": "event" + }, + { + "constant": false, + "inputs": [ + { + "name": "_direction", + "type": "uint8" + }, + { + "name": "_category", + "type": "uint256" + }, + { + "name": "_trust", + "type": "uint256" + }, + { + "name": "_value", + "type": "uint256" + }, + { + "name": "_workerpool", + "type": "address" + }, + { + "name": "_volume", + "type": "uint256" + } + ], + "name": "createMarketOrder", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_marketorderIdx", + "type": "uint256" + } + ], + "name": "closeMarketOrder", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_marketorderIdx", + "type": "uint256" + }, + { + "name": "_requester", + "type": "address" + }, + { + "name": "_workerpool", + "type": "address" + } + ], + "name": "consumeMarketOrderAsk", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_marketorderIdx", + "type": "uint256" + } + ], + "name": "existingMarketOrder", + "outputs": [ + { + "name": "marketOrderExist", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_marketorderIdx", + "type": "uint256" + } + ], + "name": "getMarketOrderValue", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_marketorderIdx", + "type": "uint256" + } + ], + "name": "getMarketOrderWorkerpoolOwner", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_marketorderIdx", + "type": "uint256" + } + ], + "name": "getMarketOrderCategory", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_marketorderIdx", + "type": "uint256" + } + ], + "name": "getMarketOrderTrust", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_marketorderIdx", + "type": "uint256" + } + ], + "name": "getMarketOrder", + "outputs": [ + { + "name": "direction", + "type": "uint8" + }, + { + "name": "category", + "type": "uint256" + }, + { + "name": "trust", + "type": "uint256" + }, + { + "name": "value", + "type": "uint256" + }, + { + "name": "volume", + "type": "uint256" + }, + { + "name": "remaining", + "type": "uint256" + }, + { + "name": "workerpool", + "type": "address" + }, + { + "name": "workerpoolOwner", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_woid", + "type": "address" + } + ], + "name": "isCallbackDone", + "outputs": [ + { + "name": "callbackDone", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_woid", + "type": "address" + }, + { + "name": "_stdout", + "type": "string" + }, + { + "name": "_stderr", + "type": "string" + }, + { + "name": "_uri", + "type": "string" + } + ], + "name": "workOrderCallback", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x6060604052341561000f57600080fd5b6040516020806112a6833981016040528080519150819050600160a060020a038116151561003c57600080fd5b60008054600160a060020a03909216600160a060020a0319909216919091179055506112398061006d6000396000f3006060604052600436106100b65763ffffffff60e060020a60003504166302a63c2881146100bb57806324026bfb146100f7578063270a8ef71461011f57806338c4090b146101355780633ab679561461014b5780634cfddcfb146101c2578063514d7067146101d857806355d66c3e146102bd57806360f75f3b146102ef57806369c7c180146103055780636b14ea361461031857806397e645f31461032b578063ea0b25901461034a578063eb3721be1461037b575b600080fd5b34156100c657600080fd5b6100e3600435600160a060020a0360243581169060443516610391565b604051901515815260200160405180910390f35b341561010257600080fd5b61010d600435610508565b60405190815260200160405180910390f35b341561012a57600080fd5b6100e3600435610535565b341561014057600080fd5b61010d60043561054b565b341561015657600080fd5b610161600435610577565b6040518089600381111561017157fe5b60ff1681526020810198909852506040808801969096526060870194909452608086019290925260a0850152600160a060020a0390811660c08501521660e083015261010090910191505180910390f35b34156101cd57600080fd5b61010d6004356105cc565b34156101e357600080fd5b6102bb60048035600160a060020a03169060446024803590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405281815292919060208401838380828437509496506105f895505050505050565b005b34156102c857600080fd5b6102d3600435610cde565b604051600160a060020a03909116815260200160405180910390f35b34156102fa57600080fd5b6100e3600435610d13565b341561031057600080fd5b61010d610e4a565b341561032357600080fd5b61010d610e50565b341561033657600080fd5b6100e3600160a060020a0360043516610e55565b341561035557600080fd5b61010d60ff60043516602435604435606435600160a060020a036084351660a435610e73565b341561038657600080fd5b6101616004356110ee565b60008054819033600160a060020a039081169116146103af57600080fd5b50600084815260026020819052604090912090815460ff1660038111156103d257fe5b146103dc57600080fd5b6005810154600090116103ee57600080fd5b6006810154600160a060020a0384811691161461040a57600080fd5b600581015461042090600163ffffffff61116d16565b60058201819055151561043957805460ff191660031781555b6000546003820154600160a060020a039091169063ac26109e90869060405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151561049857600080fd5b5af115156104a557600080fd5b5050506040518051905015156104ba57600080fd5b7fe15b7f1dd90867f2f9084033184322ae15a1572828d3d2a5a2dca5f6038332ba8585604051918252600160a060020a031660208201526040908101905180910390a1506001949350505050565b600061051382610535565b151561051e57600080fd5b506000908152600260208190526040909120015490565b6000908152600260205260408120600101541190565b600061055682610535565b151561056157600080fd5b5060009081526002602052604090206003015490565b60026020819052600091825260409091208054600182015492820154600383015460048401546005850154600686015460079096015460ff90951696959394929391929091600160a060020a03908116911688565b60006105d782610535565b15156105e257600080fd5b5060009081526002602052604090206001015490565b60008054600160a060020a03166332ca55878660405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151561064957600080fd5b5af1151561065657600080fd5b50505060405180519050151561066b57600080fd5b61067485610e55565b1561067e57600080fd5b600160a060020a0385166000908152600360205260409020805460ff19166001179055600485600160a060020a031663e329c4786040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156106e057600080fd5b5af115156106ed57600080fd5b50505060405180519050600481111561070257fe5b1461070c57600080fd5b8383836040518084805190602001908083835b6020831061073e5780518252601f19909201916020918201910161071f565b6001836020036101000a038019825116818451161790925250505091909101905083805190602001908083835b6020831061078a5780518252601f19909201916020918201910161076b565b6001836020036101000a038019825116818451161790925250505091909101905082805190602001908083835b602083106107d65780518252601f1990920191602091820191016107b7565b6001836020036101000a03801982511681845116179092525050509190910194506040935050505051908190039020600160a060020a03861663d3281fd66040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561084257600080fd5b5af1151561084f57600080fd5b505050604051805191909114905061086657600080fd5b84600160a060020a031663da1fea286040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156108a357600080fd5b5af115156108b057600080fd5b5050506040518051915050600160a060020a03811615156108d057600080fd5b80600160a060020a031663514d7067868686866040518563ffffffff1660e060020a0281526004018085600160a060020a0316600160a060020a03168152602001806020018060200180602001848103845287818151815260200191508051906020019080838360005b8381101561095257808201518382015260200161093a565b50505050905090810190601f16801561097f5780820380516001836020036101000a031916815260200191505b50848103835286818151815260200191508051906020019080838360005b838110156109b557808201518382015260200161099d565b50505050905090810190601f1680156109e25780820380516001836020036101000a031916815260200191505b50848103825285818151815260200191508051906020019080838360005b83811015610a18578082015183820152602001610a00565b50505050905090810190601f168015610a455780820380516001836020036101000a031916815260200191505b50975050505050505050602060405180830381600087803b1515610a6857600080fd5b5af11515610a7557600080fd5b505050604051805190501515610a8a57600080fd5b32600160a060020a031681600160a060020a031686600160a060020a03167ffaa5bd626c00cd99117399c04259a0d49a005fdde47f67ed013a1f473a49587088600160a060020a0316635f44910c6040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610b0657600080fd5b5af11515610b1357600080fd5b5050506040518051905089600160a060020a031663f6a5b13e6040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610b5a57600080fd5b5af11515610b6757600080fd5b50505060405180519050898989604051600160a060020a0380871682528516602082015260a0604082018181529060608301906080840190840187818151815260200191508051906020019080838360005b83811015610bd1578082015183820152602001610bb9565b50505050905090810190601f168015610bfe5780820380516001836020036101000a031916815260200191505b50848103835286818151815260200191508051906020019080838360005b83811015610c34578082015183820152602001610c1c565b50505050905090810190601f168015610c615780820380516001836020036101000a031916815260200191505b50848103825285818151815260200191508051906020019080838360005b83811015610c97578082015183820152602001610c7f565b50505050905090810190601f168015610cc45780820380516001836020036101000a031916815260200191505b509850505050505050505060405180910390a45050505050565b6000610ce982610535565b1515610cf457600080fd5b50600090815260026020526040902060070154600160a060020a031690565b6000818152600260208190526040822090815460ff166003811115610d3457fe5b14156100b657600781015433600160a060020a03908116911614610d5757600080fd5b600054600782015460058301546003840154600160a060020a039384169363b7b6e978931691610d9e91610d9290601e63ffffffff61117f16565b9063ffffffff61119416565b60405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b1515610de157600080fd5b5af11515610dee57600080fd5b505050604051805190501515610e0357600080fd5b805460ff191660031781557f9a05087bc2e92d4e31e031af3ffb9da7e4dffd4be5573811330541cc559315fe8360405190815260200160405180910390a150600192915050565b60015481565b601e81565b600160a060020a031660009081526003602052604090205460ff1690565b600080548190600160a060020a03166332baa8d98860405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b1515610ebe57600080fd5b5af11515610ecb57600080fd5b505050604051805190501515610ee057600080fd5b60008311610eed57600080fd5b60018054610f009163ffffffff6111ca16565b600181815560009182526002602052604090912080549092508991839160ff191690836003811115610f2e57fe5b0217905550600181018790556002808201879055600382018690556004820184905560058201849055886003811115610f6357fe5b14156100b65733600160a060020a031684600160a060020a031663deff41c16040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610fb057600080fd5b5af11515610fbd57600080fd5b50505060405180519050600160a060020a0316141515610fdc57600080fd5b600054600160a060020a031663ac26109e3361100386610d928a601e63ffffffff61117f16565b60405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151561104657600080fd5b5af1151561105357600080fd5b50505060405180519050151561106857600080fd5b600681018054600160a060020a0380871673ffffffffffffffffffffffffffffffffffffffff199283161790925560078301805433909316929091169190911790557fb0be9c5566c7b426b2e5378a75c24af27818f33e0b6aa5ea6208562c144c98f160015460405190815260200160405180910390a150506001549695505050505050565b60008060008060008060008060006111058a610535565b151561111057600080fd5b505050600096875250506002602081905260409095208054600182015496820154600383015460048401546005850154600686015460079096015460ff9095169b93995091975095509350600160a060020a039283169290911690565b60008282111561117957fe5b50900390565b600061118d838360646111d9565b9392505050565b6000808315156111a757600091506111c3565b508282028284828115156111b757fe5b04146111bf57fe5b8091505b5092915050565b6000828201838110156111bf57fe5b60006111ee6111e88585611194565b836111f6565b949350505050565b600080828481151561120457fe5b049493505050505600a165627a7a72305820b668c5108a5814f2559e74c0479fac009c4511209da1afccf95c8e16c36ab40e0029", + "deployedBytecode": "0x6060604052600436106100b65763ffffffff60e060020a60003504166302a63c2881146100bb57806324026bfb146100f7578063270a8ef71461011f57806338c4090b146101355780633ab679561461014b5780634cfddcfb146101c2578063514d7067146101d857806355d66c3e146102bd57806360f75f3b146102ef57806369c7c180146103055780636b14ea361461031857806397e645f31461032b578063ea0b25901461034a578063eb3721be1461037b575b600080fd5b34156100c657600080fd5b6100e3600435600160a060020a0360243581169060443516610391565b604051901515815260200160405180910390f35b341561010257600080fd5b61010d600435610508565b60405190815260200160405180910390f35b341561012a57600080fd5b6100e3600435610535565b341561014057600080fd5b61010d60043561054b565b341561015657600080fd5b610161600435610577565b6040518089600381111561017157fe5b60ff1681526020810198909852506040808801969096526060870194909452608086019290925260a0850152600160a060020a0390811660c08501521660e083015261010090910191505180910390f35b34156101cd57600080fd5b61010d6004356105cc565b34156101e357600080fd5b6102bb60048035600160a060020a03169060446024803590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405281815292919060208401838380828437509496506105f895505050505050565b005b34156102c857600080fd5b6102d3600435610cde565b604051600160a060020a03909116815260200160405180910390f35b34156102fa57600080fd5b6100e3600435610d13565b341561031057600080fd5b61010d610e4a565b341561032357600080fd5b61010d610e50565b341561033657600080fd5b6100e3600160a060020a0360043516610e55565b341561035557600080fd5b61010d60ff60043516602435604435606435600160a060020a036084351660a435610e73565b341561038657600080fd5b6101616004356110ee565b60008054819033600160a060020a039081169116146103af57600080fd5b50600084815260026020819052604090912090815460ff1660038111156103d257fe5b146103dc57600080fd5b6005810154600090116103ee57600080fd5b6006810154600160a060020a0384811691161461040a57600080fd5b600581015461042090600163ffffffff61116d16565b60058201819055151561043957805460ff191660031781555b6000546003820154600160a060020a039091169063ac26109e90869060405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151561049857600080fd5b5af115156104a557600080fd5b5050506040518051905015156104ba57600080fd5b7fe15b7f1dd90867f2f9084033184322ae15a1572828d3d2a5a2dca5f6038332ba8585604051918252600160a060020a031660208201526040908101905180910390a1506001949350505050565b600061051382610535565b151561051e57600080fd5b506000908152600260208190526040909120015490565b6000908152600260205260408120600101541190565b600061055682610535565b151561056157600080fd5b5060009081526002602052604090206003015490565b60026020819052600091825260409091208054600182015492820154600383015460048401546005850154600686015460079096015460ff90951696959394929391929091600160a060020a03908116911688565b60006105d782610535565b15156105e257600080fd5b5060009081526002602052604090206001015490565b60008054600160a060020a03166332ca55878660405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151561064957600080fd5b5af1151561065657600080fd5b50505060405180519050151561066b57600080fd5b61067485610e55565b1561067e57600080fd5b600160a060020a0385166000908152600360205260409020805460ff19166001179055600485600160a060020a031663e329c4786040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156106e057600080fd5b5af115156106ed57600080fd5b50505060405180519050600481111561070257fe5b1461070c57600080fd5b8383836040518084805190602001908083835b6020831061073e5780518252601f19909201916020918201910161071f565b6001836020036101000a038019825116818451161790925250505091909101905083805190602001908083835b6020831061078a5780518252601f19909201916020918201910161076b565b6001836020036101000a038019825116818451161790925250505091909101905082805190602001908083835b602083106107d65780518252601f1990920191602091820191016107b7565b6001836020036101000a03801982511681845116179092525050509190910194506040935050505051908190039020600160a060020a03861663d3281fd66040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561084257600080fd5b5af1151561084f57600080fd5b505050604051805191909114905061086657600080fd5b84600160a060020a031663da1fea286040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156108a357600080fd5b5af115156108b057600080fd5b5050506040518051915050600160a060020a03811615156108d057600080fd5b80600160a060020a031663514d7067868686866040518563ffffffff1660e060020a0281526004018085600160a060020a0316600160a060020a03168152602001806020018060200180602001848103845287818151815260200191508051906020019080838360005b8381101561095257808201518382015260200161093a565b50505050905090810190601f16801561097f5780820380516001836020036101000a031916815260200191505b50848103835286818151815260200191508051906020019080838360005b838110156109b557808201518382015260200161099d565b50505050905090810190601f1680156109e25780820380516001836020036101000a031916815260200191505b50848103825285818151815260200191508051906020019080838360005b83811015610a18578082015183820152602001610a00565b50505050905090810190601f168015610a455780820380516001836020036101000a031916815260200191505b50975050505050505050602060405180830381600087803b1515610a6857600080fd5b5af11515610a7557600080fd5b505050604051805190501515610a8a57600080fd5b32600160a060020a031681600160a060020a031686600160a060020a03167ffaa5bd626c00cd99117399c04259a0d49a005fdde47f67ed013a1f473a49587088600160a060020a0316635f44910c6040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610b0657600080fd5b5af11515610b1357600080fd5b5050506040518051905089600160a060020a031663f6a5b13e6040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610b5a57600080fd5b5af11515610b6757600080fd5b50505060405180519050898989604051600160a060020a0380871682528516602082015260a0604082018181529060608301906080840190840187818151815260200191508051906020019080838360005b83811015610bd1578082015183820152602001610bb9565b50505050905090810190601f168015610bfe5780820380516001836020036101000a031916815260200191505b50848103835286818151815260200191508051906020019080838360005b83811015610c34578082015183820152602001610c1c565b50505050905090810190601f168015610c615780820380516001836020036101000a031916815260200191505b50848103825285818151815260200191508051906020019080838360005b83811015610c97578082015183820152602001610c7f565b50505050905090810190601f168015610cc45780820380516001836020036101000a031916815260200191505b509850505050505050505060405180910390a45050505050565b6000610ce982610535565b1515610cf457600080fd5b50600090815260026020526040902060070154600160a060020a031690565b6000818152600260208190526040822090815460ff166003811115610d3457fe5b14156100b657600781015433600160a060020a03908116911614610d5757600080fd5b600054600782015460058301546003840154600160a060020a039384169363b7b6e978931691610d9e91610d9290601e63ffffffff61117f16565b9063ffffffff61119416565b60405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b1515610de157600080fd5b5af11515610dee57600080fd5b505050604051805190501515610e0357600080fd5b805460ff191660031781557f9a05087bc2e92d4e31e031af3ffb9da7e4dffd4be5573811330541cc559315fe8360405190815260200160405180910390a150600192915050565b60015481565b601e81565b600160a060020a031660009081526003602052604090205460ff1690565b600080548190600160a060020a03166332baa8d98860405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b1515610ebe57600080fd5b5af11515610ecb57600080fd5b505050604051805190501515610ee057600080fd5b60008311610eed57600080fd5b60018054610f009163ffffffff6111ca16565b600181815560009182526002602052604090912080549092508991839160ff191690836003811115610f2e57fe5b0217905550600181018790556002808201879055600382018690556004820184905560058201849055886003811115610f6357fe5b14156100b65733600160a060020a031684600160a060020a031663deff41c16040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610fb057600080fd5b5af11515610fbd57600080fd5b50505060405180519050600160a060020a0316141515610fdc57600080fd5b600054600160a060020a031663ac26109e3361100386610d928a601e63ffffffff61117f16565b60405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151561104657600080fd5b5af1151561105357600080fd5b50505060405180519050151561106857600080fd5b600681018054600160a060020a0380871673ffffffffffffffffffffffffffffffffffffffff199283161790925560078301805433909316929091169190911790557fb0be9c5566c7b426b2e5378a75c24af27818f33e0b6aa5ea6208562c144c98f160015460405190815260200160405180910390a150506001549695505050505050565b60008060008060008060008060006111058a610535565b151561111057600080fd5b505050600096875250506002602081905260409095208054600182015496820154600383015460048401546005850154600686015460079096015460ff9095169b93995091975095509350600160a060020a039283169290911690565b60008282111561117957fe5b50900390565b600061118d838360646111d9565b9392505050565b6000808315156111a757600091506111c3565b508282028284828115156111b757fe5b04146111bf57fe5b8091505b5092915050565b6000828201838110156111bf57fe5b60006111ee6111e88585611194565b836111f6565b949350505050565b600080828481151561120457fe5b049493505050505600a165627a7a72305820b668c5108a5814f2559e74c0479fac009c4511209da1afccf95c8e16c36ab40e0029", + "sourceMap": "177:6254:10:-;;;666:96;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;666:96:10;;-1:-1:-1;;;;;;300:30:7;;;;292:39;;;;;;335:17;:55;;-1:-1:-1;;;;;335:55:7;;;-1:-1:-1;;;;;;335:55:7;;;;;;;;;-1:-1:-1;177:6254:10;;;;;;", + "deployedSourceMap": "177:6254:10:-;;;;;;;;;-1:-1:-1;;;177:6254:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2660:702;;;;;;;;;;;;-1:-1:-1;;;;;2660:702:10;;;;;;;;;;;;;;;;;;;;;;;;;;;4209:211;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3365:156;;;;;;;;;;;;;;3544:211;;;;;;;;;;;;;;338:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;338:55:10;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;338:55:10;;;;;;;;;;;;;;;;;-1:-1:-1;338:55:10;;;;;;3990:217;;;;;;;;;;;;;;5678:750;;;;;;;;;;;;;-1:-1:-1;;;;;5678:750:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5678:750:10;;-1:-1:-1;5678:750:10;;-1:-1:-1;;;;;;5678:750:10;;;3757:231;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3757:231:10;;;;;;;;;;;;;;1944:679;;;;;;;;;;;;;;279:56;;;;;;;;;;;;397:45;;;;;;;;;;;;5554:120;;;;;;;;;;-1:-1:-1;;;;;5554:120:10;;;;;793:1148;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;793:1148:10;;;;;;;4422:814;;;;;;;;;;;;;;2660:702;2794:4;197:17:7;;2794:4:10;;175:10:7;-1:-1:-1;;;;;175:40:7;;;197:17;;175:40;167:49;;;;;;-1:-1:-1;2848:28:10;;;;:11;:28;;;;;;;;;2888:21;;;;:63;;;;;;;;;2880:72;;;;;;2964:21;;;;2990:1;2964:27;;2956:36;;;;;;3004:22;;;;-1:-1:-1;;;;;3004:37:10;;;:22;;:37;2996:46;;;;;;3071:21;;;;:28;;3097:1;3071:28;:25;:28;:::i;:::-;3047:21;;;:52;;;3107:26;3103:108;;;3142:64;;-1:-1:-1;;3142:64:10;3166:40;3142:64;;;3103:108;3222:17;;3265;;;;-1:-1:-1;;;;;3222:17:10;;;;:30;;3253:10;;3222:61;;-1:-1:-1;;;3222:61:10;;;;;;-1:-1:-1;;;;;3222:61:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3214:70;;;;;;;;3293:50;3315:15;3332:10;3293:50;;;;;-1:-1:-1;;;;;3293:50:10;;;;;;;;;;;;;;;;-1:-1:-1;3354:4:10;;2660:702;-1:-1:-1;;;;2660:702:10:o;4209:211::-;4284:7;4306:36;4326:15;4306:19;:36::i;:::-;4298:45;;;;;;;;-1:-1:-1;4382:28:10;;;;:11;:28;;;;;;;;:34;;;4209:211::o;3365:156::-;3441:21;3476:28;;;:11;:28;;;;;:37;;;:41;;3365:156::o;3544:211::-;3619:7;3641:36;3661:15;3641:19;:36::i;:::-;3633:45;;;;;;;;-1:-1:-1;3717:28:10;;;;:11;:28;;;;;:34;;;;3544:211::o;338:55::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;338:55:10;;;;;;:::o;3990:217::-;4068:7;4090:36;4110:15;4090:19;:36::i;:::-;4082:45;;;;;;;;-1:-1:-1;4166:28:10;;;;:11;:28;;;;;:37;;;;3990:217::o;5678:750::-;6073:18;5786:17;;-1:-1:-1;;;;;5786:17:10;:33;5820:5;5786:40;;-1:-1:-1;;;5786:40:10;;;;;;-1:-1:-1;;;;;5786:40:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5778:49;;;;;;;;5841:21;5856:5;5841:14;:21::i;:::-;5840:22;5832:31;;;;;;-1:-1:-1;;;;;5868:21:10;;;;;;:14;:21;;;;;:28;;-1:-1:-1;;5868:28:10;5892:4;5868:28;;;5940:38;5919:5;-1:-1:-1;;;;;5909:25:10;;:27;;;;;-1:-1:-1;;;5909:27:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:69;;;;;;;;;5901:78;;;;;;6046:7;6054;6062:4;6036:31;;;;;;;;;;;;;36:153:-1;66:2;58:11;;36:153;;182:3;176:10;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;377:20;365:33;;;-1:-1;;;6036:31:10;;;;;-1:-1:-1;6036:31:10;;;;;;;;;;36:153:-1;66:2;58:11;;36:153;;182:3;176:10;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;377:20;365:33;;;-1:-1;;;6036:31:10;;;;;-1:-1:-1;6036:31:10;;;;;;;;;;36:153:-1;66:2;58:11;;36:153;;182:3;176:10;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;377:20;365:33;;;-1:-1;;;6036:31:10;;;;;-1:-1:-1;6036:31:10;;-1:-1:-1;;;;6036:31:10;;;;;;;-1:-1:-1;;;;;5992:38:10;;;:40;;;;;-1:-1:-1;;;5992:40:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:75;;;;;-1:-1:-1;5984:84:10;;;;;;6103:5;-1:-1:-1;;;;;6093:27:10;;:29;;;;;-1:-1:-1;;;6093:29:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;6135:24:10;;;;6127:33;;;;;;6196:10;-1:-1:-1;;;;;6173:52:10;;6231:5;6242:7;6255;6268:4;6173:104;;;;;-1:-1:-1;;;6173:104:10;;;;;;;-1:-1:-1;;;;;6173:104:10;-1:-1:-1;;;;;6173:104:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;6173:104:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;6173:104:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;6173:104:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6165:113;;;;;;;;6392:9;-1:-1:-1;;;;;6288:135:10;6381:10;-1:-1:-1;;;;;6288:135:10;6311:5;-1:-1:-1;;;;;6288:135:10;;6327:5;-1:-1:-1;;;;;6317:28:10;;:30;;;;;-1:-1:-1;;;6317:30:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6358:5;-1:-1:-1;;;;;6348:30:10;;:32;;;;;-1:-1:-1;;;6348:32:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6402:7;6410;6418:4;6288:135;;-1:-1:-1;;;;;6288:135:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;6288:135:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;6288:135:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;6288:135:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5678:750;;;;;:::o;3757:231::-;3842:7;3864:36;3884:15;3864:19;:36::i;:::-;3856:45;;;;;;;;-1:-1:-1;3940:28:10;;;;:11;:28;;;;;:44;;;-1:-1:-1;;;;;3940:44:10;;3757:231::o;1944:679::-;2011:4;2065:28;;;:11;:28;;;;;;;;2101:21;;;;:62;;;;;;;;;2097:397;;;2180:27;;;;2211:10;-1:-1:-1;;;;;2180:41:10;;;:27;;:41;2172:50;;;;;;2235:17;;2268:27;;;;2347:21;;;;2297:17;;;;-1:-1:-1;;;;;2235:17:10;;;;:32;;2268:27;;2297:72;;:45;;440:2;2297:45;:28;:45;:::i;:::-;:49;:72;:49;:72;:::i;:::-;2235:135;;-1:-1:-1;;;2235:135:10;;;;;;-1:-1:-1;;;;;2235:135:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2227:144;;;;;;;;2497:64;;-1:-1:-1;;2497:64:10;2521:40;2497:64;;;2570:34;2588:15;2570:34;;;;;;;;;;;;;;-1:-1:-1;2615:4:10;;1944:679;-1:-1:-1;;1944:679:10:o;279:56::-;;;;:::o;397:45::-;440:2;397:45;:::o;5554:120::-;-1:-1:-1;;;;;5648:21:10;5615:17;5648:21;;;:14;:21;;;;;;;;;5554:120::o;793:1148::-;985:4;1004:17;;985:4;;-1:-1:-1;;;;;1004:17:10;:34;1039:9;1004:45;;-1:-1:-1;;;1004:45:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;996:54;;;;;;;;1071:1;1062:10;;1054:19;;;;;;1109:1;1092:12;;:19;;;:16;:19;:::i;:::-;1077:12;:34;;;1161:25;;;;:11;:25;;;;;;1190:39;;1161:25;;-1:-1:-1;1219:10:10;;1161:25;;-1:-1:-1;;1190:39:10;;1219:10;1190:39;;;;;;;;;;;;-1:-1:-1;1233:20:10;;;:38;;;1275:17;;;;:35;;;1314:17;;;:35;;;1353:18;;;:36;;;1393:21;;;:36;;;1438:10;:51;;;;;;;;;1434:440;;;1543:10;-1:-1:-1;;;;;1506:47:10;1517:11;-1:-1:-1;;;;;1506:31:10;;:33;;;;;-1:-1:-1;;;1506:33:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1506:47:10;;1498:56;;;;;;;;1568:17;;-1:-1:-1;;;;;1568:17:10;:30;1599:10;1611:47;1650:7;1611:34;:6;440:2;1611:34;:17;:34;:::i;:47::-;1568:91;;-1:-1:-1;;;1568:91:10;;;;;;-1:-1:-1;;;;;1568:91:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1560:100;;;;;;;;1727:22;;;:41;;-1:-1:-1;;;;;1727:41:10;;;-1:-1:-1;;1727:41:10;;;;;;;1773:27;;;:40;;1803:10;1773:40;;;;;;;;;;;;;1882:32;1901:12;;1882:32;;;;;;;;;;;;;;-1:-1:-1;;1925:12:10;;;793:1148;-1:-1:-1;;;;;;793:1148:10:o;4422:814::-;4496:43;4543:16;4590:13;4628;4674:14;4733:17;4782:18;4836:23;4943:40;4874:36;4894:15;4874:19;:36::i;:::-;4866:45;;;;;;;;-1:-1:-1;;;4986:28:10;;;;-1:-1:-1;;4986:11:10;:28;;;;;;;;5030:21;;;5056:20;;;5081:17;;;;5103;;;;5125:18;;;;5148:21;;;;5174:22;;;;5201:27;;;;;5030:21;;;;;5081:17;;-1:-1:-1;5103:17:10;;-1:-1:-1;5125:18:10;-1:-1:-1;5148:21:10;-1:-1:-1;;;;;;5174:22:10;;;;5201:27;;;;4422:814::o;531:106:15:-;589:7;610:6;;;;603:14;;;;-1:-1:-1;628:5:15;;;531:106::o;1388:114::-;1453:7;1474:24;1488:1;1491;1494:3;1474:13;:24::i;:::-;1467:31;1388:114;-1:-1:-1;;;1388:114:15:o;640:162::-;698:7;;716:6;;712:32;;;738:1;731:8;;;;712:32;-1:-1:-1;759:5:15;;;763:1;759;:5;775;;;;;;;;:10;768:18;;;;797:1;790:8;;640:162;;;;;;:::o;405:123::-;463:7;489:5;;;505:6;;;;498:14;;;1264:121;1343:7;1364:17;1368:9;1372:1;1375;1368:3;:9::i;:::-;1379:1;1364:3;:17::i;:::-;1357:24;1264:121;-1:-1:-1;;;;1264:121:15:o;805:257::-;863:7;949:9;965:1;961;:5;;;;;;;;;805:257;-1:-1:-1;;;;805:257:15:o", + "source": "pragma solidity ^0.4.21;\nimport './IexecLib.sol';\nimport './IexecHubAccessor.sol';\nimport './WorkerPool.sol';\nimport \"./SafeMathOZ.sol\";\nimport './IexecCallbackInterface.sol';\n\ncontract Marketplace is IexecHubAccessor\n{\n\tusing SafeMathOZ for uint256;\n\n\t/**\n\t * Marketplace\n\t */\n\tuint public m_orderCount;\n\tmapping(uint =>IexecLib.MarketOrder) public m_orderBook;\n\n\tuint256 public constant ASK_STAKE_RATIO = 30;\n\n\t/**\n\t * Events\n\t */\n\tevent MarketOrderCreated (uint marketorderIdx);\n\tevent MarketOrderClosed (uint marketorderIdx);\n\tevent MarketOrderAskConsume(uint marketorderIdx, address requester);\n\n\t/**\n\t * Constructor\n\t */\n\tfunction Marketplace(address _iexecHubAddress)\n\tIexecHubAccessor(_iexecHubAddress)\n\tpublic\n\t{\n\t}\n\n\t/**\n\t * Market orders\n\t */\n\tfunction createMarketOrder(\n\t\tIexecLib.MarketOrderDirectionEnum _direction,\n\t\tuint256 _category,\n\t\tuint256 _trust,\n\t\tuint256 _value,\n\t\taddress _workerpool,\n\t\tuint256 _volume)\n\tpublic returns (uint)\n\t{\n\t\trequire(iexecHubInterface.existingCategory(_category));\n\t\trequire(_volume >0);\n\t\tm_orderCount = m_orderCount.add(1);\n\t\tIexecLib.MarketOrder storage marketorder = m_orderBook[m_orderCount];\n\t\tmarketorder.direction = _direction;\n\t\tmarketorder.category = _category;\n\t\tmarketorder.trust = _trust;\n\t\tmarketorder.value = _value;\n\t\tmarketorder.volume = _volume;\n\t\tmarketorder.remaining = _volume;\n\n\t\tif (_direction == IexecLib.MarketOrderDirectionEnum.ASK)\n\t\t{\n\t\t\trequire(WorkerPool(_workerpool).m_owner() == msg.sender);\n\n\t\t\trequire(iexecHubInterface.lockForOrder(msg.sender, _value.percentage(ASK_STAKE_RATIO).mul(_volume))); // mul must be done after percentage to avoid rounding errors\n\t\t\tmarketorder.workerpool = _workerpool;\n\t\t\tmarketorder.workerpoolOwner = msg.sender;\n\t\t}\n\t\telse\n\t\t{\n\t\t\t// no BID implementation\n\t\t\trevert();\n\t\t}\n\t\temit MarketOrderCreated(m_orderCount);\n\t\treturn m_orderCount;\n\t}\n\n\tfunction closeMarketOrder(uint256 _marketorderIdx) public returns (bool)\n\t{\n\t\tIexecLib.MarketOrder storage marketorder = m_orderBook[_marketorderIdx];\n\t\tif (marketorder.direction == IexecLib.MarketOrderDirectionEnum.ASK)\n\t\t{\n\t\t\trequire(marketorder.workerpoolOwner == msg.sender);\n\t\t\trequire(iexecHubInterface.unlockForOrder(marketorder.workerpoolOwner, marketorder.value.percentage(ASK_STAKE_RATIO).mul(marketorder.remaining))); // mul must be done after percentage to avoid rounding errors\n\t\t}\n\t\telse\n\t\t{\n\t\t\t// no BID implementation\n\t\t\trevert();\n\t\t}\n\t\tmarketorder.direction = IexecLib.MarketOrderDirectionEnum.CLOSED;\n\t\temit MarketOrderClosed(_marketorderIdx);\n\t\treturn true;\n\t}\n\n\n\t/**\n\t * Assets consumption\n\t */\n\tfunction consumeMarketOrderAsk(\n\t\tuint256 _marketorderIdx,\n\t\taddress _requester,\n\t\taddress _workerpool)\n\tpublic onlyIexecHub returns (bool)\n\t{\n\t\tIexecLib.MarketOrder storage marketorder = m_orderBook[_marketorderIdx];\n\t\trequire(marketorder.direction == IexecLib.MarketOrderDirectionEnum.ASK);\n\t\trequire(marketorder.remaining > 0);\n\t\trequire(marketorder.workerpool == _workerpool);\n\n\t\tmarketorder.remaining = marketorder.remaining.sub(1);\n\t\tif (marketorder.remaining == 0)\n\t\t{\n\t\t\tmarketorder.direction = IexecLib.MarketOrderDirectionEnum.CLOSED;\n\t\t}\n\t\trequire(iexecHubInterface.lockForOrder(_requester, marketorder.value));\n\t\temit MarketOrderAskConsume(_marketorderIdx, _requester);\n\t\treturn true;\n\t}\n\n\tfunction existingMarketOrder(uint256 _marketorderIdx) public view returns (bool marketOrderExist)\n\t{\n\t\treturn m_orderBook[_marketorderIdx].category > 0;\n\t}\n\n\t/**\n\t * Views\n\t */\n\tfunction getMarketOrderValue(uint256 _marketorderIdx) public view returns (uint256)\n\t{\n\t\trequire(existingMarketOrder(_marketorderIdx)); // no silent value returned\n\t\treturn m_orderBook[_marketorderIdx].value;\n\t}\n\tfunction getMarketOrderWorkerpoolOwner(uint256 _marketorderIdx) public view returns (address)\n\t{\n\t\trequire(existingMarketOrder(_marketorderIdx)); // no silent value returned\n\t\treturn m_orderBook[_marketorderIdx].workerpoolOwner;\n\t}\n\tfunction getMarketOrderCategory(uint256 _marketorderIdx) public view returns (uint256)\n\t{\n\t\trequire(existingMarketOrder(_marketorderIdx)); // no silent value returned\n\t\treturn m_orderBook[_marketorderIdx].category;\n\t}\n\tfunction getMarketOrderTrust(uint256 _marketorderIdx) public view returns (uint256)\n\t{\n\t\trequire(existingMarketOrder(_marketorderIdx)); // no silent value returned\n\t\treturn m_orderBook[_marketorderIdx].trust;\n\t}\n\tfunction getMarketOrder(uint256 _marketorderIdx) public view returns\n\t(\n\t\tIexecLib.MarketOrderDirectionEnum direction,\n\t\tuint256 category, // runtime selection\n\t\tuint256 trust, // for PoCo\n\t\tuint256 value, // value/cost/price\n\t\tuint256 volume, // quantity of instances (total)\n\t\tuint256 remaining, // remaining instances\n\t\taddress workerpool, // BID can use null for any\n\t\taddress workerpoolOwner)\n\t{\n\t\trequire(existingMarketOrder(_marketorderIdx)); // no silent value returned\n\t\tIexecLib.MarketOrder storage marketorder = m_orderBook[_marketorderIdx];\n\t\treturn (\n\t\t\tmarketorder.direction,\n\t\t\tmarketorder.category,\n\t\t\tmarketorder.trust,\n\t\t\tmarketorder.value,\n\t\t\tmarketorder.volume,\n\t\t\tmarketorder.remaining,\n\t\t\tmarketorder.workerpool,\n\t\t\tmarketorder.workerpoolOwner\n\t\t);\n\t}\n\n\t/**\n\t * Callback Proof managment\n\t */\n\n\tevent WorkOrderCallbackProof(address indexed woid, address requester, address beneficiary,address indexed callbackTo, address indexed gasCallbackProvider,string stdout, string stderr , string uri);\n\n\t//mapping(workorder => bool)\n\t mapping(address => bool) m_callbackDone;\n\n\t function isCallbackDone(address _woid) public view returns (bool callbackDone)\n\t {\n\t\t return m_callbackDone[_woid];\n\t }\n\n\t function workOrderCallback(address _woid,string _stdout, string _stderr, string _uri) public\n\t {\n\t\t require(iexecHubInterface.isWoidRegistred(_woid));\n\t\t require(!isCallbackDone(_woid));\n\t\t m_callbackDone[_woid] = true;\n\t\t require(WorkOrder(_woid).m_status() == IexecLib.WorkOrderStatusEnum.COMPLETED);\n\t\t require(WorkOrder(_woid).m_resultCallbackProof() == keccak256(_stdout,_stderr,_uri));\n\t\t address callbackTo =WorkOrder(_woid).m_callback();\n\t\t require(callbackTo != address(0));\n\t\t require(IexecCallbackInterface(callbackTo).workOrderCallback(\n\t\t\t _woid,\n\t\t\t _stdout,\n\t\t\t _stderr,\n\t\t\t _uri\n\t\t ));\n\t\t emit WorkOrderCallbackProof(_woid,WorkOrder(_woid).m_requester(),WorkOrder(_woid).m_beneficiary(),callbackTo,tx.origin,_stdout,_stderr,_uri);\n\t }\n\n}\n", + "sourcePath": "/Users/fbranci/iexecdev/PoCo/contracts/Marketplace.sol", + "ast": { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/Marketplace.sol", + "exportedSymbols": { + "Marketplace": [ + 3513 + ] + }, + "id": 3514, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 2895, + "literals": [ + "solidity", + "^", + "0.4", + ".21" + ], + "nodeType": "PragmaDirective", + "src": "0:24:10" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/IexecLib.sol", + "file": "./IexecLib.sol", + "id": 2896, + "nodeType": "ImportDirective", + "scope": 3514, + "sourceUnit": 2894, + "src": "25:24:10", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/IexecHubAccessor.sol", + "file": "./IexecHubAccessor.sol", + "id": 2897, + "nodeType": "ImportDirective", + "scope": 3514, + "sourceUnit": 2476, + "src": "50:32:10", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/WorkerPool.sol", + "file": "./WorkerPool.sol", + "id": 2898, + "nodeType": "ImportDirective", + "scope": 3514, + "sourceUnit": 6098, + "src": "83:26:10", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/SafeMathOZ.sol", + "file": "./SafeMathOZ.sol", + "id": 2899, + "nodeType": "ImportDirective", + "scope": 3514, + "sourceUnit": 3925, + "src": "110:26:10", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/IexecCallbackInterface.sol", + "file": "./IexecCallbackInterface.sol", + "id": 2900, + "nodeType": "ImportDirective", + "scope": 3514, + "sourceUnit": 725, + "src": "137:38:10", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": [], + "baseName": { + "contractScope": null, + "id": 2901, + "name": "IexecHubAccessor", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2475, + "src": "201:16:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubAccessor_$2475", + "typeString": "contract IexecHubAccessor" + } + }, + "id": 2902, + "nodeType": "InheritanceSpecifier", + "src": "201:16:10" + } + ], + "contractDependencies": [ + 2475 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 3513, + "linearizedBaseContracts": [ + 3513, + 2475 + ], + "name": "Marketplace", + "nodeType": "ContractDefinition", + "nodes": [ + { + "id": 2905, + "libraryName": { + "contractScope": null, + "id": 2903, + "name": "SafeMathOZ", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 3924, + "src": "227:10:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_SafeMathOZ_$3924", + "typeString": "library SafeMathOZ" + } + }, + "nodeType": "UsingForDirective", + "src": "221:29:10", + "typeName": { + "id": 2904, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "242:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + { + "constant": false, + "id": 2907, + "name": "m_orderCount", + "nodeType": "VariableDeclaration", + "scope": 3513, + "src": "279:56:10", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2906, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "279:4:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 2911, + "name": "m_orderBook", + "nodeType": "VariableDeclaration", + "scope": 3513, + "src": "338:55:10", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MarketOrder_$2826_storage_$", + "typeString": "mapping(uint256 => struct IexecLib.MarketOrder storage ref)" + }, + "typeName": { + "id": 2910, + "keyType": { + "id": 2908, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "346:4:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Mapping", + "src": "338:36:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MarketOrder_$2826_storage_$", + "typeString": "mapping(uint256 => struct IexecLib.MarketOrder storage ref)" + }, + "valueType": { + "contractScope": null, + "id": 2909, + "name": "IexecLib.MarketOrder", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2826, + "src": "353:20:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": true, + "id": 2914, + "name": "ASK_STAKE_RATIO", + "nodeType": "VariableDeclaration", + "scope": 3513, + "src": "397:45:10", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2912, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "397:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "3330", + "id": 2913, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "440:2:10", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_30_by_1", + "typeString": "int_const 30" + }, + "value": "30" + }, + "visibility": "public" + }, + { + "anonymous": false, + "documentation": "Events", + "id": 2918, + "name": "MarketOrderCreated", + "nodeType": "EventDefinition", + "parameters": { + "id": 2917, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2916, + "indexed": false, + "name": "marketorderIdx", + "nodeType": "VariableDeclaration", + "scope": 2918, + "src": "495:19:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2915, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "495:4:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "494:21:10" + }, + "src": "467:49:10" + }, + { + "anonymous": false, + "documentation": null, + "id": 2922, + "name": "MarketOrderClosed", + "nodeType": "EventDefinition", + "parameters": { + "id": 2921, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2920, + "indexed": false, + "name": "marketorderIdx", + "nodeType": "VariableDeclaration", + "scope": 2922, + "src": "546:19:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2919, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "546:4:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "545:21:10" + }, + "src": "518:49:10" + }, + { + "anonymous": false, + "documentation": null, + "id": 2928, + "name": "MarketOrderAskConsume", + "nodeType": "EventDefinition", + "parameters": { + "id": 2927, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2924, + "indexed": false, + "name": "marketorderIdx", + "nodeType": "VariableDeclaration", + "scope": 2928, + "src": "597:19:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2923, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "597:4:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2926, + "indexed": false, + "name": "requester", + "nodeType": "VariableDeclaration", + "scope": 2928, + "src": "618:17:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2925, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "618:7:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "596:40:10" + }, + "src": "569:68:10" + }, + { + "body": { + "id": 2936, + "nodeType": "Block", + "src": "758:4:10", + "statements": [] + }, + "documentation": "Constructor", + "id": 2937, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "id": 2933, + "name": "_iexecHubAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2930, + "src": "731:16:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 2934, + "modifierName": { + "argumentTypes": null, + "id": 2932, + "name": "IexecHubAccessor", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2475, + "src": "714:16:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecHubAccessor_$2475_$", + "typeString": "type(contract IexecHubAccessor)" + } + }, + "nodeType": "ModifierInvocation", + "src": "714:34:10" + } + ], + "name": "Marketplace", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2931, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2930, + "name": "_iexecHubAddress", + "nodeType": "VariableDeclaration", + "scope": 2937, + "src": "687:24:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2929, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "687:7:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "686:26:10" + }, + "payable": false, + "returnParameters": { + "id": 2935, + "nodeType": "ParameterList", + "parameters": [], + "src": "758:0:10" + }, + "scope": 3513, + "src": "666:96:10", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 3074, + "nodeType": "Block", + "src": "992:949:10", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2957, + "name": "_category", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2941, + "src": "1039:9:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 2955, + "name": "iexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2441, + "src": "1004:17:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$2802", + "typeString": "contract IexecHubInterface" + } + }, + "id": 2956, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "existingCategory", + "nodeType": "MemberAccess", + "referencedDeclaration": 2617, + "src": "1004:34:10", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view external returns (bool)" + } + }, + "id": 2958, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1004:45:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2954, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "996:7:10", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2959, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "996:54:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2960, + "nodeType": "ExpressionStatement", + "src": "996:54:10" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2964, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 2962, + "name": "_volume", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2949, + "src": "1062:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 2963, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1071:1:10", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "1062:10:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2961, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "1054:7:10", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2965, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1054:19:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2966, + "nodeType": "ExpressionStatement", + "src": "1054:19:10" + }, + { + "expression": { + "argumentTypes": null, + "id": 2972, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 2967, + "name": "m_orderCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2907, + "src": "1077:12:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31", + "id": 2970, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1109:1:10", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "expression": { + "argumentTypes": null, + "id": 2968, + "name": "m_orderCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2907, + "src": "1092:12:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2969, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 3773, + "src": "1092:16:10", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 2971, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1092:19:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1077:34:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2973, + "nodeType": "ExpressionStatement", + "src": "1077:34:10" + }, + { + "assignments": [ + 2977 + ], + "declarations": [ + { + "constant": false, + "id": 2977, + "name": "marketorder", + "nodeType": "VariableDeclaration", + "scope": 3075, + "src": "1115:40:10", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + }, + "typeName": { + "contractScope": null, + "id": 2976, + "name": "IexecLib.MarketOrder", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2826, + "src": "1115:20:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 2981, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2978, + "name": "m_orderBook", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2911, + "src": "1161:11:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MarketOrder_$2826_storage_$", + "typeString": "mapping(uint256 => struct IexecLib.MarketOrder storage ref)" + } + }, + "id": 2980, + "indexExpression": { + "argumentTypes": null, + "id": 2979, + "name": "m_orderCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2907, + "src": "1173:12:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1161:25:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2826_storage", + "typeString": "struct IexecLib.MarketOrder storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1115:71:10" + }, + { + "expression": { + "argumentTypes": null, + "id": 2986, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2982, + "name": "marketorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2977, + "src": "1190:11:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + }, + "id": 2984, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "direction", + "nodeType": "MemberAccess", + "referencedDeclaration": 2811, + "src": "1190:21:10", + "typeDescriptions": { + "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2809", + "typeString": "enum IexecLib.MarketOrderDirectionEnum" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 2985, + "name": "_direction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2939, + "src": "1219:10:10", + "typeDescriptions": { + "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2809", + "typeString": "enum IexecLib.MarketOrderDirectionEnum" + } + }, + "src": "1190:39:10", + "typeDescriptions": { + "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2809", + "typeString": "enum IexecLib.MarketOrderDirectionEnum" + } + }, + "id": 2987, + "nodeType": "ExpressionStatement", + "src": "1190:39:10" + }, + { + "expression": { + "argumentTypes": null, + "id": 2992, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2988, + "name": "marketorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2977, + "src": "1233:11:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + }, + "id": 2990, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "category", + "nodeType": "MemberAccess", + "referencedDeclaration": 2813, + "src": "1233:20:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 2991, + "name": "_category", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2941, + "src": "1262:9:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1233:38:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2993, + "nodeType": "ExpressionStatement", + "src": "1233:38:10" + }, + { + "expression": { + "argumentTypes": null, + "id": 2998, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2994, + "name": "marketorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2977, + "src": "1275:11:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + }, + "id": 2996, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "trust", + "nodeType": "MemberAccess", + "referencedDeclaration": 2815, + "src": "1275:17:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 2997, + "name": "_trust", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2943, + "src": "1304:6:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1275:35:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2999, + "nodeType": "ExpressionStatement", + "src": "1275:35:10" + }, + { + "expression": { + "argumentTypes": null, + "id": 3004, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3000, + "name": "marketorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2977, + "src": "1314:11:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + }, + "id": 3002, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": 2817, + "src": "1314:17:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 3003, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2945, + "src": "1343:6:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1314:35:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3005, + "nodeType": "ExpressionStatement", + "src": "1314:35:10" + }, + { + "expression": { + "argumentTypes": null, + "id": 3010, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3006, + "name": "marketorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2977, + "src": "1353:11:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + }, + "id": 3008, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "volume", + "nodeType": "MemberAccess", + "referencedDeclaration": 2819, + "src": "1353:18:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 3009, + "name": "_volume", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2949, + "src": "1382:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1353:36:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3011, + "nodeType": "ExpressionStatement", + "src": "1353:36:10" + }, + { + "expression": { + "argumentTypes": null, + "id": 3016, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3012, + "name": "marketorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2977, + "src": "1393:11:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + }, + "id": 3014, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "remaining", + "nodeType": "MemberAccess", + "referencedDeclaration": 2821, + "src": "1393:21:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 3015, + "name": "_volume", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2949, + "src": "1422:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1393:36:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3017, + "nodeType": "ExpressionStatement", + "src": "1393:36:10" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2809", + "typeString": "enum IexecLib.MarketOrderDirectionEnum" + }, + "id": 3022, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3018, + "name": "_direction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2939, + "src": "1438:10:10", + "typeDescriptions": { + "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2809", + "typeString": "enum IexecLib.MarketOrderDirectionEnum" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3019, + "name": "IexecLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2893, + "src": "1452:8:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecLib_$2893_$", + "typeString": "type(library IexecLib)" + } + }, + "id": 3020, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "MarketOrderDirectionEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 2809, + "src": "1452:33:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_MarketOrderDirectionEnum_$2809_$", + "typeString": "type(enum IexecLib.MarketOrderDirectionEnum)" + } + }, + "id": 3021, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "ASK", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1452:37:10", + "typeDescriptions": { + "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2809", + "typeString": "enum IexecLib.MarketOrderDirectionEnum" + } + }, + "src": "1438:51:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 3066, + "nodeType": "Block", + "src": "1828:46:10", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 3063, + "name": "revert", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7012, + "src": "1861:6:10", + "typeDescriptions": { + "typeIdentifier": "t_function_revert_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 3064, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1861:8:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3065, + "nodeType": "ExpressionStatement", + "src": "1861:8:10" + } + ] + }, + "id": 3067, + "nodeType": "IfStatement", + "src": "1434:440:10", + "trueBody": { + "id": 3062, + "nodeType": "Block", + "src": "1493:325:10", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 3031, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3025, + "name": "_workerpool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2947, + "src": "1517:11:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 3024, + "name": "WorkerPool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6097, + "src": "1506:10:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_WorkerPool_$6097_$", + "typeString": "type(contract WorkerPool)" + } + }, + "id": 3026, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1506:23:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkerPool_$6097", + "typeString": "contract WorkerPool" + } + }, + "id": 3027, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 3681, + "src": "1506:31:10", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + "id": 3028, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1506:33:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3029, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "1543:3:10", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 3030, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1543:10:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1506:47:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3023, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "1498:7:10", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3032, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1498:56:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3033, + "nodeType": "ExpressionStatement", + "src": "1498:56:10" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3037, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "1599:3:10", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 3038, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1599:10:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3044, + "name": "_volume", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2949, + "src": "1650:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3041, + "name": "ASK_STAKE_RATIO", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2914, + "src": "1629:15:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 3039, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2945, + "src": "1611:6:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3040, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "percentage", + "nodeType": "MemberAccess", + "referencedDeclaration": 3914, + "src": "1611:17:10", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 3042, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1611:34:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3043, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "mul", + "nodeType": "MemberAccess", + "referencedDeclaration": 3826, + "src": "1611:38:10", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 3045, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1611:47:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 3035, + "name": "iexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2441, + "src": "1568:17:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$2802", + "typeString": "contract IexecHubInterface" + } + }, + "id": 3036, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "lockForOrder", + "nodeType": "MemberAccess", + "referencedDeclaration": 2685, + "src": "1568:30:10", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) external returns (bool)" + } + }, + "id": 3046, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1568:91:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3034, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "1560:7:10", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3047, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1560:100:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3048, + "nodeType": "ExpressionStatement", + "src": "1560:100:10" + }, + { + "expression": { + "argumentTypes": null, + "id": 3053, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3049, + "name": "marketorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2977, + "src": "1727:11:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + }, + "id": 3051, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "workerpool", + "nodeType": "MemberAccess", + "referencedDeclaration": 2823, + "src": "1727:22:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 3052, + "name": "_workerpool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2947, + "src": "1757:11:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1727:41:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 3054, + "nodeType": "ExpressionStatement", + "src": "1727:41:10" + }, + { + "expression": { + "argumentTypes": null, + "id": 3060, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3055, + "name": "marketorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2977, + "src": "1773:11:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + }, + "id": 3057, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "workerpoolOwner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2825, + "src": "1773:27:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3058, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "1803:3:10", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 3059, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1803:10:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1773:40:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 3061, + "nodeType": "ExpressionStatement", + "src": "1773:40:10" + } + ] + } + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3069, + "name": "m_orderCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2907, + "src": "1901:12:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3068, + "name": "MarketOrderCreated", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2918, + "src": "1882:18:10", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256)" + } + }, + "id": 3070, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1882:32:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3071, + "nodeType": "EmitStatement", + "src": "1877:37:10" + }, + { + "expression": { + "argumentTypes": null, + "id": 3072, + "name": "m_orderCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2907, + "src": "1925:12:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 2953, + "id": 3073, + "nodeType": "Return", + "src": "1918:19:10" + } + ] + }, + "documentation": "Market orders", + "id": 3075, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "createMarketOrder", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2950, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2939, + "name": "_direction", + "nodeType": "VariableDeclaration", + "scope": 3075, + "src": "823:44:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2809", + "typeString": "enum IexecLib.MarketOrderDirectionEnum" + }, + "typeName": { + "contractScope": null, + "id": 2938, + "name": "IexecLib.MarketOrderDirectionEnum", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2809, + "src": "823:33:10", + "typeDescriptions": { + "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2809", + "typeString": "enum IexecLib.MarketOrderDirectionEnum" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2941, + "name": "_category", + "nodeType": "VariableDeclaration", + "scope": 3075, + "src": "871:17:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2940, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "871:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2943, + "name": "_trust", + "nodeType": "VariableDeclaration", + "scope": 3075, + "src": "892:14:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2942, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "892:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2945, + "name": "_value", + "nodeType": "VariableDeclaration", + "scope": 3075, + "src": "910:14:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2944, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "910:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2947, + "name": "_workerpool", + "nodeType": "VariableDeclaration", + "scope": 3075, + "src": "928:19:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2946, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "928:7:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2949, + "name": "_volume", + "nodeType": "VariableDeclaration", + "scope": 3075, + "src": "951:15:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2948, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "951:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "819:148:10" + }, + "payable": false, + "returnParameters": { + "id": 2953, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2952, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 3075, + "src": "985:4:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2951, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "985:4:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "984:6:10" + }, + "scope": 3513, + "src": "793:1148:10", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 3141, + "nodeType": "Block", + "src": "2018:605:10", + "statements": [ + { + "assignments": [ + 3085 + ], + "declarations": [ + { + "constant": false, + "id": 3085, + "name": "marketorder", + "nodeType": "VariableDeclaration", + "scope": 3142, + "src": "2022:40:10", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + }, + "typeName": { + "contractScope": null, + "id": 3084, + "name": "IexecLib.MarketOrder", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2826, + "src": "2022:20:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 3089, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3086, + "name": "m_orderBook", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2911, + "src": "2065:11:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MarketOrder_$2826_storage_$", + "typeString": "mapping(uint256 => struct IexecLib.MarketOrder storage ref)" + } + }, + "id": 3088, + "indexExpression": { + "argumentTypes": null, + "id": 3087, + "name": "_marketorderIdx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3077, + "src": "2077:15:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2065:28:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2826_storage", + "typeString": "struct IexecLib.MarketOrder storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2022:71:10" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2809", + "typeString": "enum IexecLib.MarketOrderDirectionEnum" + }, + "id": 3095, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3090, + "name": "marketorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3085, + "src": "2101:11:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + }, + "id": 3091, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "direction", + "nodeType": "MemberAccess", + "referencedDeclaration": 2811, + "src": "2101:21:10", + "typeDescriptions": { + "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2809", + "typeString": "enum IexecLib.MarketOrderDirectionEnum" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3092, + "name": "IexecLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2893, + "src": "2126:8:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecLib_$2893_$", + "typeString": "type(library IexecLib)" + } + }, + "id": 3093, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "MarketOrderDirectionEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 2809, + "src": "2126:33:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_MarketOrderDirectionEnum_$2809_$", + "typeString": "type(enum IexecLib.MarketOrderDirectionEnum)" + } + }, + "id": 3094, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "ASK", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2126:37:10", + "typeDescriptions": { + "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2809", + "typeString": "enum IexecLib.MarketOrderDirectionEnum" + } + }, + "src": "2101:62:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 3125, + "nodeType": "Block", + "src": "2448:46:10", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 3122, + "name": "revert", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7012, + "src": "2481:6:10", + "typeDescriptions": { + "typeIdentifier": "t_function_revert_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 3123, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2481:8:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3124, + "nodeType": "ExpressionStatement", + "src": "2481:8:10" + } + ] + }, + "id": 3126, + "nodeType": "IfStatement", + "src": "2097:397:10", + "trueBody": { + "id": 3121, + "nodeType": "Block", + "src": "2167:271:10", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 3101, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3097, + "name": "marketorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3085, + "src": "2180:11:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + }, + "id": 3098, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "workerpoolOwner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2825, + "src": "2180:27:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3099, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "2211:3:10", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 3100, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2211:10:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "2180:41:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3096, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "2172:7:10", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3102, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2172:50:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3103, + "nodeType": "ExpressionStatement", + "src": "2172:50:10" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3107, + "name": "marketorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3085, + "src": "2268:11:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + }, + "id": 3108, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "workerpoolOwner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2825, + "src": "2268:27:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3115, + "name": "marketorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3085, + "src": "2347:11:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + }, + "id": 3116, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "remaining", + "nodeType": "MemberAccess", + "referencedDeclaration": 2821, + "src": "2347:21:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3112, + "name": "ASK_STAKE_RATIO", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2914, + "src": "2326:15:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3109, + "name": "marketorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3085, + "src": "2297:11:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + }, + "id": 3110, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": 2817, + "src": "2297:17:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3111, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "percentage", + "nodeType": "MemberAccess", + "referencedDeclaration": 3914, + "src": "2297:28:10", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 3113, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2297:45:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3114, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "mul", + "nodeType": "MemberAccess", + "referencedDeclaration": 3826, + "src": "2297:49:10", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 3117, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2297:72:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 3105, + "name": "iexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2441, + "src": "2235:17:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$2802", + "typeString": "contract IexecHubInterface" + } + }, + "id": 3106, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "unlockForOrder", + "nodeType": "MemberAccess", + "referencedDeclaration": 2694, + "src": "2235:32:10", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) external returns (bool)" + } + }, + "id": 3118, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2235:135:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3104, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "2227:7:10", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3119, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2227:144:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3120, + "nodeType": "ExpressionStatement", + "src": "2227:144:10" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "id": 3133, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3127, + "name": "marketorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3085, + "src": "2497:11:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + }, + "id": 3129, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "direction", + "nodeType": "MemberAccess", + "referencedDeclaration": 2811, + "src": "2497:21:10", + "typeDescriptions": { + "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2809", + "typeString": "enum IexecLib.MarketOrderDirectionEnum" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3130, + "name": "IexecLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2893, + "src": "2521:8:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecLib_$2893_$", + "typeString": "type(library IexecLib)" + } + }, + "id": 3131, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "MarketOrderDirectionEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 2809, + "src": "2521:33:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_MarketOrderDirectionEnum_$2809_$", + "typeString": "type(enum IexecLib.MarketOrderDirectionEnum)" + } + }, + "id": 3132, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "CLOSED", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2521:40:10", + "typeDescriptions": { + "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2809", + "typeString": "enum IexecLib.MarketOrderDirectionEnum" + } + }, + "src": "2497:64:10", + "typeDescriptions": { + "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2809", + "typeString": "enum IexecLib.MarketOrderDirectionEnum" + } + }, + "id": 3134, + "nodeType": "ExpressionStatement", + "src": "2497:64:10" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3136, + "name": "_marketorderIdx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3077, + "src": "2588:15:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3135, + "name": "MarketOrderClosed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2922, + "src": "2570:17:10", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256)" + } + }, + "id": 3137, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2570:34:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3138, + "nodeType": "EmitStatement", + "src": "2565:39:10" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 3139, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2615:4:10", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 3081, + "id": 3140, + "nodeType": "Return", + "src": "2608:11:10" + } + ] + }, + "documentation": null, + "id": 3142, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "closeMarketOrder", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3078, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3077, + "name": "_marketorderIdx", + "nodeType": "VariableDeclaration", + "scope": 3142, + "src": "1970:23:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3076, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1970:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1969:25:10" + }, + "payable": false, + "returnParameters": { + "id": 3081, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3080, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 3142, + "src": "2011:4:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 3079, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2011:4:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2010:6:10" + }, + "scope": 3513, + "src": "1944:679:10", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 3226, + "nodeType": "Block", + "src": "2801:561:10", + "statements": [ + { + "assignments": [ + 3158 + ], + "declarations": [ + { + "constant": false, + "id": 3158, + "name": "marketorder", + "nodeType": "VariableDeclaration", + "scope": 3227, + "src": "2805:40:10", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + }, + "typeName": { + "contractScope": null, + "id": 3157, + "name": "IexecLib.MarketOrder", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2826, + "src": "2805:20:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 3162, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3159, + "name": "m_orderBook", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2911, + "src": "2848:11:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MarketOrder_$2826_storage_$", + "typeString": "mapping(uint256 => struct IexecLib.MarketOrder storage ref)" + } + }, + "id": 3161, + "indexExpression": { + "argumentTypes": null, + "id": 3160, + "name": "_marketorderIdx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3144, + "src": "2860:15:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2848:28:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2826_storage", + "typeString": "struct IexecLib.MarketOrder storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2805:71:10" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2809", + "typeString": "enum IexecLib.MarketOrderDirectionEnum" + }, + "id": 3169, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3164, + "name": "marketorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3158, + "src": "2888:11:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + }, + "id": 3165, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "direction", + "nodeType": "MemberAccess", + "referencedDeclaration": 2811, + "src": "2888:21:10", + "typeDescriptions": { + "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2809", + "typeString": "enum IexecLib.MarketOrderDirectionEnum" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3166, + "name": "IexecLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2893, + "src": "2914:8:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecLib_$2893_$", + "typeString": "type(library IexecLib)" + } + }, + "id": 3167, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "MarketOrderDirectionEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 2809, + "src": "2914:33:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_MarketOrderDirectionEnum_$2809_$", + "typeString": "type(enum IexecLib.MarketOrderDirectionEnum)" + } + }, + "id": 3168, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "ASK", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2914:37:10", + "typeDescriptions": { + "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2809", + "typeString": "enum IexecLib.MarketOrderDirectionEnum" + } + }, + "src": "2888:63:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3163, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "2880:7:10", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3170, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2880:72:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3171, + "nodeType": "ExpressionStatement", + "src": "2880:72:10" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3176, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3173, + "name": "marketorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3158, + "src": "2964:11:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + }, + "id": 3174, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "remaining", + "nodeType": "MemberAccess", + "referencedDeclaration": 2821, + "src": "2964:21:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 3175, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2990:1:10", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "2964:27:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3172, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "2956:7:10", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3177, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2956:36:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3178, + "nodeType": "ExpressionStatement", + "src": "2956:36:10" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 3183, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3180, + "name": "marketorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3158, + "src": "3004:11:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + }, + "id": 3181, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "workerpool", + "nodeType": "MemberAccess", + "referencedDeclaration": 2823, + "src": "3004:22:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 3182, + "name": "_workerpool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3148, + "src": "3030:11:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "3004:37:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3179, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "2996:7:10", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3184, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2996:46:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3185, + "nodeType": "ExpressionStatement", + "src": "2996:46:10" + }, + { + "expression": { + "argumentTypes": null, + "id": 3194, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3186, + "name": "marketorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3158, + "src": "3047:11:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + }, + "id": 3188, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "remaining", + "nodeType": "MemberAccess", + "referencedDeclaration": 2821, + "src": "3047:21:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31", + "id": 3192, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3097:1:10", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3189, + "name": "marketorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3158, + "src": "3071:11:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + }, + "id": 3190, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "remaining", + "nodeType": "MemberAccess", + "referencedDeclaration": 2821, + "src": "3071:21:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3191, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 3793, + "src": "3071:25:10", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 3193, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3071:28:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3047:52:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3195, + "nodeType": "ExpressionStatement", + "src": "3047:52:10" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3199, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3196, + "name": "marketorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3158, + "src": "3107:11:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + }, + "id": 3197, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "remaining", + "nodeType": "MemberAccess", + "referencedDeclaration": 2821, + "src": "3107:21:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 3198, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3132:1:10", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "3107:26:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 3209, + "nodeType": "IfStatement", + "src": "3103:108:10", + "trueBody": { + "id": 3208, + "nodeType": "Block", + "src": "3137:74:10", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 3206, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3200, + "name": "marketorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3158, + "src": "3142:11:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + }, + "id": 3202, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "direction", + "nodeType": "MemberAccess", + "referencedDeclaration": 2811, + "src": "3142:21:10", + "typeDescriptions": { + "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2809", + "typeString": "enum IexecLib.MarketOrderDirectionEnum" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3203, + "name": "IexecLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2893, + "src": "3166:8:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecLib_$2893_$", + "typeString": "type(library IexecLib)" + } + }, + "id": 3204, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "MarketOrderDirectionEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 2809, + "src": "3166:33:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_MarketOrderDirectionEnum_$2809_$", + "typeString": "type(enum IexecLib.MarketOrderDirectionEnum)" + } + }, + "id": 3205, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "CLOSED", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3166:40:10", + "typeDescriptions": { + "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2809", + "typeString": "enum IexecLib.MarketOrderDirectionEnum" + } + }, + "src": "3142:64:10", + "typeDescriptions": { + "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2809", + "typeString": "enum IexecLib.MarketOrderDirectionEnum" + } + }, + "id": 3207, + "nodeType": "ExpressionStatement", + "src": "3142:64:10" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3213, + "name": "_requester", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3146, + "src": "3253:10:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3214, + "name": "marketorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3158, + "src": "3265:11:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + }, + "id": 3215, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": 2817, + "src": "3265:17:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 3211, + "name": "iexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2441, + "src": "3222:17:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$2802", + "typeString": "contract IexecHubInterface" + } + }, + "id": 3212, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "lockForOrder", + "nodeType": "MemberAccess", + "referencedDeclaration": 2685, + "src": "3222:30:10", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) external returns (bool)" + } + }, + "id": 3216, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3222:61:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3210, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "3214:7:10", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3217, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3214:70:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3218, + "nodeType": "ExpressionStatement", + "src": "3214:70:10" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3220, + "name": "_marketorderIdx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3144, + "src": "3315:15:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 3221, + "name": "_requester", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3146, + "src": "3332:10:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 3219, + "name": "MarketOrderAskConsume", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2928, + "src": "3293:21:10", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_address_$returns$__$", + "typeString": "function (uint256,address)" + } + }, + "id": 3222, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3293:50:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3223, + "nodeType": "EmitStatement", + "src": "3288:55:10" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 3224, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3354:4:10", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 3154, + "id": 3225, + "nodeType": "Return", + "src": "3347:11:10" + } + ] + }, + "documentation": "Assets consumption", + "id": 3227, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 3151, + "modifierName": { + "argumentTypes": null, + "id": 3150, + "name": "onlyIexecHub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2454, + "src": "2772:12:10", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "2772:12:10" + } + ], + "name": "consumeMarketOrderAsk", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3149, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3144, + "name": "_marketorderIdx", + "nodeType": "VariableDeclaration", + "scope": 3227, + "src": "2694:23:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3143, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2694:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3146, + "name": "_requester", + "nodeType": "VariableDeclaration", + "scope": 3227, + "src": "2721:18:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3145, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2721:7:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3148, + "name": "_workerpool", + "nodeType": "VariableDeclaration", + "scope": 3227, + "src": "2743:19:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3147, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2743:7:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2690:73:10" + }, + "payable": false, + "returnParameters": { + "id": 3154, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3153, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 3227, + "src": "2794:4:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 3152, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2794:4:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2793:6:10" + }, + "scope": 3513, + "src": "2660:702:10", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 3241, + "nodeType": "Block", + "src": "3465:56:10", + "statements": [ + { + "expression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3239, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3234, + "name": "m_orderBook", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2911, + "src": "3476:11:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MarketOrder_$2826_storage_$", + "typeString": "mapping(uint256 => struct IexecLib.MarketOrder storage ref)" + } + }, + "id": 3236, + "indexExpression": { + "argumentTypes": null, + "id": 3235, + "name": "_marketorderIdx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3229, + "src": "3488:15:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3476:28:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2826_storage", + "typeString": "struct IexecLib.MarketOrder storage ref" + } + }, + "id": 3237, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "category", + "nodeType": "MemberAccess", + "referencedDeclaration": 2813, + "src": "3476:37:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 3238, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3516:1:10", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "3476:41:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 3233, + "id": 3240, + "nodeType": "Return", + "src": "3469:48:10" + } + ] + }, + "documentation": null, + "id": 3242, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "existingMarketOrder", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3230, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3229, + "name": "_marketorderIdx", + "nodeType": "VariableDeclaration", + "scope": 3242, + "src": "3394:23:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3228, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3394:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3393:25:10" + }, + "payable": false, + "returnParameters": { + "id": 3233, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3232, + "name": "marketOrderExist", + "nodeType": "VariableDeclaration", + "scope": 3242, + "src": "3441:21:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 3231, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3441:4:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3440:23:10" + }, + "scope": 3513, + "src": "3365:156:10", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 3260, + "nodeType": "Block", + "src": "3629:126:10", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3251, + "name": "_marketorderIdx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3244, + "src": "3661:15:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3250, + "name": "existingMarketOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3242, + "src": "3641:19:10", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view returns (bool)" + } + }, + "id": 3252, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3641:36:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3249, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "3633:7:10", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3253, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3633:45:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3254, + "nodeType": "ExpressionStatement", + "src": "3633:45:10" + }, + { + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3255, + "name": "m_orderBook", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2911, + "src": "3717:11:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MarketOrder_$2826_storage_$", + "typeString": "mapping(uint256 => struct IexecLib.MarketOrder storage ref)" + } + }, + "id": 3257, + "indexExpression": { + "argumentTypes": null, + "id": 3256, + "name": "_marketorderIdx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3244, + "src": "3729:15:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3717:28:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2826_storage", + "typeString": "struct IexecLib.MarketOrder storage ref" + } + }, + "id": 3258, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": 2817, + "src": "3717:34:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 3248, + "id": 3259, + "nodeType": "Return", + "src": "3710:41:10" + } + ] + }, + "documentation": "Views", + "id": 3261, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getMarketOrderValue", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3245, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3244, + "name": "_marketorderIdx", + "nodeType": "VariableDeclaration", + "scope": 3261, + "src": "3573:23:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3243, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3573:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3572:25:10" + }, + "payable": false, + "returnParameters": { + "id": 3248, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3247, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 3261, + "src": "3619:7:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3246, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3619:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3618:9:10" + }, + "scope": 3513, + "src": "3544:211:10", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 3279, + "nodeType": "Block", + "src": "3852:136:10", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3270, + "name": "_marketorderIdx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3263, + "src": "3884:15:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3269, + "name": "existingMarketOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3242, + "src": "3864:19:10", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view returns (bool)" + } + }, + "id": 3271, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3864:36:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3268, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "3856:7:10", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3272, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3856:45:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3273, + "nodeType": "ExpressionStatement", + "src": "3856:45:10" + }, + { + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3274, + "name": "m_orderBook", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2911, + "src": "3940:11:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MarketOrder_$2826_storage_$", + "typeString": "mapping(uint256 => struct IexecLib.MarketOrder storage ref)" + } + }, + "id": 3276, + "indexExpression": { + "argumentTypes": null, + "id": 3275, + "name": "_marketorderIdx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3263, + "src": "3952:15:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3940:28:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2826_storage", + "typeString": "struct IexecLib.MarketOrder storage ref" + } + }, + "id": 3277, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "workerpoolOwner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2825, + "src": "3940:44:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 3267, + "id": 3278, + "nodeType": "Return", + "src": "3933:51:10" + } + ] + }, + "documentation": null, + "id": 3280, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getMarketOrderWorkerpoolOwner", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3264, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3263, + "name": "_marketorderIdx", + "nodeType": "VariableDeclaration", + "scope": 3280, + "src": "3796:23:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3262, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3796:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3795:25:10" + }, + "payable": false, + "returnParameters": { + "id": 3267, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3266, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 3280, + "src": "3842:7:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3265, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3842:7:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3841:9:10" + }, + "scope": 3513, + "src": "3757:231:10", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 3298, + "nodeType": "Block", + "src": "4078:129:10", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3289, + "name": "_marketorderIdx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3282, + "src": "4110:15:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3288, + "name": "existingMarketOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3242, + "src": "4090:19:10", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view returns (bool)" + } + }, + "id": 3290, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4090:36:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3287, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "4082:7:10", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3291, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4082:45:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3292, + "nodeType": "ExpressionStatement", + "src": "4082:45:10" + }, + { + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3293, + "name": "m_orderBook", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2911, + "src": "4166:11:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MarketOrder_$2826_storage_$", + "typeString": "mapping(uint256 => struct IexecLib.MarketOrder storage ref)" + } + }, + "id": 3295, + "indexExpression": { + "argumentTypes": null, + "id": 3294, + "name": "_marketorderIdx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3282, + "src": "4178:15:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4166:28:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2826_storage", + "typeString": "struct IexecLib.MarketOrder storage ref" + } + }, + "id": 3296, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "category", + "nodeType": "MemberAccess", + "referencedDeclaration": 2813, + "src": "4166:37:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 3286, + "id": 3297, + "nodeType": "Return", + "src": "4159:44:10" + } + ] + }, + "documentation": null, + "id": 3299, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getMarketOrderCategory", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3283, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3282, + "name": "_marketorderIdx", + "nodeType": "VariableDeclaration", + "scope": 3299, + "src": "4022:23:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3281, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4022:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4021:25:10" + }, + "payable": false, + "returnParameters": { + "id": 3286, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3285, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 3299, + "src": "4068:7:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3284, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4068:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4067:9:10" + }, + "scope": 3513, + "src": "3990:217:10", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 3317, + "nodeType": "Block", + "src": "4294:126:10", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3308, + "name": "_marketorderIdx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3301, + "src": "4326:15:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3307, + "name": "existingMarketOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3242, + "src": "4306:19:10", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view returns (bool)" + } + }, + "id": 3309, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4306:36:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3306, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "4298:7:10", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3310, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4298:45:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3311, + "nodeType": "ExpressionStatement", + "src": "4298:45:10" + }, + { + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3312, + "name": "m_orderBook", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2911, + "src": "4382:11:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MarketOrder_$2826_storage_$", + "typeString": "mapping(uint256 => struct IexecLib.MarketOrder storage ref)" + } + }, + "id": 3314, + "indexExpression": { + "argumentTypes": null, + "id": 3313, + "name": "_marketorderIdx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3301, + "src": "4394:15:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4382:28:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2826_storage", + "typeString": "struct IexecLib.MarketOrder storage ref" + } + }, + "id": 3315, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "trust", + "nodeType": "MemberAccess", + "referencedDeclaration": 2815, + "src": "4382:34:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 3305, + "id": 3316, + "nodeType": "Return", + "src": "4375:41:10" + } + ] + }, + "documentation": null, + "id": 3318, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getMarketOrderTrust", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3302, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3301, + "name": "_marketorderIdx", + "nodeType": "VariableDeclaration", + "scope": 3318, + "src": "4238:23:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3300, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4238:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4237:25:10" + }, + "payable": false, + "returnParameters": { + "id": 3305, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3304, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 3318, + "src": "4284:7:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3303, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4284:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4283:9:10" + }, + "scope": 3513, + "src": "4209:211:10", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 3371, + "nodeType": "Block", + "src": "4862:374:10", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3341, + "name": "_marketorderIdx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3320, + "src": "4894:15:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3340, + "name": "existingMarketOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3242, + "src": "4874:19:10", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view returns (bool)" + } + }, + "id": 3342, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4874:36:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3339, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "4866:7:10", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3343, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4866:45:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3344, + "nodeType": "ExpressionStatement", + "src": "4866:45:10" + }, + { + "assignments": [ + 3348 + ], + "declarations": [ + { + "constant": false, + "id": 3348, + "name": "marketorder", + "nodeType": "VariableDeclaration", + "scope": 3372, + "src": "4943:40:10", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + }, + "typeName": { + "contractScope": null, + "id": 3347, + "name": "IexecLib.MarketOrder", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2826, + "src": "4943:20:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 3352, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3349, + "name": "m_orderBook", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2911, + "src": "4986:11:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MarketOrder_$2826_storage_$", + "typeString": "mapping(uint256 => struct IexecLib.MarketOrder storage ref)" + } + }, + "id": 3351, + "indexExpression": { + "argumentTypes": null, + "id": 3350, + "name": "_marketorderIdx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3320, + "src": "4998:15:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4986:28:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2826_storage", + "typeString": "struct IexecLib.MarketOrder storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4943:71:10" + }, + { + "expression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3353, + "name": "marketorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3348, + "src": "5030:11:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + }, + "id": 3354, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "direction", + "nodeType": "MemberAccess", + "referencedDeclaration": 2811, + "src": "5030:21:10", + "typeDescriptions": { + "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2809", + "typeString": "enum IexecLib.MarketOrderDirectionEnum" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3355, + "name": "marketorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3348, + "src": "5056:11:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + }, + "id": 3356, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "category", + "nodeType": "MemberAccess", + "referencedDeclaration": 2813, + "src": "5056:20:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3357, + "name": "marketorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3348, + "src": "5081:11:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + }, + "id": 3358, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "trust", + "nodeType": "MemberAccess", + "referencedDeclaration": 2815, + "src": "5081:17:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3359, + "name": "marketorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3348, + "src": "5103:11:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + }, + "id": 3360, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": 2817, + "src": "5103:17:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3361, + "name": "marketorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3348, + "src": "5125:11:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + }, + "id": 3362, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "volume", + "nodeType": "MemberAccess", + "referencedDeclaration": 2819, + "src": "5125:18:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3363, + "name": "marketorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3348, + "src": "5148:11:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + }, + "id": 3364, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "remaining", + "nodeType": "MemberAccess", + "referencedDeclaration": 2821, + "src": "5148:21:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3365, + "name": "marketorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3348, + "src": "5174:11:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + }, + "id": 3366, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "workerpool", + "nodeType": "MemberAccess", + "referencedDeclaration": 2823, + "src": "5174:22:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3367, + "name": "marketorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3348, + "src": "5201:11:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + }, + "id": 3368, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "workerpoolOwner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2825, + "src": "5201:27:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 3369, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "5025:207:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_enum$_MarketOrderDirectionEnum_$2809_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$_t_address_$", + "typeString": "tuple(enum IexecLib.MarketOrderDirectionEnum,uint256,uint256,uint256,uint256,uint256,address,address)" + } + }, + "functionReturnParameters": 3338, + "id": 3370, + "nodeType": "Return", + "src": "5018:214:10" + } + ] + }, + "documentation": null, + "id": 3372, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getMarketOrder", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3321, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3320, + "name": "_marketorderIdx", + "nodeType": "VariableDeclaration", + "scope": 3372, + "src": "4446:23:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3319, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4446:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4445:25:10" + }, + "payable": false, + "returnParameters": { + "id": 3338, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3323, + "name": "direction", + "nodeType": "VariableDeclaration", + "scope": 3372, + "src": "4496:43:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2809", + "typeString": "enum IexecLib.MarketOrderDirectionEnum" + }, + "typeName": { + "contractScope": null, + "id": 3322, + "name": "IexecLib.MarketOrderDirectionEnum", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2809, + "src": "4496:33:10", + "typeDescriptions": { + "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2809", + "typeString": "enum IexecLib.MarketOrderDirectionEnum" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3325, + "name": "category", + "nodeType": "VariableDeclaration", + "scope": 3372, + "src": "4543:16:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3324, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4543:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3327, + "name": "trust", + "nodeType": "VariableDeclaration", + "scope": 3372, + "src": "4590:13:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3326, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4590:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3329, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 3372, + "src": "4628:13:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3328, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4628:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3331, + "name": "volume", + "nodeType": "VariableDeclaration", + "scope": 3372, + "src": "4674:14:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3330, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4674:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3333, + "name": "remaining", + "nodeType": "VariableDeclaration", + "scope": 3372, + "src": "4733:17:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3332, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4733:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3335, + "name": "workerpool", + "nodeType": "VariableDeclaration", + "scope": 3372, + "src": "4782:18:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3334, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4782:7:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3337, + "name": "workerpoolOwner", + "nodeType": "VariableDeclaration", + "scope": 3372, + "src": "4836:23:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3336, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4836:7:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4492:368:10" + }, + "scope": 3513, + "src": "4422:814:10", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "anonymous": false, + "documentation": "Callback Proof managment", + "id": 3390, + "name": "WorkOrderCallbackProof", + "nodeType": "EventDefinition", + "parameters": { + "id": 3389, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3374, + "indexed": true, + "name": "woid", + "nodeType": "VariableDeclaration", + "scope": 3390, + "src": "5308:20:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3373, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5308:7:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3376, + "indexed": false, + "name": "requester", + "nodeType": "VariableDeclaration", + "scope": 3390, + "src": "5330:17:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3375, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5330:7:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3378, + "indexed": false, + "name": "beneficiary", + "nodeType": "VariableDeclaration", + "scope": 3390, + "src": "5349:19:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3377, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5349:7:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3380, + "indexed": true, + "name": "callbackTo", + "nodeType": "VariableDeclaration", + "scope": 3390, + "src": "5369:26:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3379, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5369:7:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3382, + "indexed": true, + "name": "gasCallbackProvider", + "nodeType": "VariableDeclaration", + "scope": 3390, + "src": "5397:35:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3381, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5397:7:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3384, + "indexed": false, + "name": "stdout", + "nodeType": "VariableDeclaration", + "scope": 3390, + "src": "5433:13:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 3383, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "5433:6:10", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3386, + "indexed": false, + "name": "stderr", + "nodeType": "VariableDeclaration", + "scope": 3390, + "src": "5448:13:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 3385, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "5448:6:10", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3388, + "indexed": false, + "name": "uri", + "nodeType": "VariableDeclaration", + "scope": 3390, + "src": "5464:10:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 3387, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "5464:6:10", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5307:168:10" + }, + "src": "5279:197:10" + }, + { + "constant": false, + "id": 3394, + "name": "m_callbackDone", + "nodeType": "VariableDeclaration", + "scope": 3513, + "src": "5510:39:10", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + }, + "typeName": { + "id": 3393, + "keyType": { + "id": 3391, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5518:7:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "5510:24:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + }, + "valueType": { + "id": 3392, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "5529:4:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + }, + "value": null, + "visibility": "internal" + }, + { + "body": { + "id": 3405, + "nodeType": "Block", + "src": "5636:38:10", + "statements": [ + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3401, + "name": "m_callbackDone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3394, + "src": "5648:14:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 3403, + "indexExpression": { + "argumentTypes": null, + "id": 3402, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3396, + "src": "5663:5:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5648:21:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 3400, + "id": 3404, + "nodeType": "Return", + "src": "5641:28:10" + } + ] + }, + "documentation": null, + "id": 3406, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "isCallbackDone", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3397, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3396, + "name": "_woid", + "nodeType": "VariableDeclaration", + "scope": 3406, + "src": "5578:13:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3395, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5578:7:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5577:15:10" + }, + "payable": false, + "returnParameters": { + "id": 3400, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3399, + "name": "callbackDone", + "nodeType": "VariableDeclaration", + "scope": 3406, + "src": "5615:17:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 3398, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "5615:4:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5614:19:10" + }, + "scope": 3513, + "src": "5554:120:10", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 3511, + "nodeType": "Block", + "src": "5773:655:10", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3420, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3408, + "src": "5820:5:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 3418, + "name": "iexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2441, + "src": "5786:17:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$2802", + "typeString": "contract IexecHubInterface" + } + }, + "id": 3419, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "isWoidRegistred", + "nodeType": "MemberAccess", + "referencedDeclaration": 2570, + "src": "5786:33:10", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_bool_$", + "typeString": "function (address) view external returns (bool)" + } + }, + "id": 3421, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5786:40:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3417, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "5778:7:10", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3422, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5778:49:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3423, + "nodeType": "ExpressionStatement", + "src": "5778:49:10" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3428, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "5840:22:10", + "subExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3426, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3408, + "src": "5856:5:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 3425, + "name": "isCallbackDone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3406, + "src": "5841:14:10", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", + "typeString": "function (address) view returns (bool)" + } + }, + "id": 3427, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5841:21:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3424, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "5832:7:10", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3429, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5832:31:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3430, + "nodeType": "ExpressionStatement", + "src": "5832:31:10" + }, + { + "expression": { + "argumentTypes": null, + "id": 3435, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3431, + "name": "m_callbackDone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3394, + "src": "5868:14:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 3433, + "indexExpression": { + "argumentTypes": null, + "id": 3432, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3408, + "src": "5883:5:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "5868:21:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 3434, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5892:4:10", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "5868:28:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 3436, + "nodeType": "ExpressionStatement", + "src": "5868:28:10" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + }, + "id": 3446, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3439, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3408, + "src": "5919:5:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 3438, + "name": "WorkOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4299, + "src": "5909:9:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_WorkOrder_$4299_$", + "typeString": "type(contract WorkOrder)" + } + }, + "id": 3440, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5909:16:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4299", + "typeString": "contract WorkOrder" + } + }, + "id": 3441, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_status", + "nodeType": "MemberAccess", + "referencedDeclaration": 4040, + "src": "5909:25:10", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_enum$_WorkOrderStatusEnum_$2832_$", + "typeString": "function () view external returns (enum IexecLib.WorkOrderStatusEnum)" + } + }, + "id": 3442, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5909:27:10", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3443, + "name": "IexecLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2893, + "src": "5940:8:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecLib_$2893_$", + "typeString": "type(library IexecLib)" + } + }, + "id": 3444, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "WorkOrderStatusEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 2832, + "src": "5940:28:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_WorkOrderStatusEnum_$2832_$", + "typeString": "type(enum IexecLib.WorkOrderStatusEnum)" + } + }, + "id": 3445, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "COMPLETED", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "5940:38:10", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "src": "5909:69:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3437, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "5901:7:10", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3447, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5901:78:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3448, + "nodeType": "ExpressionStatement", + "src": "5901:78:10" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 3460, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3451, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3408, + "src": "6002:5:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 3450, + "name": "WorkOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4299, + "src": "5992:9:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_WorkOrder_$4299_$", + "typeString": "type(contract WorkOrder)" + } + }, + "id": 3452, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5992:16:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4299", + "typeString": "contract WorkOrder" + } + }, + "id": 3453, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_resultCallbackProof", + "nodeType": "MemberAccess", + "referencedDeclaration": 4060, + "src": "5992:38:10", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", + "typeString": "function () view external returns (bytes32)" + } + }, + "id": 3454, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5992:40:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3456, + "name": "_stdout", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3410, + "src": "6046:7:10", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "id": 3457, + "name": "_stderr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3412, + "src": "6054:7:10", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "id": 3458, + "name": "_uri", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3414, + "src": "6062:4:10", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 3455, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7002, + "src": "6036:9:10", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 3459, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6036:31:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "5992:75:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3449, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "5984:7:10", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3461, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5984:84:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3462, + "nodeType": "ExpressionStatement", + "src": "5984:84:10" + }, + { + "assignments": [ + 3464 + ], + "declarations": [ + { + "constant": false, + "id": 3464, + "name": "callbackTo", + "nodeType": "VariableDeclaration", + "scope": 3512, + "src": "6073:18:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3463, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6073:7:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 3470, + "initialValue": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3466, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3408, + "src": "6103:5:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 3465, + "name": "WorkOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4299, + "src": "6093:9:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_WorkOrder_$4299_$", + "typeString": "type(contract WorkOrder)" + } + }, + "id": 3467, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6093:16:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4299", + "typeString": "contract WorkOrder" + } + }, + "id": 3468, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_callback", + "nodeType": "MemberAccess", + "referencedDeclaration": 4056, + "src": "6093:27:10", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + "id": 3469, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6093:29:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6073:49:10" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 3476, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3472, + "name": "callbackTo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3464, + "src": "6135:10:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 3474, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6157:1:10", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 3473, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "6149:7:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 3475, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6149:10:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "6135:24:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3471, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "6127:7:10", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3477, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6127:33:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3478, + "nodeType": "ExpressionStatement", + "src": "6127:33:10" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3484, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3408, + "src": "6231:5:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 3485, + "name": "_stdout", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3410, + "src": "6242:7:10", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "id": 3486, + "name": "_stderr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3412, + "src": "6255:7:10", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "id": 3487, + "name": "_uri", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3414, + "src": "6268:4:10", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3481, + "name": "callbackTo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3464, + "src": "6196:10:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 3480, + "name": "IexecCallbackInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 724, + "src": "6173:22:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecCallbackInterface_$724_$", + "typeString": "type(contract IexecCallbackInterface)" + } + }, + "id": 3482, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6173:34:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecCallbackInterface_$724", + "typeString": "contract IexecCallbackInterface" + } + }, + "id": 3483, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "workOrderCallback", + "nodeType": "MemberAccess", + "referencedDeclaration": 713, + "src": "6173:52:10", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$", + "typeString": "function (address,string memory,string memory,string memory) external returns (bool)" + } + }, + "id": 3488, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6173:104:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3479, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "6165:7:10", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3489, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6165:113:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3490, + "nodeType": "ExpressionStatement", + "src": "6165:113:10" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3492, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3408, + "src": "6311:5:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3494, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3408, + "src": "6327:5:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 3493, + "name": "WorkOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4299, + "src": "6317:9:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_WorkOrder_$4299_$", + "typeString": "type(contract WorkOrder)" + } + }, + "id": 3495, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6317:16:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4299", + "typeString": "contract WorkOrder" + } + }, + "id": 3496, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_requester", + "nodeType": "MemberAccess", + "referencedDeclaration": 4050, + "src": "6317:28:10", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + "id": 3497, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6317:30:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3499, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3408, + "src": "6358:5:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 3498, + "name": "WorkOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4299, + "src": "6348:9:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_WorkOrder_$4299_$", + "typeString": "type(contract WorkOrder)" + } + }, + "id": 3500, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6348:16:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4299", + "typeString": "contract WorkOrder" + } + }, + "id": 3501, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_beneficiary", + "nodeType": "MemberAccess", + "referencedDeclaration": 4058, + "src": "6348:30:10", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + "id": 3502, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6348:32:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 3503, + "name": "callbackTo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3464, + "src": "6381:10:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3504, + "name": "tx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7018, + "src": "6392:2:10", + "typeDescriptions": { + "typeIdentifier": "t_magic_transaction", + "typeString": "tx" + } + }, + "id": 3505, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "origin", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "6392:9:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 3506, + "name": "_stdout", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3410, + "src": "6402:7:10", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "id": 3507, + "name": "_stderr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3412, + "src": "6410:7:10", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "id": 3508, + "name": "_uri", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3414, + "src": "6418:4:10", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 3491, + "name": "WorkOrderCallbackProof", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3390, + "src": "6288:22:10", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_address_$_t_address_$_t_address_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (address,address,address,address,address,string memory,string memory,string memory)" + } + }, + "id": 3509, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6288:135:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3510, + "nodeType": "EmitStatement", + "src": "6283:140:10" + } + ] + }, + "documentation": null, + "id": 3512, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "workOrderCallback", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3415, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3408, + "name": "_woid", + "nodeType": "VariableDeclaration", + "scope": 3512, + "src": "5705:13:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3407, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5705:7:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3410, + "name": "_stdout", + "nodeType": "VariableDeclaration", + "scope": 3512, + "src": "5719:14:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 3409, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "5719:6:10", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3412, + "name": "_stderr", + "nodeType": "VariableDeclaration", + "scope": 3512, + "src": "5735:14:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 3411, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "5735:6:10", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3414, + "name": "_uri", + "nodeType": "VariableDeclaration", + "scope": 3512, + "src": "5751:11:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 3413, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "5751:6:10", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5704:59:10" + }, + "payable": false, + "returnParameters": { + "id": 3416, + "nodeType": "ParameterList", + "parameters": [], + "src": "5773:0:10" + }, + "scope": 3513, + "src": "5678:750:10", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 3514, + "src": "177:6254:10" + } + ], + "src": "0:6432:10" + }, + "legacyAST": { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/Marketplace.sol", + "exportedSymbols": { + "Marketplace": [ + 3513 + ] + }, + "id": 3514, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 2895, + "literals": [ + "solidity", + "^", + "0.4", + ".21" + ], + "nodeType": "PragmaDirective", + "src": "0:24:10" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/IexecLib.sol", + "file": "./IexecLib.sol", + "id": 2896, + "nodeType": "ImportDirective", + "scope": 3514, + "sourceUnit": 2894, + "src": "25:24:10", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/IexecHubAccessor.sol", + "file": "./IexecHubAccessor.sol", + "id": 2897, + "nodeType": "ImportDirective", + "scope": 3514, + "sourceUnit": 2476, + "src": "50:32:10", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/WorkerPool.sol", + "file": "./WorkerPool.sol", + "id": 2898, + "nodeType": "ImportDirective", + "scope": 3514, + "sourceUnit": 6098, + "src": "83:26:10", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/SafeMathOZ.sol", + "file": "./SafeMathOZ.sol", + "id": 2899, + "nodeType": "ImportDirective", + "scope": 3514, + "sourceUnit": 3925, + "src": "110:26:10", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/IexecCallbackInterface.sol", + "file": "./IexecCallbackInterface.sol", + "id": 2900, + "nodeType": "ImportDirective", + "scope": 3514, + "sourceUnit": 725, + "src": "137:38:10", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": [], + "baseName": { + "contractScope": null, + "id": 2901, + "name": "IexecHubAccessor", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2475, + "src": "201:16:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubAccessor_$2475", + "typeString": "contract IexecHubAccessor" + } + }, + "id": 2902, + "nodeType": "InheritanceSpecifier", + "src": "201:16:10" + } + ], + "contractDependencies": [ + 2475 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 3513, + "linearizedBaseContracts": [ + 3513, + 2475 + ], + "name": "Marketplace", + "nodeType": "ContractDefinition", + "nodes": [ + { + "id": 2905, + "libraryName": { + "contractScope": null, + "id": 2903, + "name": "SafeMathOZ", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 3924, + "src": "227:10:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_SafeMathOZ_$3924", + "typeString": "library SafeMathOZ" + } + }, + "nodeType": "UsingForDirective", + "src": "221:29:10", + "typeName": { + "id": 2904, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "242:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + { + "constant": false, + "id": 2907, + "name": "m_orderCount", + "nodeType": "VariableDeclaration", + "scope": 3513, + "src": "279:56:10", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2906, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "279:4:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 2911, + "name": "m_orderBook", + "nodeType": "VariableDeclaration", + "scope": 3513, + "src": "338:55:10", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MarketOrder_$2826_storage_$", + "typeString": "mapping(uint256 => struct IexecLib.MarketOrder storage ref)" + }, + "typeName": { + "id": 2910, + "keyType": { + "id": 2908, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "346:4:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Mapping", + "src": "338:36:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MarketOrder_$2826_storage_$", + "typeString": "mapping(uint256 => struct IexecLib.MarketOrder storage ref)" + }, + "valueType": { + "contractScope": null, + "id": 2909, + "name": "IexecLib.MarketOrder", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2826, + "src": "353:20:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": true, + "id": 2914, + "name": "ASK_STAKE_RATIO", + "nodeType": "VariableDeclaration", + "scope": 3513, + "src": "397:45:10", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2912, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "397:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "3330", + "id": 2913, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "440:2:10", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_30_by_1", + "typeString": "int_const 30" + }, + "value": "30" + }, + "visibility": "public" + }, + { + "anonymous": false, + "documentation": "Events", + "id": 2918, + "name": "MarketOrderCreated", + "nodeType": "EventDefinition", + "parameters": { + "id": 2917, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2916, + "indexed": false, + "name": "marketorderIdx", + "nodeType": "VariableDeclaration", + "scope": 2918, + "src": "495:19:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2915, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "495:4:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "494:21:10" + }, + "src": "467:49:10" + }, + { + "anonymous": false, + "documentation": null, + "id": 2922, + "name": "MarketOrderClosed", + "nodeType": "EventDefinition", + "parameters": { + "id": 2921, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2920, + "indexed": false, + "name": "marketorderIdx", + "nodeType": "VariableDeclaration", + "scope": 2922, + "src": "546:19:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2919, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "546:4:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "545:21:10" + }, + "src": "518:49:10" + }, + { + "anonymous": false, + "documentation": null, + "id": 2928, + "name": "MarketOrderAskConsume", + "nodeType": "EventDefinition", + "parameters": { + "id": 2927, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2924, + "indexed": false, + "name": "marketorderIdx", + "nodeType": "VariableDeclaration", + "scope": 2928, + "src": "597:19:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2923, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "597:4:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2926, + "indexed": false, + "name": "requester", + "nodeType": "VariableDeclaration", + "scope": 2928, + "src": "618:17:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2925, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "618:7:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "596:40:10" + }, + "src": "569:68:10" + }, + { + "body": { + "id": 2936, + "nodeType": "Block", + "src": "758:4:10", + "statements": [] + }, + "documentation": "Constructor", + "id": 2937, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "id": 2933, + "name": "_iexecHubAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2930, + "src": "731:16:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 2934, + "modifierName": { + "argumentTypes": null, + "id": 2932, + "name": "IexecHubAccessor", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2475, + "src": "714:16:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecHubAccessor_$2475_$", + "typeString": "type(contract IexecHubAccessor)" + } + }, + "nodeType": "ModifierInvocation", + "src": "714:34:10" + } + ], + "name": "Marketplace", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2931, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2930, + "name": "_iexecHubAddress", + "nodeType": "VariableDeclaration", + "scope": 2937, + "src": "687:24:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2929, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "687:7:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "686:26:10" + }, + "payable": false, + "returnParameters": { + "id": 2935, + "nodeType": "ParameterList", + "parameters": [], + "src": "758:0:10" + }, + "scope": 3513, + "src": "666:96:10", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 3074, + "nodeType": "Block", + "src": "992:949:10", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2957, + "name": "_category", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2941, + "src": "1039:9:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 2955, + "name": "iexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2441, + "src": "1004:17:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$2802", + "typeString": "contract IexecHubInterface" + } + }, + "id": 2956, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "existingCategory", + "nodeType": "MemberAccess", + "referencedDeclaration": 2617, + "src": "1004:34:10", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view external returns (bool)" + } + }, + "id": 2958, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1004:45:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2954, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "996:7:10", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2959, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "996:54:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2960, + "nodeType": "ExpressionStatement", + "src": "996:54:10" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2964, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 2962, + "name": "_volume", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2949, + "src": "1062:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 2963, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1071:1:10", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "1062:10:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2961, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "1054:7:10", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2965, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1054:19:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2966, + "nodeType": "ExpressionStatement", + "src": "1054:19:10" + }, + { + "expression": { + "argumentTypes": null, + "id": 2972, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 2967, + "name": "m_orderCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2907, + "src": "1077:12:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31", + "id": 2970, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1109:1:10", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "expression": { + "argumentTypes": null, + "id": 2968, + "name": "m_orderCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2907, + "src": "1092:12:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2969, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 3773, + "src": "1092:16:10", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 2971, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1092:19:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1077:34:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2973, + "nodeType": "ExpressionStatement", + "src": "1077:34:10" + }, + { + "assignments": [ + 2977 + ], + "declarations": [ + { + "constant": false, + "id": 2977, + "name": "marketorder", + "nodeType": "VariableDeclaration", + "scope": 3075, + "src": "1115:40:10", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + }, + "typeName": { + "contractScope": null, + "id": 2976, + "name": "IexecLib.MarketOrder", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2826, + "src": "1115:20:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 2981, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2978, + "name": "m_orderBook", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2911, + "src": "1161:11:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MarketOrder_$2826_storage_$", + "typeString": "mapping(uint256 => struct IexecLib.MarketOrder storage ref)" + } + }, + "id": 2980, + "indexExpression": { + "argumentTypes": null, + "id": 2979, + "name": "m_orderCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2907, + "src": "1173:12:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1161:25:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2826_storage", + "typeString": "struct IexecLib.MarketOrder storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1115:71:10" + }, + { + "expression": { + "argumentTypes": null, + "id": 2986, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2982, + "name": "marketorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2977, + "src": "1190:11:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + }, + "id": 2984, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "direction", + "nodeType": "MemberAccess", + "referencedDeclaration": 2811, + "src": "1190:21:10", + "typeDescriptions": { + "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2809", + "typeString": "enum IexecLib.MarketOrderDirectionEnum" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 2985, + "name": "_direction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2939, + "src": "1219:10:10", + "typeDescriptions": { + "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2809", + "typeString": "enum IexecLib.MarketOrderDirectionEnum" + } + }, + "src": "1190:39:10", + "typeDescriptions": { + "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2809", + "typeString": "enum IexecLib.MarketOrderDirectionEnum" + } + }, + "id": 2987, + "nodeType": "ExpressionStatement", + "src": "1190:39:10" + }, + { + "expression": { + "argumentTypes": null, + "id": 2992, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2988, + "name": "marketorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2977, + "src": "1233:11:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + }, + "id": 2990, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "category", + "nodeType": "MemberAccess", + "referencedDeclaration": 2813, + "src": "1233:20:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 2991, + "name": "_category", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2941, + "src": "1262:9:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1233:38:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2993, + "nodeType": "ExpressionStatement", + "src": "1233:38:10" + }, + { + "expression": { + "argumentTypes": null, + "id": 2998, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2994, + "name": "marketorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2977, + "src": "1275:11:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + }, + "id": 2996, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "trust", + "nodeType": "MemberAccess", + "referencedDeclaration": 2815, + "src": "1275:17:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 2997, + "name": "_trust", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2943, + "src": "1304:6:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1275:35:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2999, + "nodeType": "ExpressionStatement", + "src": "1275:35:10" + }, + { + "expression": { + "argumentTypes": null, + "id": 3004, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3000, + "name": "marketorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2977, + "src": "1314:11:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + }, + "id": 3002, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": 2817, + "src": "1314:17:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 3003, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2945, + "src": "1343:6:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1314:35:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3005, + "nodeType": "ExpressionStatement", + "src": "1314:35:10" + }, + { + "expression": { + "argumentTypes": null, + "id": 3010, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3006, + "name": "marketorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2977, + "src": "1353:11:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + }, + "id": 3008, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "volume", + "nodeType": "MemberAccess", + "referencedDeclaration": 2819, + "src": "1353:18:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 3009, + "name": "_volume", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2949, + "src": "1382:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1353:36:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3011, + "nodeType": "ExpressionStatement", + "src": "1353:36:10" + }, + { + "expression": { + "argumentTypes": null, + "id": 3016, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3012, + "name": "marketorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2977, + "src": "1393:11:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + }, + "id": 3014, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "remaining", + "nodeType": "MemberAccess", + "referencedDeclaration": 2821, + "src": "1393:21:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 3015, + "name": "_volume", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2949, + "src": "1422:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1393:36:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3017, + "nodeType": "ExpressionStatement", + "src": "1393:36:10" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2809", + "typeString": "enum IexecLib.MarketOrderDirectionEnum" + }, + "id": 3022, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3018, + "name": "_direction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2939, + "src": "1438:10:10", + "typeDescriptions": { + "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2809", + "typeString": "enum IexecLib.MarketOrderDirectionEnum" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3019, + "name": "IexecLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2893, + "src": "1452:8:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecLib_$2893_$", + "typeString": "type(library IexecLib)" + } + }, + "id": 3020, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "MarketOrderDirectionEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 2809, + "src": "1452:33:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_MarketOrderDirectionEnum_$2809_$", + "typeString": "type(enum IexecLib.MarketOrderDirectionEnum)" + } + }, + "id": 3021, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "ASK", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1452:37:10", + "typeDescriptions": { + "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2809", + "typeString": "enum IexecLib.MarketOrderDirectionEnum" + } + }, + "src": "1438:51:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 3066, + "nodeType": "Block", + "src": "1828:46:10", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 3063, + "name": "revert", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7012, + "src": "1861:6:10", + "typeDescriptions": { + "typeIdentifier": "t_function_revert_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 3064, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1861:8:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3065, + "nodeType": "ExpressionStatement", + "src": "1861:8:10" + } + ] + }, + "id": 3067, + "nodeType": "IfStatement", + "src": "1434:440:10", + "trueBody": { + "id": 3062, + "nodeType": "Block", + "src": "1493:325:10", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 3031, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3025, + "name": "_workerpool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2947, + "src": "1517:11:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 3024, + "name": "WorkerPool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6097, + "src": "1506:10:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_WorkerPool_$6097_$", + "typeString": "type(contract WorkerPool)" + } + }, + "id": 3026, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1506:23:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkerPool_$6097", + "typeString": "contract WorkerPool" + } + }, + "id": 3027, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 3681, + "src": "1506:31:10", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + "id": 3028, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1506:33:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3029, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "1543:3:10", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 3030, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1543:10:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1506:47:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3023, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "1498:7:10", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3032, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1498:56:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3033, + "nodeType": "ExpressionStatement", + "src": "1498:56:10" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3037, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "1599:3:10", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 3038, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1599:10:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3044, + "name": "_volume", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2949, + "src": "1650:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3041, + "name": "ASK_STAKE_RATIO", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2914, + "src": "1629:15:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 3039, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2945, + "src": "1611:6:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3040, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "percentage", + "nodeType": "MemberAccess", + "referencedDeclaration": 3914, + "src": "1611:17:10", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 3042, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1611:34:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3043, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "mul", + "nodeType": "MemberAccess", + "referencedDeclaration": 3826, + "src": "1611:38:10", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 3045, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1611:47:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 3035, + "name": "iexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2441, + "src": "1568:17:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$2802", + "typeString": "contract IexecHubInterface" + } + }, + "id": 3036, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "lockForOrder", + "nodeType": "MemberAccess", + "referencedDeclaration": 2685, + "src": "1568:30:10", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) external returns (bool)" + } + }, + "id": 3046, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1568:91:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3034, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "1560:7:10", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3047, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1560:100:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3048, + "nodeType": "ExpressionStatement", + "src": "1560:100:10" + }, + { + "expression": { + "argumentTypes": null, + "id": 3053, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3049, + "name": "marketorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2977, + "src": "1727:11:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + }, + "id": 3051, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "workerpool", + "nodeType": "MemberAccess", + "referencedDeclaration": 2823, + "src": "1727:22:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 3052, + "name": "_workerpool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2947, + "src": "1757:11:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1727:41:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 3054, + "nodeType": "ExpressionStatement", + "src": "1727:41:10" + }, + { + "expression": { + "argumentTypes": null, + "id": 3060, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3055, + "name": "marketorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2977, + "src": "1773:11:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + }, + "id": 3057, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "workerpoolOwner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2825, + "src": "1773:27:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3058, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "1803:3:10", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 3059, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1803:10:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1773:40:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 3061, + "nodeType": "ExpressionStatement", + "src": "1773:40:10" + } + ] + } + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3069, + "name": "m_orderCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2907, + "src": "1901:12:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3068, + "name": "MarketOrderCreated", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2918, + "src": "1882:18:10", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256)" + } + }, + "id": 3070, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1882:32:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3071, + "nodeType": "EmitStatement", + "src": "1877:37:10" + }, + { + "expression": { + "argumentTypes": null, + "id": 3072, + "name": "m_orderCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2907, + "src": "1925:12:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 2953, + "id": 3073, + "nodeType": "Return", + "src": "1918:19:10" + } + ] + }, + "documentation": "Market orders", + "id": 3075, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "createMarketOrder", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2950, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2939, + "name": "_direction", + "nodeType": "VariableDeclaration", + "scope": 3075, + "src": "823:44:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2809", + "typeString": "enum IexecLib.MarketOrderDirectionEnum" + }, + "typeName": { + "contractScope": null, + "id": 2938, + "name": "IexecLib.MarketOrderDirectionEnum", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2809, + "src": "823:33:10", + "typeDescriptions": { + "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2809", + "typeString": "enum IexecLib.MarketOrderDirectionEnum" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2941, + "name": "_category", + "nodeType": "VariableDeclaration", + "scope": 3075, + "src": "871:17:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2940, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "871:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2943, + "name": "_trust", + "nodeType": "VariableDeclaration", + "scope": 3075, + "src": "892:14:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2942, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "892:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2945, + "name": "_value", + "nodeType": "VariableDeclaration", + "scope": 3075, + "src": "910:14:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2944, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "910:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2947, + "name": "_workerpool", + "nodeType": "VariableDeclaration", + "scope": 3075, + "src": "928:19:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2946, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "928:7:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2949, + "name": "_volume", + "nodeType": "VariableDeclaration", + "scope": 3075, + "src": "951:15:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2948, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "951:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "819:148:10" + }, + "payable": false, + "returnParameters": { + "id": 2953, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2952, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 3075, + "src": "985:4:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2951, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "985:4:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "984:6:10" + }, + "scope": 3513, + "src": "793:1148:10", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 3141, + "nodeType": "Block", + "src": "2018:605:10", + "statements": [ + { + "assignments": [ + 3085 + ], + "declarations": [ + { + "constant": false, + "id": 3085, + "name": "marketorder", + "nodeType": "VariableDeclaration", + "scope": 3142, + "src": "2022:40:10", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + }, + "typeName": { + "contractScope": null, + "id": 3084, + "name": "IexecLib.MarketOrder", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2826, + "src": "2022:20:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 3089, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3086, + "name": "m_orderBook", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2911, + "src": "2065:11:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MarketOrder_$2826_storage_$", + "typeString": "mapping(uint256 => struct IexecLib.MarketOrder storage ref)" + } + }, + "id": 3088, + "indexExpression": { + "argumentTypes": null, + "id": 3087, + "name": "_marketorderIdx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3077, + "src": "2077:15:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2065:28:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2826_storage", + "typeString": "struct IexecLib.MarketOrder storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2022:71:10" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2809", + "typeString": "enum IexecLib.MarketOrderDirectionEnum" + }, + "id": 3095, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3090, + "name": "marketorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3085, + "src": "2101:11:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + }, + "id": 3091, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "direction", + "nodeType": "MemberAccess", + "referencedDeclaration": 2811, + "src": "2101:21:10", + "typeDescriptions": { + "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2809", + "typeString": "enum IexecLib.MarketOrderDirectionEnum" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3092, + "name": "IexecLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2893, + "src": "2126:8:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecLib_$2893_$", + "typeString": "type(library IexecLib)" + } + }, + "id": 3093, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "MarketOrderDirectionEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 2809, + "src": "2126:33:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_MarketOrderDirectionEnum_$2809_$", + "typeString": "type(enum IexecLib.MarketOrderDirectionEnum)" + } + }, + "id": 3094, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "ASK", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2126:37:10", + "typeDescriptions": { + "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2809", + "typeString": "enum IexecLib.MarketOrderDirectionEnum" + } + }, + "src": "2101:62:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 3125, + "nodeType": "Block", + "src": "2448:46:10", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 3122, + "name": "revert", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7012, + "src": "2481:6:10", + "typeDescriptions": { + "typeIdentifier": "t_function_revert_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 3123, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2481:8:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3124, + "nodeType": "ExpressionStatement", + "src": "2481:8:10" + } + ] + }, + "id": 3126, + "nodeType": "IfStatement", + "src": "2097:397:10", + "trueBody": { + "id": 3121, + "nodeType": "Block", + "src": "2167:271:10", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 3101, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3097, + "name": "marketorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3085, + "src": "2180:11:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + }, + "id": 3098, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "workerpoolOwner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2825, + "src": "2180:27:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3099, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "2211:3:10", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 3100, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2211:10:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "2180:41:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3096, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "2172:7:10", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3102, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2172:50:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3103, + "nodeType": "ExpressionStatement", + "src": "2172:50:10" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3107, + "name": "marketorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3085, + "src": "2268:11:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + }, + "id": 3108, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "workerpoolOwner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2825, + "src": "2268:27:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3115, + "name": "marketorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3085, + "src": "2347:11:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + }, + "id": 3116, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "remaining", + "nodeType": "MemberAccess", + "referencedDeclaration": 2821, + "src": "2347:21:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3112, + "name": "ASK_STAKE_RATIO", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2914, + "src": "2326:15:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3109, + "name": "marketorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3085, + "src": "2297:11:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + }, + "id": 3110, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": 2817, + "src": "2297:17:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3111, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "percentage", + "nodeType": "MemberAccess", + "referencedDeclaration": 3914, + "src": "2297:28:10", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 3113, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2297:45:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3114, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "mul", + "nodeType": "MemberAccess", + "referencedDeclaration": 3826, + "src": "2297:49:10", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 3117, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2297:72:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 3105, + "name": "iexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2441, + "src": "2235:17:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$2802", + "typeString": "contract IexecHubInterface" + } + }, + "id": 3106, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "unlockForOrder", + "nodeType": "MemberAccess", + "referencedDeclaration": 2694, + "src": "2235:32:10", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) external returns (bool)" + } + }, + "id": 3118, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2235:135:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3104, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "2227:7:10", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3119, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2227:144:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3120, + "nodeType": "ExpressionStatement", + "src": "2227:144:10" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "id": 3133, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3127, + "name": "marketorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3085, + "src": "2497:11:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + }, + "id": 3129, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "direction", + "nodeType": "MemberAccess", + "referencedDeclaration": 2811, + "src": "2497:21:10", + "typeDescriptions": { + "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2809", + "typeString": "enum IexecLib.MarketOrderDirectionEnum" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3130, + "name": "IexecLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2893, + "src": "2521:8:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecLib_$2893_$", + "typeString": "type(library IexecLib)" + } + }, + "id": 3131, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "MarketOrderDirectionEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 2809, + "src": "2521:33:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_MarketOrderDirectionEnum_$2809_$", + "typeString": "type(enum IexecLib.MarketOrderDirectionEnum)" + } + }, + "id": 3132, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "CLOSED", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2521:40:10", + "typeDescriptions": { + "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2809", + "typeString": "enum IexecLib.MarketOrderDirectionEnum" + } + }, + "src": "2497:64:10", + "typeDescriptions": { + "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2809", + "typeString": "enum IexecLib.MarketOrderDirectionEnum" + } + }, + "id": 3134, + "nodeType": "ExpressionStatement", + "src": "2497:64:10" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3136, + "name": "_marketorderIdx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3077, + "src": "2588:15:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3135, + "name": "MarketOrderClosed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2922, + "src": "2570:17:10", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256)" + } + }, + "id": 3137, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2570:34:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3138, + "nodeType": "EmitStatement", + "src": "2565:39:10" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 3139, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2615:4:10", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 3081, + "id": 3140, + "nodeType": "Return", + "src": "2608:11:10" + } + ] + }, + "documentation": null, + "id": 3142, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "closeMarketOrder", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3078, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3077, + "name": "_marketorderIdx", + "nodeType": "VariableDeclaration", + "scope": 3142, + "src": "1970:23:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3076, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1970:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1969:25:10" + }, + "payable": false, + "returnParameters": { + "id": 3081, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3080, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 3142, + "src": "2011:4:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 3079, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2011:4:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2010:6:10" + }, + "scope": 3513, + "src": "1944:679:10", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 3226, + "nodeType": "Block", + "src": "2801:561:10", + "statements": [ + { + "assignments": [ + 3158 + ], + "declarations": [ + { + "constant": false, + "id": 3158, + "name": "marketorder", + "nodeType": "VariableDeclaration", + "scope": 3227, + "src": "2805:40:10", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + }, + "typeName": { + "contractScope": null, + "id": 3157, + "name": "IexecLib.MarketOrder", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2826, + "src": "2805:20:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 3162, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3159, + "name": "m_orderBook", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2911, + "src": "2848:11:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MarketOrder_$2826_storage_$", + "typeString": "mapping(uint256 => struct IexecLib.MarketOrder storage ref)" + } + }, + "id": 3161, + "indexExpression": { + "argumentTypes": null, + "id": 3160, + "name": "_marketorderIdx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3144, + "src": "2860:15:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2848:28:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2826_storage", + "typeString": "struct IexecLib.MarketOrder storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2805:71:10" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2809", + "typeString": "enum IexecLib.MarketOrderDirectionEnum" + }, + "id": 3169, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3164, + "name": "marketorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3158, + "src": "2888:11:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + }, + "id": 3165, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "direction", + "nodeType": "MemberAccess", + "referencedDeclaration": 2811, + "src": "2888:21:10", + "typeDescriptions": { + "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2809", + "typeString": "enum IexecLib.MarketOrderDirectionEnum" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3166, + "name": "IexecLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2893, + "src": "2914:8:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecLib_$2893_$", + "typeString": "type(library IexecLib)" + } + }, + "id": 3167, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "MarketOrderDirectionEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 2809, + "src": "2914:33:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_MarketOrderDirectionEnum_$2809_$", + "typeString": "type(enum IexecLib.MarketOrderDirectionEnum)" + } + }, + "id": 3168, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "ASK", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2914:37:10", + "typeDescriptions": { + "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2809", + "typeString": "enum IexecLib.MarketOrderDirectionEnum" + } + }, + "src": "2888:63:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3163, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "2880:7:10", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3170, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2880:72:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3171, + "nodeType": "ExpressionStatement", + "src": "2880:72:10" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3176, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3173, + "name": "marketorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3158, + "src": "2964:11:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + }, + "id": 3174, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "remaining", + "nodeType": "MemberAccess", + "referencedDeclaration": 2821, + "src": "2964:21:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 3175, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2990:1:10", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "2964:27:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3172, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "2956:7:10", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3177, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2956:36:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3178, + "nodeType": "ExpressionStatement", + "src": "2956:36:10" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 3183, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3180, + "name": "marketorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3158, + "src": "3004:11:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + }, + "id": 3181, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "workerpool", + "nodeType": "MemberAccess", + "referencedDeclaration": 2823, + "src": "3004:22:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 3182, + "name": "_workerpool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3148, + "src": "3030:11:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "3004:37:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3179, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "2996:7:10", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3184, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2996:46:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3185, + "nodeType": "ExpressionStatement", + "src": "2996:46:10" + }, + { + "expression": { + "argumentTypes": null, + "id": 3194, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3186, + "name": "marketorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3158, + "src": "3047:11:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + }, + "id": 3188, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "remaining", + "nodeType": "MemberAccess", + "referencedDeclaration": 2821, + "src": "3047:21:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31", + "id": 3192, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3097:1:10", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3189, + "name": "marketorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3158, + "src": "3071:11:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + }, + "id": 3190, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "remaining", + "nodeType": "MemberAccess", + "referencedDeclaration": 2821, + "src": "3071:21:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3191, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 3793, + "src": "3071:25:10", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 3193, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3071:28:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3047:52:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3195, + "nodeType": "ExpressionStatement", + "src": "3047:52:10" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3199, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3196, + "name": "marketorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3158, + "src": "3107:11:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + }, + "id": 3197, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "remaining", + "nodeType": "MemberAccess", + "referencedDeclaration": 2821, + "src": "3107:21:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 3198, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3132:1:10", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "3107:26:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 3209, + "nodeType": "IfStatement", + "src": "3103:108:10", + "trueBody": { + "id": 3208, + "nodeType": "Block", + "src": "3137:74:10", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 3206, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3200, + "name": "marketorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3158, + "src": "3142:11:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + }, + "id": 3202, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "direction", + "nodeType": "MemberAccess", + "referencedDeclaration": 2811, + "src": "3142:21:10", + "typeDescriptions": { + "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2809", + "typeString": "enum IexecLib.MarketOrderDirectionEnum" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3203, + "name": "IexecLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2893, + "src": "3166:8:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecLib_$2893_$", + "typeString": "type(library IexecLib)" + } + }, + "id": 3204, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "MarketOrderDirectionEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 2809, + "src": "3166:33:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_MarketOrderDirectionEnum_$2809_$", + "typeString": "type(enum IexecLib.MarketOrderDirectionEnum)" + } + }, + "id": 3205, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "CLOSED", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3166:40:10", + "typeDescriptions": { + "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2809", + "typeString": "enum IexecLib.MarketOrderDirectionEnum" + } + }, + "src": "3142:64:10", + "typeDescriptions": { + "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2809", + "typeString": "enum IexecLib.MarketOrderDirectionEnum" + } + }, + "id": 3207, + "nodeType": "ExpressionStatement", + "src": "3142:64:10" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3213, + "name": "_requester", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3146, + "src": "3253:10:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3214, + "name": "marketorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3158, + "src": "3265:11:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + }, + "id": 3215, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": 2817, + "src": "3265:17:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 3211, + "name": "iexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2441, + "src": "3222:17:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$2802", + "typeString": "contract IexecHubInterface" + } + }, + "id": 3212, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "lockForOrder", + "nodeType": "MemberAccess", + "referencedDeclaration": 2685, + "src": "3222:30:10", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) external returns (bool)" + } + }, + "id": 3216, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3222:61:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3210, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "3214:7:10", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3217, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3214:70:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3218, + "nodeType": "ExpressionStatement", + "src": "3214:70:10" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3220, + "name": "_marketorderIdx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3144, + "src": "3315:15:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 3221, + "name": "_requester", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3146, + "src": "3332:10:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 3219, + "name": "MarketOrderAskConsume", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2928, + "src": "3293:21:10", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_address_$returns$__$", + "typeString": "function (uint256,address)" + } + }, + "id": 3222, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3293:50:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3223, + "nodeType": "EmitStatement", + "src": "3288:55:10" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 3224, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3354:4:10", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 3154, + "id": 3225, + "nodeType": "Return", + "src": "3347:11:10" + } + ] + }, + "documentation": "Assets consumption", + "id": 3227, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 3151, + "modifierName": { + "argumentTypes": null, + "id": 3150, + "name": "onlyIexecHub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2454, + "src": "2772:12:10", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "2772:12:10" + } + ], + "name": "consumeMarketOrderAsk", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3149, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3144, + "name": "_marketorderIdx", + "nodeType": "VariableDeclaration", + "scope": 3227, + "src": "2694:23:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3143, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2694:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3146, + "name": "_requester", + "nodeType": "VariableDeclaration", + "scope": 3227, + "src": "2721:18:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3145, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2721:7:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3148, + "name": "_workerpool", + "nodeType": "VariableDeclaration", + "scope": 3227, + "src": "2743:19:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3147, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2743:7:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2690:73:10" + }, + "payable": false, + "returnParameters": { + "id": 3154, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3153, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 3227, + "src": "2794:4:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 3152, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2794:4:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2793:6:10" + }, + "scope": 3513, + "src": "2660:702:10", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 3241, + "nodeType": "Block", + "src": "3465:56:10", + "statements": [ + { + "expression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3239, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3234, + "name": "m_orderBook", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2911, + "src": "3476:11:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MarketOrder_$2826_storage_$", + "typeString": "mapping(uint256 => struct IexecLib.MarketOrder storage ref)" + } + }, + "id": 3236, + "indexExpression": { + "argumentTypes": null, + "id": 3235, + "name": "_marketorderIdx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3229, + "src": "3488:15:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3476:28:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2826_storage", + "typeString": "struct IexecLib.MarketOrder storage ref" + } + }, + "id": 3237, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "category", + "nodeType": "MemberAccess", + "referencedDeclaration": 2813, + "src": "3476:37:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 3238, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3516:1:10", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "3476:41:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 3233, + "id": 3240, + "nodeType": "Return", + "src": "3469:48:10" + } + ] + }, + "documentation": null, + "id": 3242, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "existingMarketOrder", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3230, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3229, + "name": "_marketorderIdx", + "nodeType": "VariableDeclaration", + "scope": 3242, + "src": "3394:23:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3228, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3394:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3393:25:10" + }, + "payable": false, + "returnParameters": { + "id": 3233, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3232, + "name": "marketOrderExist", + "nodeType": "VariableDeclaration", + "scope": 3242, + "src": "3441:21:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 3231, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3441:4:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3440:23:10" + }, + "scope": 3513, + "src": "3365:156:10", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 3260, + "nodeType": "Block", + "src": "3629:126:10", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3251, + "name": "_marketorderIdx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3244, + "src": "3661:15:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3250, + "name": "existingMarketOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3242, + "src": "3641:19:10", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view returns (bool)" + } + }, + "id": 3252, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3641:36:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3249, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "3633:7:10", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3253, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3633:45:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3254, + "nodeType": "ExpressionStatement", + "src": "3633:45:10" + }, + { + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3255, + "name": "m_orderBook", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2911, + "src": "3717:11:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MarketOrder_$2826_storage_$", + "typeString": "mapping(uint256 => struct IexecLib.MarketOrder storage ref)" + } + }, + "id": 3257, + "indexExpression": { + "argumentTypes": null, + "id": 3256, + "name": "_marketorderIdx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3244, + "src": "3729:15:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3717:28:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2826_storage", + "typeString": "struct IexecLib.MarketOrder storage ref" + } + }, + "id": 3258, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": 2817, + "src": "3717:34:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 3248, + "id": 3259, + "nodeType": "Return", + "src": "3710:41:10" + } + ] + }, + "documentation": "Views", + "id": 3261, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getMarketOrderValue", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3245, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3244, + "name": "_marketorderIdx", + "nodeType": "VariableDeclaration", + "scope": 3261, + "src": "3573:23:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3243, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3573:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3572:25:10" + }, + "payable": false, + "returnParameters": { + "id": 3248, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3247, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 3261, + "src": "3619:7:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3246, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3619:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3618:9:10" + }, + "scope": 3513, + "src": "3544:211:10", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 3279, + "nodeType": "Block", + "src": "3852:136:10", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3270, + "name": "_marketorderIdx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3263, + "src": "3884:15:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3269, + "name": "existingMarketOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3242, + "src": "3864:19:10", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view returns (bool)" + } + }, + "id": 3271, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3864:36:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3268, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "3856:7:10", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3272, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3856:45:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3273, + "nodeType": "ExpressionStatement", + "src": "3856:45:10" + }, + { + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3274, + "name": "m_orderBook", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2911, + "src": "3940:11:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MarketOrder_$2826_storage_$", + "typeString": "mapping(uint256 => struct IexecLib.MarketOrder storage ref)" + } + }, + "id": 3276, + "indexExpression": { + "argumentTypes": null, + "id": 3275, + "name": "_marketorderIdx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3263, + "src": "3952:15:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3940:28:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2826_storage", + "typeString": "struct IexecLib.MarketOrder storage ref" + } + }, + "id": 3277, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "workerpoolOwner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2825, + "src": "3940:44:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 3267, + "id": 3278, + "nodeType": "Return", + "src": "3933:51:10" + } + ] + }, + "documentation": null, + "id": 3280, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getMarketOrderWorkerpoolOwner", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3264, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3263, + "name": "_marketorderIdx", + "nodeType": "VariableDeclaration", + "scope": 3280, + "src": "3796:23:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3262, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3796:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3795:25:10" + }, + "payable": false, + "returnParameters": { + "id": 3267, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3266, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 3280, + "src": "3842:7:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3265, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3842:7:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3841:9:10" + }, + "scope": 3513, + "src": "3757:231:10", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 3298, + "nodeType": "Block", + "src": "4078:129:10", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3289, + "name": "_marketorderIdx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3282, + "src": "4110:15:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3288, + "name": "existingMarketOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3242, + "src": "4090:19:10", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view returns (bool)" + } + }, + "id": 3290, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4090:36:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3287, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "4082:7:10", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3291, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4082:45:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3292, + "nodeType": "ExpressionStatement", + "src": "4082:45:10" + }, + { + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3293, + "name": "m_orderBook", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2911, + "src": "4166:11:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MarketOrder_$2826_storage_$", + "typeString": "mapping(uint256 => struct IexecLib.MarketOrder storage ref)" + } + }, + "id": 3295, + "indexExpression": { + "argumentTypes": null, + "id": 3294, + "name": "_marketorderIdx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3282, + "src": "4178:15:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4166:28:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2826_storage", + "typeString": "struct IexecLib.MarketOrder storage ref" + } + }, + "id": 3296, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "category", + "nodeType": "MemberAccess", + "referencedDeclaration": 2813, + "src": "4166:37:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 3286, + "id": 3297, + "nodeType": "Return", + "src": "4159:44:10" + } + ] + }, + "documentation": null, + "id": 3299, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getMarketOrderCategory", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3283, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3282, + "name": "_marketorderIdx", + "nodeType": "VariableDeclaration", + "scope": 3299, + "src": "4022:23:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3281, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4022:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4021:25:10" + }, + "payable": false, + "returnParameters": { + "id": 3286, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3285, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 3299, + "src": "4068:7:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3284, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4068:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4067:9:10" + }, + "scope": 3513, + "src": "3990:217:10", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 3317, + "nodeType": "Block", + "src": "4294:126:10", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3308, + "name": "_marketorderIdx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3301, + "src": "4326:15:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3307, + "name": "existingMarketOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3242, + "src": "4306:19:10", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view returns (bool)" + } + }, + "id": 3309, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4306:36:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3306, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "4298:7:10", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3310, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4298:45:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3311, + "nodeType": "ExpressionStatement", + "src": "4298:45:10" + }, + { + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3312, + "name": "m_orderBook", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2911, + "src": "4382:11:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MarketOrder_$2826_storage_$", + "typeString": "mapping(uint256 => struct IexecLib.MarketOrder storage ref)" + } + }, + "id": 3314, + "indexExpression": { + "argumentTypes": null, + "id": 3313, + "name": "_marketorderIdx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3301, + "src": "4394:15:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4382:28:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2826_storage", + "typeString": "struct IexecLib.MarketOrder storage ref" + } + }, + "id": 3315, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "trust", + "nodeType": "MemberAccess", + "referencedDeclaration": 2815, + "src": "4382:34:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 3305, + "id": 3316, + "nodeType": "Return", + "src": "4375:41:10" + } + ] + }, + "documentation": null, + "id": 3318, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getMarketOrderTrust", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3302, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3301, + "name": "_marketorderIdx", + "nodeType": "VariableDeclaration", + "scope": 3318, + "src": "4238:23:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3300, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4238:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4237:25:10" + }, + "payable": false, + "returnParameters": { + "id": 3305, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3304, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 3318, + "src": "4284:7:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3303, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4284:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4283:9:10" + }, + "scope": 3513, + "src": "4209:211:10", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 3371, + "nodeType": "Block", + "src": "4862:374:10", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3341, + "name": "_marketorderIdx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3320, + "src": "4894:15:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3340, + "name": "existingMarketOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3242, + "src": "4874:19:10", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view returns (bool)" + } + }, + "id": 3342, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4874:36:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3339, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "4866:7:10", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3343, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4866:45:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3344, + "nodeType": "ExpressionStatement", + "src": "4866:45:10" + }, + { + "assignments": [ + 3348 + ], + "declarations": [ + { + "constant": false, + "id": 3348, + "name": "marketorder", + "nodeType": "VariableDeclaration", + "scope": 3372, + "src": "4943:40:10", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + }, + "typeName": { + "contractScope": null, + "id": 3347, + "name": "IexecLib.MarketOrder", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2826, + "src": "4943:20:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 3352, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3349, + "name": "m_orderBook", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2911, + "src": "4986:11:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MarketOrder_$2826_storage_$", + "typeString": "mapping(uint256 => struct IexecLib.MarketOrder storage ref)" + } + }, + "id": 3351, + "indexExpression": { + "argumentTypes": null, + "id": 3350, + "name": "_marketorderIdx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3320, + "src": "4998:15:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4986:28:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2826_storage", + "typeString": "struct IexecLib.MarketOrder storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4943:71:10" + }, + { + "expression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3353, + "name": "marketorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3348, + "src": "5030:11:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + }, + "id": 3354, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "direction", + "nodeType": "MemberAccess", + "referencedDeclaration": 2811, + "src": "5030:21:10", + "typeDescriptions": { + "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2809", + "typeString": "enum IexecLib.MarketOrderDirectionEnum" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3355, + "name": "marketorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3348, + "src": "5056:11:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + }, + "id": 3356, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "category", + "nodeType": "MemberAccess", + "referencedDeclaration": 2813, + "src": "5056:20:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3357, + "name": "marketorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3348, + "src": "5081:11:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + }, + "id": 3358, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "trust", + "nodeType": "MemberAccess", + "referencedDeclaration": 2815, + "src": "5081:17:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3359, + "name": "marketorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3348, + "src": "5103:11:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + }, + "id": 3360, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": 2817, + "src": "5103:17:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3361, + "name": "marketorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3348, + "src": "5125:11:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + }, + "id": 3362, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "volume", + "nodeType": "MemberAccess", + "referencedDeclaration": 2819, + "src": "5125:18:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3363, + "name": "marketorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3348, + "src": "5148:11:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + }, + "id": 3364, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "remaining", + "nodeType": "MemberAccess", + "referencedDeclaration": 2821, + "src": "5148:21:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3365, + "name": "marketorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3348, + "src": "5174:11:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + }, + "id": 3366, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "workerpool", + "nodeType": "MemberAccess", + "referencedDeclaration": 2823, + "src": "5174:22:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3367, + "name": "marketorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3348, + "src": "5201:11:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MarketOrder_$2826_storage_ptr", + "typeString": "struct IexecLib.MarketOrder storage pointer" + } + }, + "id": 3368, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "workerpoolOwner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2825, + "src": "5201:27:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 3369, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "5025:207:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_enum$_MarketOrderDirectionEnum_$2809_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$_t_address_$", + "typeString": "tuple(enum IexecLib.MarketOrderDirectionEnum,uint256,uint256,uint256,uint256,uint256,address,address)" + } + }, + "functionReturnParameters": 3338, + "id": 3370, + "nodeType": "Return", + "src": "5018:214:10" + } + ] + }, + "documentation": null, + "id": 3372, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getMarketOrder", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3321, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3320, + "name": "_marketorderIdx", + "nodeType": "VariableDeclaration", + "scope": 3372, + "src": "4446:23:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3319, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4446:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4445:25:10" + }, + "payable": false, + "returnParameters": { + "id": 3338, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3323, + "name": "direction", + "nodeType": "VariableDeclaration", + "scope": 3372, + "src": "4496:43:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2809", + "typeString": "enum IexecLib.MarketOrderDirectionEnum" + }, + "typeName": { + "contractScope": null, + "id": 3322, + "name": "IexecLib.MarketOrderDirectionEnum", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2809, + "src": "4496:33:10", + "typeDescriptions": { + "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2809", + "typeString": "enum IexecLib.MarketOrderDirectionEnum" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3325, + "name": "category", + "nodeType": "VariableDeclaration", + "scope": 3372, + "src": "4543:16:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3324, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4543:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3327, + "name": "trust", + "nodeType": "VariableDeclaration", + "scope": 3372, + "src": "4590:13:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3326, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4590:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3329, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 3372, + "src": "4628:13:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3328, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4628:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3331, + "name": "volume", + "nodeType": "VariableDeclaration", + "scope": 3372, + "src": "4674:14:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3330, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4674:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3333, + "name": "remaining", + "nodeType": "VariableDeclaration", + "scope": 3372, + "src": "4733:17:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3332, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4733:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3335, + "name": "workerpool", + "nodeType": "VariableDeclaration", + "scope": 3372, + "src": "4782:18:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3334, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4782:7:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3337, + "name": "workerpoolOwner", + "nodeType": "VariableDeclaration", + "scope": 3372, + "src": "4836:23:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3336, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4836:7:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4492:368:10" + }, + "scope": 3513, + "src": "4422:814:10", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "anonymous": false, + "documentation": "Callback Proof managment", + "id": 3390, + "name": "WorkOrderCallbackProof", + "nodeType": "EventDefinition", + "parameters": { + "id": 3389, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3374, + "indexed": true, + "name": "woid", + "nodeType": "VariableDeclaration", + "scope": 3390, + "src": "5308:20:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3373, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5308:7:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3376, + "indexed": false, + "name": "requester", + "nodeType": "VariableDeclaration", + "scope": 3390, + "src": "5330:17:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3375, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5330:7:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3378, + "indexed": false, + "name": "beneficiary", + "nodeType": "VariableDeclaration", + "scope": 3390, + "src": "5349:19:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3377, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5349:7:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3380, + "indexed": true, + "name": "callbackTo", + "nodeType": "VariableDeclaration", + "scope": 3390, + "src": "5369:26:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3379, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5369:7:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3382, + "indexed": true, + "name": "gasCallbackProvider", + "nodeType": "VariableDeclaration", + "scope": 3390, + "src": "5397:35:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3381, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5397:7:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3384, + "indexed": false, + "name": "stdout", + "nodeType": "VariableDeclaration", + "scope": 3390, + "src": "5433:13:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 3383, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "5433:6:10", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3386, + "indexed": false, + "name": "stderr", + "nodeType": "VariableDeclaration", + "scope": 3390, + "src": "5448:13:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 3385, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "5448:6:10", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3388, + "indexed": false, + "name": "uri", + "nodeType": "VariableDeclaration", + "scope": 3390, + "src": "5464:10:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 3387, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "5464:6:10", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5307:168:10" + }, + "src": "5279:197:10" + }, + { + "constant": false, + "id": 3394, + "name": "m_callbackDone", + "nodeType": "VariableDeclaration", + "scope": 3513, + "src": "5510:39:10", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + }, + "typeName": { + "id": 3393, + "keyType": { + "id": 3391, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5518:7:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "5510:24:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + }, + "valueType": { + "id": 3392, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "5529:4:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + }, + "value": null, + "visibility": "internal" + }, + { + "body": { + "id": 3405, + "nodeType": "Block", + "src": "5636:38:10", + "statements": [ + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3401, + "name": "m_callbackDone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3394, + "src": "5648:14:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 3403, + "indexExpression": { + "argumentTypes": null, + "id": 3402, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3396, + "src": "5663:5:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5648:21:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 3400, + "id": 3404, + "nodeType": "Return", + "src": "5641:28:10" + } + ] + }, + "documentation": null, + "id": 3406, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "isCallbackDone", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3397, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3396, + "name": "_woid", + "nodeType": "VariableDeclaration", + "scope": 3406, + "src": "5578:13:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3395, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5578:7:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5577:15:10" + }, + "payable": false, + "returnParameters": { + "id": 3400, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3399, + "name": "callbackDone", + "nodeType": "VariableDeclaration", + "scope": 3406, + "src": "5615:17:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 3398, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "5615:4:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5614:19:10" + }, + "scope": 3513, + "src": "5554:120:10", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 3511, + "nodeType": "Block", + "src": "5773:655:10", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3420, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3408, + "src": "5820:5:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 3418, + "name": "iexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2441, + "src": "5786:17:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$2802", + "typeString": "contract IexecHubInterface" + } + }, + "id": 3419, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "isWoidRegistred", + "nodeType": "MemberAccess", + "referencedDeclaration": 2570, + "src": "5786:33:10", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_bool_$", + "typeString": "function (address) view external returns (bool)" + } + }, + "id": 3421, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5786:40:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3417, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "5778:7:10", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3422, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5778:49:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3423, + "nodeType": "ExpressionStatement", + "src": "5778:49:10" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3428, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "5840:22:10", + "subExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3426, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3408, + "src": "5856:5:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 3425, + "name": "isCallbackDone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3406, + "src": "5841:14:10", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", + "typeString": "function (address) view returns (bool)" + } + }, + "id": 3427, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5841:21:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3424, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "5832:7:10", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3429, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5832:31:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3430, + "nodeType": "ExpressionStatement", + "src": "5832:31:10" + }, + { + "expression": { + "argumentTypes": null, + "id": 3435, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3431, + "name": "m_callbackDone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3394, + "src": "5868:14:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 3433, + "indexExpression": { + "argumentTypes": null, + "id": 3432, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3408, + "src": "5883:5:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "5868:21:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 3434, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5892:4:10", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "5868:28:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 3436, + "nodeType": "ExpressionStatement", + "src": "5868:28:10" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + }, + "id": 3446, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3439, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3408, + "src": "5919:5:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 3438, + "name": "WorkOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4299, + "src": "5909:9:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_WorkOrder_$4299_$", + "typeString": "type(contract WorkOrder)" + } + }, + "id": 3440, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5909:16:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4299", + "typeString": "contract WorkOrder" + } + }, + "id": 3441, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_status", + "nodeType": "MemberAccess", + "referencedDeclaration": 4040, + "src": "5909:25:10", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_enum$_WorkOrderStatusEnum_$2832_$", + "typeString": "function () view external returns (enum IexecLib.WorkOrderStatusEnum)" + } + }, + "id": 3442, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5909:27:10", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3443, + "name": "IexecLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2893, + "src": "5940:8:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecLib_$2893_$", + "typeString": "type(library IexecLib)" + } + }, + "id": 3444, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "WorkOrderStatusEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 2832, + "src": "5940:28:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_WorkOrderStatusEnum_$2832_$", + "typeString": "type(enum IexecLib.WorkOrderStatusEnum)" + } + }, + "id": 3445, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "COMPLETED", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "5940:38:10", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "src": "5909:69:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3437, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "5901:7:10", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3447, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5901:78:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3448, + "nodeType": "ExpressionStatement", + "src": "5901:78:10" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 3460, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3451, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3408, + "src": "6002:5:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 3450, + "name": "WorkOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4299, + "src": "5992:9:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_WorkOrder_$4299_$", + "typeString": "type(contract WorkOrder)" + } + }, + "id": 3452, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5992:16:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4299", + "typeString": "contract WorkOrder" + } + }, + "id": 3453, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_resultCallbackProof", + "nodeType": "MemberAccess", + "referencedDeclaration": 4060, + "src": "5992:38:10", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", + "typeString": "function () view external returns (bytes32)" + } + }, + "id": 3454, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5992:40:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3456, + "name": "_stdout", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3410, + "src": "6046:7:10", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "id": 3457, + "name": "_stderr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3412, + "src": "6054:7:10", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "id": 3458, + "name": "_uri", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3414, + "src": "6062:4:10", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 3455, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7002, + "src": "6036:9:10", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 3459, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6036:31:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "5992:75:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3449, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "5984:7:10", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3461, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5984:84:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3462, + "nodeType": "ExpressionStatement", + "src": "5984:84:10" + }, + { + "assignments": [ + 3464 + ], + "declarations": [ + { + "constant": false, + "id": 3464, + "name": "callbackTo", + "nodeType": "VariableDeclaration", + "scope": 3512, + "src": "6073:18:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3463, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6073:7:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 3470, + "initialValue": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3466, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3408, + "src": "6103:5:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 3465, + "name": "WorkOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4299, + "src": "6093:9:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_WorkOrder_$4299_$", + "typeString": "type(contract WorkOrder)" + } + }, + "id": 3467, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6093:16:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4299", + "typeString": "contract WorkOrder" + } + }, + "id": 3468, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_callback", + "nodeType": "MemberAccess", + "referencedDeclaration": 4056, + "src": "6093:27:10", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + "id": 3469, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6093:29:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6073:49:10" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 3476, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3472, + "name": "callbackTo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3464, + "src": "6135:10:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 3474, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6157:1:10", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 3473, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "6149:7:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 3475, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6149:10:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "6135:24:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3471, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "6127:7:10", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3477, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6127:33:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3478, + "nodeType": "ExpressionStatement", + "src": "6127:33:10" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3484, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3408, + "src": "6231:5:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 3485, + "name": "_stdout", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3410, + "src": "6242:7:10", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "id": 3486, + "name": "_stderr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3412, + "src": "6255:7:10", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "id": 3487, + "name": "_uri", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3414, + "src": "6268:4:10", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3481, + "name": "callbackTo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3464, + "src": "6196:10:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 3480, + "name": "IexecCallbackInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 724, + "src": "6173:22:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecCallbackInterface_$724_$", + "typeString": "type(contract IexecCallbackInterface)" + } + }, + "id": 3482, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6173:34:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecCallbackInterface_$724", + "typeString": "contract IexecCallbackInterface" + } + }, + "id": 3483, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "workOrderCallback", + "nodeType": "MemberAccess", + "referencedDeclaration": 713, + "src": "6173:52:10", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$", + "typeString": "function (address,string memory,string memory,string memory) external returns (bool)" + } + }, + "id": 3488, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6173:104:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3479, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "6165:7:10", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3489, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6165:113:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3490, + "nodeType": "ExpressionStatement", + "src": "6165:113:10" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3492, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3408, + "src": "6311:5:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3494, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3408, + "src": "6327:5:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 3493, + "name": "WorkOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4299, + "src": "6317:9:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_WorkOrder_$4299_$", + "typeString": "type(contract WorkOrder)" + } + }, + "id": 3495, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6317:16:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4299", + "typeString": "contract WorkOrder" + } + }, + "id": 3496, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_requester", + "nodeType": "MemberAccess", + "referencedDeclaration": 4050, + "src": "6317:28:10", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + "id": 3497, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6317:30:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3499, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3408, + "src": "6358:5:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 3498, + "name": "WorkOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4299, + "src": "6348:9:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_WorkOrder_$4299_$", + "typeString": "type(contract WorkOrder)" + } + }, + "id": 3500, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6348:16:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4299", + "typeString": "contract WorkOrder" + } + }, + "id": 3501, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_beneficiary", + "nodeType": "MemberAccess", + "referencedDeclaration": 4058, + "src": "6348:30:10", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + "id": 3502, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6348:32:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 3503, + "name": "callbackTo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3464, + "src": "6381:10:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3504, + "name": "tx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7018, + "src": "6392:2:10", + "typeDescriptions": { + "typeIdentifier": "t_magic_transaction", + "typeString": "tx" + } + }, + "id": 3505, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "origin", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "6392:9:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 3506, + "name": "_stdout", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3410, + "src": "6402:7:10", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "id": 3507, + "name": "_stderr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3412, + "src": "6410:7:10", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "id": 3508, + "name": "_uri", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3414, + "src": "6418:4:10", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 3491, + "name": "WorkOrderCallbackProof", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3390, + "src": "6288:22:10", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_address_$_t_address_$_t_address_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (address,address,address,address,address,string memory,string memory,string memory)" + } + }, + "id": 3509, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6288:135:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3510, + "nodeType": "EmitStatement", + "src": "6283:140:10" + } + ] + }, + "documentation": null, + "id": 3512, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "workOrderCallback", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3415, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3408, + "name": "_woid", + "nodeType": "VariableDeclaration", + "scope": 3512, + "src": "5705:13:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3407, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5705:7:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3410, + "name": "_stdout", + "nodeType": "VariableDeclaration", + "scope": 3512, + "src": "5719:14:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 3409, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "5719:6:10", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3412, + "name": "_stderr", + "nodeType": "VariableDeclaration", + "scope": 3512, + "src": "5735:14:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 3411, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "5735:6:10", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3414, + "name": "_uri", + "nodeType": "VariableDeclaration", + "scope": 3512, + "src": "5751:11:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 3413, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "5751:6:10", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5704:59:10" + }, + "payable": false, + "returnParameters": { + "id": 3416, + "nodeType": "ParameterList", + "parameters": [], + "src": "5773:0:10" + }, + "scope": 3513, + "src": "5678:750:10", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 3514, + "src": "177:6254:10" + } + ], + "src": "0:6432:10" + }, + "compiler": { + "name": "solc", + "version": "0.4.21+commit.dfe3193c.Emscripten.clang" + }, + "networks": { + "1": { + "events": {}, + "links": {}, + "address": "0xfb7703c74f14930f8871c34056d5db6693e5a00b", + "transactionHash": "0xc0c911f0899002e7216f2c99730813e30c4764988b3cb8fcbab0e625afec5f56" + } + }, + "schemaVersion": "2.0.0", + "updatedAt": "2018-06-12T15:21:39.679Z" +} \ No newline at end of file diff --git a/deployed/contracts/MarketplaceAccessor.json b/deployed/contracts/MarketplaceAccessor.json new file mode 100644 index 00000000..4b7764df --- /dev/null +++ b/deployed/contracts/MarketplaceAccessor.json @@ -0,0 +1,879 @@ +{ + "contractName": "MarketplaceAccessor", + "abi": [ + { + "inputs": [ + { + "name": "_marketplaceAddress", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + } + ], + "bytecode": "0x60606040523415600e57600080fd5b60405160208060a383398101604052808051915050600160a060020a0381161515603757600080fd5b60008054600160a060020a03909216600160a060020a0319928316811790915560018054909216179055603580606e6000396000f3006060604052600080fd00a165627a7a7230582028a3ca0ac1aea21a0b958f8f751e114a59010a5ecd5d2cf0e4151510b0ca61480029", + "deployedBytecode": "0x6060604052600080fd00a165627a7a7230582028a3ca0ac1aea21a0b958f8f751e114a59010a5ecd5d2cf0e4151510b0ca61480029", + "sourceMap": "64:467:11:-;;;299:230;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;377:33:11;;;;369:42;;;;;;415:18;:42;;-1:-1:-1;;;;;415:42:11;;;-1:-1:-1;;;;;;415:42:11;;;;;;;;;461:64;;;;;;;;64:467;;;;;;", + "deployedSourceMap": "64:467:11:-;;;;;", + "source": "pragma solidity ^0.4.21;\n\nimport './MarketplaceInterface.sol';\n\ncontract MarketplaceAccessor\n{\n\taddress internal marketplaceAddress;\n\tMarketplaceInterface internal marketplaceInterface;\n/* not used\n\tmodifier onlyMarketplace()\n\t{\n\t\trequire(msg.sender == marketplaceAddress);\n\t\t_;\n\t}*/\n\n\tfunction MarketplaceAccessor(address _marketplaceAddress) public\n\t{\n\t\trequire(_marketplaceAddress != address(0));\n\t\tmarketplaceAddress = _marketplaceAddress;\n\t\tmarketplaceInterface = MarketplaceInterface(_marketplaceAddress);\n\t}\n}\n", + "sourcePath": "/Users/fbranci/iexecdev/PoCo/contracts/MarketplaceAccessor.sol", + "ast": { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/MarketplaceAccessor.sol", + "exportedSymbols": { + "MarketplaceAccessor": [ + 3545 + ] + }, + "id": 3546, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 3515, + "literals": [ + "solidity", + "^", + "0.4", + ".21" + ], + "nodeType": "PragmaDirective", + "src": "0:24:11" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/MarketplaceInterface.sol", + "file": "./MarketplaceInterface.sol", + "id": 3516, + "nodeType": "ImportDirective", + "scope": 3546, + "sourceUnit": 3621, + "src": "26:36:11", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 3545, + "linearizedBaseContracts": [ + 3545 + ], + "name": "MarketplaceAccessor", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 3518, + "name": "marketplaceAddress", + "nodeType": "VariableDeclaration", + "scope": 3545, + "src": "96:48:11", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3517, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "96:7:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3520, + "name": "marketplaceInterface", + "nodeType": "VariableDeclaration", + "scope": 3545, + "src": "147:50:11", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_MarketplaceInterface_$3620", + "typeString": "contract MarketplaceInterface" + }, + "typeName": { + "contractScope": null, + "id": 3519, + "name": "MarketplaceInterface", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 3620, + "src": "147:20:11", + "typeDescriptions": { + "typeIdentifier": "t_contract$_MarketplaceInterface_$3620", + "typeString": "contract MarketplaceInterface" + } + }, + "value": null, + "visibility": "internal" + }, + { + "body": { + "id": 3543, + "nodeType": "Block", + "src": "365:164:11", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 3530, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3526, + "name": "_marketplaceAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3522, + "src": "377:19:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 3528, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "408:1:11", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 3527, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "400:7:11", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 3529, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "400:10:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "377:33:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3525, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "369:7:11", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3531, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "369:42:11", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3532, + "nodeType": "ExpressionStatement", + "src": "369:42:11" + }, + { + "expression": { + "argumentTypes": null, + "id": 3535, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 3533, + "name": "marketplaceAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3518, + "src": "415:18:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 3534, + "name": "_marketplaceAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3522, + "src": "438:19:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "415:42:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 3536, + "nodeType": "ExpressionStatement", + "src": "415:42:11" + }, + { + "expression": { + "argumentTypes": null, + "id": 3541, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 3537, + "name": "marketplaceInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3520, + "src": "461:20:11", + "typeDescriptions": { + "typeIdentifier": "t_contract$_MarketplaceInterface_$3620", + "typeString": "contract MarketplaceInterface" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3539, + "name": "_marketplaceAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3522, + "src": "505:19:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 3538, + "name": "MarketplaceInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3620, + "src": "484:20:11", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_MarketplaceInterface_$3620_$", + "typeString": "type(contract MarketplaceInterface)" + } + }, + "id": 3540, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "484:41:11", + "typeDescriptions": { + "typeIdentifier": "t_contract$_MarketplaceInterface_$3620", + "typeString": "contract MarketplaceInterface" + } + }, + "src": "461:64:11", + "typeDescriptions": { + "typeIdentifier": "t_contract$_MarketplaceInterface_$3620", + "typeString": "contract MarketplaceInterface" + } + }, + "id": 3542, + "nodeType": "ExpressionStatement", + "src": "461:64:11" + } + ] + }, + "documentation": null, + "id": 3544, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "MarketplaceAccessor", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3523, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3522, + "name": "_marketplaceAddress", + "nodeType": "VariableDeclaration", + "scope": 3544, + "src": "328:27:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3521, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "328:7:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "327:29:11" + }, + "payable": false, + "returnParameters": { + "id": 3524, + "nodeType": "ParameterList", + "parameters": [], + "src": "365:0:11" + }, + "scope": 3545, + "src": "299:230:11", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 3546, + "src": "64:467:11" + } + ], + "src": "0:532:11" + }, + "legacyAST": { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/MarketplaceAccessor.sol", + "exportedSymbols": { + "MarketplaceAccessor": [ + 3545 + ] + }, + "id": 3546, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 3515, + "literals": [ + "solidity", + "^", + "0.4", + ".21" + ], + "nodeType": "PragmaDirective", + "src": "0:24:11" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/MarketplaceInterface.sol", + "file": "./MarketplaceInterface.sol", + "id": 3516, + "nodeType": "ImportDirective", + "scope": 3546, + "sourceUnit": 3621, + "src": "26:36:11", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 3545, + "linearizedBaseContracts": [ + 3545 + ], + "name": "MarketplaceAccessor", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 3518, + "name": "marketplaceAddress", + "nodeType": "VariableDeclaration", + "scope": 3545, + "src": "96:48:11", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3517, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "96:7:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3520, + "name": "marketplaceInterface", + "nodeType": "VariableDeclaration", + "scope": 3545, + "src": "147:50:11", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_MarketplaceInterface_$3620", + "typeString": "contract MarketplaceInterface" + }, + "typeName": { + "contractScope": null, + "id": 3519, + "name": "MarketplaceInterface", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 3620, + "src": "147:20:11", + "typeDescriptions": { + "typeIdentifier": "t_contract$_MarketplaceInterface_$3620", + "typeString": "contract MarketplaceInterface" + } + }, + "value": null, + "visibility": "internal" + }, + { + "body": { + "id": 3543, + "nodeType": "Block", + "src": "365:164:11", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 3530, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3526, + "name": "_marketplaceAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3522, + "src": "377:19:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 3528, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "408:1:11", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 3527, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "400:7:11", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 3529, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "400:10:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "377:33:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3525, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "369:7:11", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3531, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "369:42:11", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3532, + "nodeType": "ExpressionStatement", + "src": "369:42:11" + }, + { + "expression": { + "argumentTypes": null, + "id": 3535, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 3533, + "name": "marketplaceAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3518, + "src": "415:18:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 3534, + "name": "_marketplaceAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3522, + "src": "438:19:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "415:42:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 3536, + "nodeType": "ExpressionStatement", + "src": "415:42:11" + }, + { + "expression": { + "argumentTypes": null, + "id": 3541, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 3537, + "name": "marketplaceInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3520, + "src": "461:20:11", + "typeDescriptions": { + "typeIdentifier": "t_contract$_MarketplaceInterface_$3620", + "typeString": "contract MarketplaceInterface" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3539, + "name": "_marketplaceAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3522, + "src": "505:19:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 3538, + "name": "MarketplaceInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3620, + "src": "484:20:11", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_MarketplaceInterface_$3620_$", + "typeString": "type(contract MarketplaceInterface)" + } + }, + "id": 3540, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "484:41:11", + "typeDescriptions": { + "typeIdentifier": "t_contract$_MarketplaceInterface_$3620", + "typeString": "contract MarketplaceInterface" + } + }, + "src": "461:64:11", + "typeDescriptions": { + "typeIdentifier": "t_contract$_MarketplaceInterface_$3620", + "typeString": "contract MarketplaceInterface" + } + }, + "id": 3542, + "nodeType": "ExpressionStatement", + "src": "461:64:11" + } + ] + }, + "documentation": null, + "id": 3544, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "MarketplaceAccessor", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3523, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3522, + "name": "_marketplaceAddress", + "nodeType": "VariableDeclaration", + "scope": 3544, + "src": "328:27:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3521, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "328:7:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "327:29:11" + }, + "payable": false, + "returnParameters": { + "id": 3524, + "nodeType": "ParameterList", + "parameters": [], + "src": "365:0:11" + }, + "scope": 3545, + "src": "299:230:11", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 3546, + "src": "64:467:11" + } + ], + "src": "0:532:11" + }, + "compiler": { + "name": "solc", + "version": "0.4.21+commit.dfe3193c.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "2.0.0", + "updatedAt": "2018-06-12T14:56:21.149Z" +} \ No newline at end of file diff --git a/deployed/contracts/MarketplaceInterface.json b/deployed/contracts/MarketplaceInterface.json new file mode 100644 index 00000000..d88bef90 --- /dev/null +++ b/deployed/contracts/MarketplaceInterface.json @@ -0,0 +1,2041 @@ +{ + "contractName": "MarketplaceInterface", + "abi": [ + { + "constant": false, + "inputs": [ + { + "name": "_direction", + "type": "uint8" + }, + { + "name": "_category", + "type": "uint256" + }, + { + "name": "_trust", + "type": "uint256" + }, + { + "name": "_value", + "type": "uint256" + }, + { + "name": "_workerpool", + "type": "address" + }, + { + "name": "_volume", + "type": "uint256" + } + ], + "name": "createMarketOrder", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_marketorderIdx", + "type": "uint256" + } + ], + "name": "closeMarketOrder", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_marketorderIdx", + "type": "uint256" + } + ], + "name": "getMarketOrderValue", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_marketorderIdx", + "type": "uint256" + } + ], + "name": "getMarketOrderWorkerpoolOwner", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_marketorderIdx", + "type": "uint256" + } + ], + "name": "getMarketOrderCategory", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_marketorderIdx", + "type": "uint256" + } + ], + "name": "getMarketOrderTrust", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_marketorderIdx", + "type": "uint256" + } + ], + "name": "getMarketOrder", + "outputs": [ + { + "name": "direction", + "type": "uint8" + }, + { + "name": "category", + "type": "uint256" + }, + { + "name": "trust", + "type": "uint256" + }, + { + "name": "value", + "type": "uint256" + }, + { + "name": "volume", + "type": "uint256" + }, + { + "name": "remaining", + "type": "uint256" + }, + { + "name": "workerpool", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "sourceMap": "", + "deployedSourceMap": "", + "source": "pragma solidity ^0.4.21;\nimport './IexecLib.sol';\ncontract MarketplaceInterface\n{\n\tfunction createMarketOrder(\n\t\tIexecLib.MarketOrderDirectionEnum _direction,\n\t\tuint256 _category,\n\t\tuint256 _trust,\n\t\tuint256 _value,\n\t\taddress _workerpool,\n\t\tuint256 _volume)\n\tpublic returns (uint);\n\n\tfunction closeMarketOrder(\n\t\tuint256 _marketorderIdx)\n\tpublic returns (bool);\n\n\tfunction getMarketOrderValue(\n\t\tuint256 _marketorderIdx)\n\tpublic view returns(uint256);\n\n\tfunction getMarketOrderWorkerpoolOwner(\n\t\tuint256 _marketorderIdx)\n\tpublic view returns(address);\n\n\tfunction getMarketOrderCategory(\n\t\tuint256 _marketorderIdx)\n\tpublic view returns (uint256);\n\n\tfunction getMarketOrderTrust(\n\t\tuint256 _marketorderIdx)\n\tpublic view returns(uint256);\n\n\tfunction getMarketOrder(\n\t\tuint256 _marketorderIdx)\n\tpublic view returns(\n\t\tIexecLib.MarketOrderDirectionEnum direction,\n\t\tuint256 category, // runtime selection\n\t\tuint256 trust, // for PoCo\n\t\tuint256 value, // value/cost/price\n\t\tuint256 volume, // quantity of instances (total)\n\t\tuint256 remaining, // remaining instances\n\t\taddress workerpool); // BID can use null for any\n}\n", + "sourcePath": "/Users/fbranci/iexecdev/PoCo/contracts/MarketplaceInterface.sol", + "ast": { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/MarketplaceInterface.sol", + "exportedSymbols": { + "MarketplaceInterface": [ + 3620 + ] + }, + "id": 3621, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 3547, + "literals": [ + "solidity", + "^", + "0.4", + ".21" + ], + "nodeType": "PragmaDirective", + "src": "0:24:12" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/IexecLib.sol", + "file": "./IexecLib.sol", + "id": 3548, + "nodeType": "ImportDirective", + "scope": 3621, + "sourceUnit": 2894, + "src": "25:24:12", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": false, + "id": 3620, + "linearizedBaseContracts": [ + 3620 + ], + "name": "MarketplaceInterface", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": null, + "documentation": null, + "id": 3565, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "createMarketOrder", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3561, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3550, + "name": "_direction", + "nodeType": "VariableDeclaration", + "scope": 3565, + "src": "113:44:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2809", + "typeString": "enum IexecLib.MarketOrderDirectionEnum" + }, + "typeName": { + "contractScope": null, + "id": 3549, + "name": "IexecLib.MarketOrderDirectionEnum", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2809, + "src": "113:33:12", + "typeDescriptions": { + "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2809", + "typeString": "enum IexecLib.MarketOrderDirectionEnum" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3552, + "name": "_category", + "nodeType": "VariableDeclaration", + "scope": 3565, + "src": "161:17:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3551, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "161:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3554, + "name": "_trust", + "nodeType": "VariableDeclaration", + "scope": 3565, + "src": "182:14:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3553, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "182:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3556, + "name": "_value", + "nodeType": "VariableDeclaration", + "scope": 3565, + "src": "200:14:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3555, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "200:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3558, + "name": "_workerpool", + "nodeType": "VariableDeclaration", + "scope": 3565, + "src": "218:19:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3557, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "218:7:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3560, + "name": "_volume", + "nodeType": "VariableDeclaration", + "scope": 3565, + "src": "241:15:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3559, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "241:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "109:148:12" + }, + "payable": false, + "returnParameters": { + "id": 3564, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3563, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 3565, + "src": "275:4:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3562, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "275:4:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "274:6:12" + }, + "scope": 3620, + "src": "83:198:12", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 3572, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "closeMarketOrder", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3568, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3567, + "name": "_marketorderIdx", + "nodeType": "VariableDeclaration", + "scope": 3572, + "src": "313:23:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3566, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "313:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "309:28:12" + }, + "payable": false, + "returnParameters": { + "id": 3571, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3570, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 3572, + "src": "355:4:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 3569, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "355:4:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "354:6:12" + }, + "scope": 3620, + "src": "284:77:12", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 3579, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getMarketOrderValue", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3575, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3574, + "name": "_marketorderIdx", + "nodeType": "VariableDeclaration", + "scope": 3579, + "src": "396:23:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3573, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "396:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "392:28:12" + }, + "payable": false, + "returnParameters": { + "id": 3578, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3577, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 3579, + "src": "442:7:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3576, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "442:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "441:9:12" + }, + "scope": 3620, + "src": "364:87:12", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 3586, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getMarketOrderWorkerpoolOwner", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3582, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3581, + "name": "_marketorderIdx", + "nodeType": "VariableDeclaration", + "scope": 3586, + "src": "496:23:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3580, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "496:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "492:28:12" + }, + "payable": false, + "returnParameters": { + "id": 3585, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3584, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 3586, + "src": "542:7:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3583, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "542:7:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "541:9:12" + }, + "scope": 3620, + "src": "454:97:12", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 3593, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getMarketOrderCategory", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3589, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3588, + "name": "_marketorderIdx", + "nodeType": "VariableDeclaration", + "scope": 3593, + "src": "589:23:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3587, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "589:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "585:28:12" + }, + "payable": false, + "returnParameters": { + "id": 3592, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3591, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 3593, + "src": "636:7:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3590, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "636:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "635:9:12" + }, + "scope": 3620, + "src": "554:91:12", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 3600, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getMarketOrderTrust", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3596, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3595, + "name": "_marketorderIdx", + "nodeType": "VariableDeclaration", + "scope": 3600, + "src": "680:23:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3594, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "680:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "676:28:12" + }, + "payable": false, + "returnParameters": { + "id": 3599, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3598, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 3600, + "src": "726:7:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3597, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "726:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "725:9:12" + }, + "scope": 3620, + "src": "648:87:12", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 3619, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getMarketOrder", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3603, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3602, + "name": "_marketorderIdx", + "nodeType": "VariableDeclaration", + "scope": 3619, + "src": "765:23:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3601, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "765:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "761:28:12" + }, + "payable": false, + "returnParameters": { + "id": 3618, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3605, + "name": "direction", + "nodeType": "VariableDeclaration", + "scope": 3619, + "src": "814:43:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2809", + "typeString": "enum IexecLib.MarketOrderDirectionEnum" + }, + "typeName": { + "contractScope": null, + "id": 3604, + "name": "IexecLib.MarketOrderDirectionEnum", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2809, + "src": "814:33:12", + "typeDescriptions": { + "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2809", + "typeString": "enum IexecLib.MarketOrderDirectionEnum" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3607, + "name": "category", + "nodeType": "VariableDeclaration", + "scope": 3619, + "src": "861:16:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3606, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "861:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3609, + "name": "trust", + "nodeType": "VariableDeclaration", + "scope": 3619, + "src": "908:13:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3608, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "908:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3611, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 3619, + "src": "946:13:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3610, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "946:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3613, + "name": "volume", + "nodeType": "VariableDeclaration", + "scope": 3619, + "src": "992:14:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3612, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "992:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3615, + "name": "remaining", + "nodeType": "VariableDeclaration", + "scope": 3619, + "src": "1051:17:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3614, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1051:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3617, + "name": "workerpool", + "nodeType": "VariableDeclaration", + "scope": 3619, + "src": "1100:18:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3616, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1100:7:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "810:309:12" + }, + "scope": 3620, + "src": "738:382:12", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 3621, + "src": "50:1103:12" + } + ], + "src": "0:1154:12" + }, + "legacyAST": { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/MarketplaceInterface.sol", + "exportedSymbols": { + "MarketplaceInterface": [ + 3620 + ] + }, + "id": 3621, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 3547, + "literals": [ + "solidity", + "^", + "0.4", + ".21" + ], + "nodeType": "PragmaDirective", + "src": "0:24:12" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/IexecLib.sol", + "file": "./IexecLib.sol", + "id": 3548, + "nodeType": "ImportDirective", + "scope": 3621, + "sourceUnit": 2894, + "src": "25:24:12", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": false, + "id": 3620, + "linearizedBaseContracts": [ + 3620 + ], + "name": "MarketplaceInterface", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": null, + "documentation": null, + "id": 3565, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "createMarketOrder", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3561, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3550, + "name": "_direction", + "nodeType": "VariableDeclaration", + "scope": 3565, + "src": "113:44:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2809", + "typeString": "enum IexecLib.MarketOrderDirectionEnum" + }, + "typeName": { + "contractScope": null, + "id": 3549, + "name": "IexecLib.MarketOrderDirectionEnum", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2809, + "src": "113:33:12", + "typeDescriptions": { + "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2809", + "typeString": "enum IexecLib.MarketOrderDirectionEnum" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3552, + "name": "_category", + "nodeType": "VariableDeclaration", + "scope": 3565, + "src": "161:17:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3551, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "161:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3554, + "name": "_trust", + "nodeType": "VariableDeclaration", + "scope": 3565, + "src": "182:14:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3553, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "182:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3556, + "name": "_value", + "nodeType": "VariableDeclaration", + "scope": 3565, + "src": "200:14:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3555, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "200:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3558, + "name": "_workerpool", + "nodeType": "VariableDeclaration", + "scope": 3565, + "src": "218:19:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3557, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "218:7:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3560, + "name": "_volume", + "nodeType": "VariableDeclaration", + "scope": 3565, + "src": "241:15:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3559, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "241:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "109:148:12" + }, + "payable": false, + "returnParameters": { + "id": 3564, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3563, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 3565, + "src": "275:4:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3562, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "275:4:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "274:6:12" + }, + "scope": 3620, + "src": "83:198:12", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 3572, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "closeMarketOrder", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3568, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3567, + "name": "_marketorderIdx", + "nodeType": "VariableDeclaration", + "scope": 3572, + "src": "313:23:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3566, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "313:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "309:28:12" + }, + "payable": false, + "returnParameters": { + "id": 3571, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3570, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 3572, + "src": "355:4:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 3569, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "355:4:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "354:6:12" + }, + "scope": 3620, + "src": "284:77:12", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 3579, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getMarketOrderValue", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3575, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3574, + "name": "_marketorderIdx", + "nodeType": "VariableDeclaration", + "scope": 3579, + "src": "396:23:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3573, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "396:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "392:28:12" + }, + "payable": false, + "returnParameters": { + "id": 3578, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3577, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 3579, + "src": "442:7:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3576, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "442:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "441:9:12" + }, + "scope": 3620, + "src": "364:87:12", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 3586, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getMarketOrderWorkerpoolOwner", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3582, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3581, + "name": "_marketorderIdx", + "nodeType": "VariableDeclaration", + "scope": 3586, + "src": "496:23:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3580, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "496:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "492:28:12" + }, + "payable": false, + "returnParameters": { + "id": 3585, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3584, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 3586, + "src": "542:7:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3583, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "542:7:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "541:9:12" + }, + "scope": 3620, + "src": "454:97:12", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 3593, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getMarketOrderCategory", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3589, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3588, + "name": "_marketorderIdx", + "nodeType": "VariableDeclaration", + "scope": 3593, + "src": "589:23:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3587, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "589:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "585:28:12" + }, + "payable": false, + "returnParameters": { + "id": 3592, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3591, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 3593, + "src": "636:7:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3590, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "636:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "635:9:12" + }, + "scope": 3620, + "src": "554:91:12", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 3600, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getMarketOrderTrust", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3596, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3595, + "name": "_marketorderIdx", + "nodeType": "VariableDeclaration", + "scope": 3600, + "src": "680:23:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3594, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "680:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "676:28:12" + }, + "payable": false, + "returnParameters": { + "id": 3599, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3598, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 3600, + "src": "726:7:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3597, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "726:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "725:9:12" + }, + "scope": 3620, + "src": "648:87:12", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 3619, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getMarketOrder", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3603, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3602, + "name": "_marketorderIdx", + "nodeType": "VariableDeclaration", + "scope": 3619, + "src": "765:23:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3601, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "765:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "761:28:12" + }, + "payable": false, + "returnParameters": { + "id": 3618, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3605, + "name": "direction", + "nodeType": "VariableDeclaration", + "scope": 3619, + "src": "814:43:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2809", + "typeString": "enum IexecLib.MarketOrderDirectionEnum" + }, + "typeName": { + "contractScope": null, + "id": 3604, + "name": "IexecLib.MarketOrderDirectionEnum", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2809, + "src": "814:33:12", + "typeDescriptions": { + "typeIdentifier": "t_enum$_MarketOrderDirectionEnum_$2809", + "typeString": "enum IexecLib.MarketOrderDirectionEnum" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3607, + "name": "category", + "nodeType": "VariableDeclaration", + "scope": 3619, + "src": "861:16:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3606, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "861:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3609, + "name": "trust", + "nodeType": "VariableDeclaration", + "scope": 3619, + "src": "908:13:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3608, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "908:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3611, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 3619, + "src": "946:13:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3610, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "946:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3613, + "name": "volume", + "nodeType": "VariableDeclaration", + "scope": 3619, + "src": "992:14:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3612, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "992:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3615, + "name": "remaining", + "nodeType": "VariableDeclaration", + "scope": 3619, + "src": "1051:17:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3614, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1051:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3617, + "name": "workerpool", + "nodeType": "VariableDeclaration", + "scope": 3619, + "src": "1100:18:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3616, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1100:7:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "810:309:12" + }, + "scope": 3620, + "src": "738:382:12", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 3621, + "src": "50:1103:12" + } + ], + "src": "0:1154:12" + }, + "compiler": { + "name": "solc", + "version": "0.4.21+commit.dfe3193c.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "2.0.0", + "updatedAt": "2018-06-12T14:56:21.149Z" +} \ No newline at end of file diff --git a/deployed/contracts/Migrations.json b/deployed/contracts/Migrations.json new file mode 100644 index 00000000..81c8f6de --- /dev/null +++ b/deployed/contracts/Migrations.json @@ -0,0 +1,1387 @@ +{ + "contractName": "Migrations", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "last_completed_migration", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "owner", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "constant": false, + "inputs": [ + { + "name": "completed", + "type": "uint256" + } + ], + "name": "setCompleted", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "new_address", + "type": "address" + } + ], + "name": "upgrade", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x6060604052341561000f57600080fd5b60008054600160a060020a033316600160a060020a03199091161790556102318061003b6000396000f3006060604052600436106100615763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630900f0108114610066578063445df0ac146100945780638da5cb5b146100b9578063fdacd576146100f5575b600080fd5b341561007157600080fd5b61009273ffffffffffffffffffffffffffffffffffffffff6004351661010b565b005b341561009f57600080fd5b6100a76101b6565b60405190815260200160405180910390f35b34156100c457600080fd5b6100cc6101bc565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b341561010057600080fd5b6100926004356101d8565b600080543373ffffffffffffffffffffffffffffffffffffffff908116911614156101b2578190508073ffffffffffffffffffffffffffffffffffffffff1663fdacd5766001546040517c010000000000000000000000000000000000000000000000000000000063ffffffff84160281526004810191909152602401600060405180830381600087803b15156101a157600080fd5b5af115156101ae57600080fd5b5050505b5050565b60015481565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b6000543373ffffffffffffffffffffffffffffffffffffffff908116911614156102025760018190555b505600a165627a7a72305820caa56e9b5581d42b13fc1eb71a3471f8d4597a5bf505905ab933435114cc87c10029", + "deployedBytecode": "0x6060604052600436106100615763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630900f0108114610066578063445df0ac146100945780638da5cb5b146100b9578063fdacd576146100f5575b600080fd5b341561007157600080fd5b61009273ffffffffffffffffffffffffffffffffffffffff6004351661010b565b005b341561009f57600080fd5b6100a76101b6565b60405190815260200160405180910390f35b34156100c457600080fd5b6100cc6101bc565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b341561010057600080fd5b6100926004356101d8565b600080543373ffffffffffffffffffffffffffffffffffffffff908116911614156101b2578190508073ffffffffffffffffffffffffffffffffffffffff1663fdacd5766001546040517c010000000000000000000000000000000000000000000000000000000063ffffffff84160281526004810191909152602401600060405180830381600087803b15156101a157600080fd5b5af115156101ae57600080fd5b5050505b5050565b60015481565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b6000543373ffffffffffffffffffffffffffffffffffffffff908116911614156102025760018190555b505600a165627a7a72305820caa56e9b5581d42b13fc1eb71a3471f8d4597a5bf505905ab933435114cc87c10029", + "sourceMap": "25:499:13:-;;;198:56;;;;;;;;232:5;:18;;-1:-1:-1;;;;;240:10:13;232:18;-1:-1:-1;;;;;;232:18:13;;;;;;25:499;;;;;;", + "deployedSourceMap": "25:499:13:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;361:161;;;;;;;;;;;;;;;;;;71:39;;;;;;;;;;;;;;;;;;;;;;;;;;;48:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;257:101;;;;;;;;;;;;;;361:161;422:19;159:5;;145:10;159:5;145:19;;;159:5;;145:19;141:26;;;455:11;422:45;;471:8;:21;;;493:24;;471:47;;;;;;;;;;;;;;;;;;-1:-1:-1;471:47:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;141:26;361:161;;:::o;71:39::-;;;;:::o;48:20::-;;;;;;:::o;257:101::-;159:5;;145:10;159:5;145:19;;;159:5;;145:19;141:26;;;318:24;:36;;;141:26;257:101;:::o", + "source": "pragma solidity ^0.4.4;\n\ncontract Migrations\n{\n\taddress public owner;\n\tuint public last_completed_migration;\n\n\tmodifier restricted()\n\t{\n\t\tif (msg.sender == owner) _; // TODO: if → require\n\t}\n\n\tfunction Migrations() public\n\t{\n\t\towner = msg.sender;\n\t}\n\n\tfunction setCompleted(uint completed) public restricted\n\t{\n\t\tlast_completed_migration = completed;\n\t}\n\n\tfunction upgrade(address new_address) public restricted\n\t{\n\t\tMigrations upgraded = Migrations(new_address);\n\t\tupgraded.setCompleted(last_completed_migration);\n\t}\n}\n", + "sourcePath": "/Users/fbranci/iexecdev/PoCo/contracts/Migrations.sol", + "ast": { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/Migrations.sol", + "exportedSymbols": { + "Migrations": [ + 3677 + ] + }, + "id": 3678, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 3622, + "literals": [ + "solidity", + "^", + "0.4", + ".4" + ], + "nodeType": "PragmaDirective", + "src": "0:23:13" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 3677, + "linearizedBaseContracts": [ + 3677 + ], + "name": "Migrations", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 3624, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 3677, + "src": "48:20:13", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3623, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "48:7:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 3626, + "name": "last_completed_migration", + "nodeType": "VariableDeclaration", + "scope": 3677, + "src": "71:39:13", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3625, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "71:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "public" + }, + { + "body": { + "id": 3634, + "nodeType": "Block", + "src": "137:58:13", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 3631, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3628, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "145:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 3629, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "145:10:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 3630, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3624, + "src": "159:5:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "145:19:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 3633, + "nodeType": "IfStatement", + "src": "141:26:13", + "trueBody": { + "id": 3632, + "nodeType": "PlaceholderStatement", + "src": "166:1:13" + } + } + ] + }, + "documentation": null, + "id": 3635, + "name": "restricted", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 3627, + "nodeType": "ParameterList", + "parameters": [], + "src": "133:2:13" + }, + "src": "114:81:13", + "visibility": "internal" + }, + { + "body": { + "id": 3643, + "nodeType": "Block", + "src": "228:26:13", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 3641, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 3638, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3624, + "src": "232:5:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3639, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "240:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 3640, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "240:10:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "232:18:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 3642, + "nodeType": "ExpressionStatement", + "src": "232:18:13" + } + ] + }, + "documentation": null, + "id": 3644, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "Migrations", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3636, + "nodeType": "ParameterList", + "parameters": [], + "src": "217:2:13" + }, + "payable": false, + "returnParameters": { + "id": 3637, + "nodeType": "ParameterList", + "parameters": [], + "src": "228:0:13" + }, + "scope": 3677, + "src": "198:56:13", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 3655, + "nodeType": "Block", + "src": "314:44:13", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 3653, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 3651, + "name": "last_completed_migration", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3626, + "src": "318:24:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 3652, + "name": "completed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3646, + "src": "345:9:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "318:36:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3654, + "nodeType": "ExpressionStatement", + "src": "318:36:13" + } + ] + }, + "documentation": null, + "id": 3656, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 3649, + "modifierName": { + "argumentTypes": null, + "id": 3648, + "name": "restricted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3635, + "src": "302:10:13", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "302:10:13" + } + ], + "name": "setCompleted", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3647, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3646, + "name": "completed", + "nodeType": "VariableDeclaration", + "scope": 3656, + "src": "279:14:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3645, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "279:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "278:16:13" + }, + "payable": false, + "returnParameters": { + "id": 3650, + "nodeType": "ParameterList", + "parameters": [], + "src": "314:0:13" + }, + "scope": 3677, + "src": "257:101:13", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 3675, + "nodeType": "Block", + "src": "418:104:13", + "statements": [ + { + "assignments": [ + 3664 + ], + "declarations": [ + { + "constant": false, + "id": 3664, + "name": "upgraded", + "nodeType": "VariableDeclaration", + "scope": 3676, + "src": "422:19:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Migrations_$3677", + "typeString": "contract Migrations" + }, + "typeName": { + "contractScope": null, + "id": 3663, + "name": "Migrations", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 3677, + "src": "422:10:13", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Migrations_$3677", + "typeString": "contract Migrations" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 3668, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3666, + "name": "new_address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3658, + "src": "455:11:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 3665, + "name": "Migrations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3677, + "src": "444:10:13", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Migrations_$3677_$", + "typeString": "type(contract Migrations)" + } + }, + "id": 3667, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "444:23:13", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Migrations_$3677", + "typeString": "contract Migrations" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "422:45:13" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3672, + "name": "last_completed_migration", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3626, + "src": "493:24:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 3669, + "name": "upgraded", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3664, + "src": "471:8:13", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Migrations_$3677", + "typeString": "contract Migrations" + } + }, + "id": 3671, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "setCompleted", + "nodeType": "MemberAccess", + "referencedDeclaration": 3656, + "src": "471:21:13", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256) external" + } + }, + "id": 3673, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "471:47:13", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3674, + "nodeType": "ExpressionStatement", + "src": "471:47:13" + } + ] + }, + "documentation": null, + "id": 3676, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 3661, + "modifierName": { + "argumentTypes": null, + "id": 3660, + "name": "restricted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3635, + "src": "406:10:13", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "406:10:13" + } + ], + "name": "upgrade", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3659, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3658, + "name": "new_address", + "nodeType": "VariableDeclaration", + "scope": 3676, + "src": "378:19:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3657, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "378:7:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "377:21:13" + }, + "payable": false, + "returnParameters": { + "id": 3662, + "nodeType": "ParameterList", + "parameters": [], + "src": "418:0:13" + }, + "scope": 3677, + "src": "361:161:13", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 3678, + "src": "25:499:13" + } + ], + "src": "0:525:13" + }, + "legacyAST": { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/Migrations.sol", + "exportedSymbols": { + "Migrations": [ + 3677 + ] + }, + "id": 3678, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 3622, + "literals": [ + "solidity", + "^", + "0.4", + ".4" + ], + "nodeType": "PragmaDirective", + "src": "0:23:13" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 3677, + "linearizedBaseContracts": [ + 3677 + ], + "name": "Migrations", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 3624, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 3677, + "src": "48:20:13", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3623, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "48:7:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 3626, + "name": "last_completed_migration", + "nodeType": "VariableDeclaration", + "scope": 3677, + "src": "71:39:13", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3625, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "71:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "public" + }, + { + "body": { + "id": 3634, + "nodeType": "Block", + "src": "137:58:13", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 3631, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3628, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "145:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 3629, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "145:10:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 3630, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3624, + "src": "159:5:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "145:19:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 3633, + "nodeType": "IfStatement", + "src": "141:26:13", + "trueBody": { + "id": 3632, + "nodeType": "PlaceholderStatement", + "src": "166:1:13" + } + } + ] + }, + "documentation": null, + "id": 3635, + "name": "restricted", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 3627, + "nodeType": "ParameterList", + "parameters": [], + "src": "133:2:13" + }, + "src": "114:81:13", + "visibility": "internal" + }, + { + "body": { + "id": 3643, + "nodeType": "Block", + "src": "228:26:13", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 3641, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 3638, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3624, + "src": "232:5:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3639, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "240:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 3640, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "240:10:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "232:18:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 3642, + "nodeType": "ExpressionStatement", + "src": "232:18:13" + } + ] + }, + "documentation": null, + "id": 3644, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "Migrations", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3636, + "nodeType": "ParameterList", + "parameters": [], + "src": "217:2:13" + }, + "payable": false, + "returnParameters": { + "id": 3637, + "nodeType": "ParameterList", + "parameters": [], + "src": "228:0:13" + }, + "scope": 3677, + "src": "198:56:13", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 3655, + "nodeType": "Block", + "src": "314:44:13", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 3653, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 3651, + "name": "last_completed_migration", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3626, + "src": "318:24:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 3652, + "name": "completed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3646, + "src": "345:9:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "318:36:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3654, + "nodeType": "ExpressionStatement", + "src": "318:36:13" + } + ] + }, + "documentation": null, + "id": 3656, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 3649, + "modifierName": { + "argumentTypes": null, + "id": 3648, + "name": "restricted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3635, + "src": "302:10:13", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "302:10:13" + } + ], + "name": "setCompleted", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3647, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3646, + "name": "completed", + "nodeType": "VariableDeclaration", + "scope": 3656, + "src": "279:14:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3645, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "279:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "278:16:13" + }, + "payable": false, + "returnParameters": { + "id": 3650, + "nodeType": "ParameterList", + "parameters": [], + "src": "314:0:13" + }, + "scope": 3677, + "src": "257:101:13", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 3675, + "nodeType": "Block", + "src": "418:104:13", + "statements": [ + { + "assignments": [ + 3664 + ], + "declarations": [ + { + "constant": false, + "id": 3664, + "name": "upgraded", + "nodeType": "VariableDeclaration", + "scope": 3676, + "src": "422:19:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Migrations_$3677", + "typeString": "contract Migrations" + }, + "typeName": { + "contractScope": null, + "id": 3663, + "name": "Migrations", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 3677, + "src": "422:10:13", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Migrations_$3677", + "typeString": "contract Migrations" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 3668, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3666, + "name": "new_address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3658, + "src": "455:11:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 3665, + "name": "Migrations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3677, + "src": "444:10:13", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Migrations_$3677_$", + "typeString": "type(contract Migrations)" + } + }, + "id": 3667, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "444:23:13", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Migrations_$3677", + "typeString": "contract Migrations" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "422:45:13" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3672, + "name": "last_completed_migration", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3626, + "src": "493:24:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 3669, + "name": "upgraded", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3664, + "src": "471:8:13", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Migrations_$3677", + "typeString": "contract Migrations" + } + }, + "id": 3671, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "setCompleted", + "nodeType": "MemberAccess", + "referencedDeclaration": 3656, + "src": "471:21:13", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256) external" + } + }, + "id": 3673, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "471:47:13", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3674, + "nodeType": "ExpressionStatement", + "src": "471:47:13" + } + ] + }, + "documentation": null, + "id": 3676, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 3661, + "modifierName": { + "argumentTypes": null, + "id": 3660, + "name": "restricted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3635, + "src": "406:10:13", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "406:10:13" + } + ], + "name": "upgrade", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3659, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3658, + "name": "new_address", + "nodeType": "VariableDeclaration", + "scope": 3676, + "src": "378:19:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3657, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "378:7:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "377:21:13" + }, + "payable": false, + "returnParameters": { + "id": 3662, + "nodeType": "ParameterList", + "parameters": [], + "src": "418:0:13" + }, + "scope": 3677, + "src": "361:161:13", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 3678, + "src": "25:499:13" + } + ], + "src": "0:525:13" + }, + "compiler": { + "name": "solc", + "version": "0.4.21+commit.dfe3193c.Emscripten.clang" + }, + "networks": { + "1": { + "events": {}, + "links": {}, + "address": "0x016dffb35cf40f8723417e5aa2c0bd7adb8a9a62", + "transactionHash": "0xa961d67e562c2252d195c1f2d99e37a68768f173fccbe65e36217acd04d1a8f8" + } + }, + "schemaVersion": "2.0.0", + "updatedAt": "2018-06-12T15:21:39.638Z" +} \ No newline at end of file diff --git a/deployed/contracts/Ownable.json b/deployed/contracts/Ownable.json new file mode 100644 index 00000000..a7272030 --- /dev/null +++ b/deployed/contracts/Ownable.json @@ -0,0 +1,1010 @@ +{ + "contractName": "Ownable", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "owner", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "constant": false, + "inputs": [ + { + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x6060604052341561000f57600080fd5b60008054600160a060020a033316600160a060020a031990911617905561017b8061003b6000396000f30060606040526004361061004b5763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416638da5cb5b8114610050578063f2fde38b1461008c575b600080fd5b341561005b57600080fd5b6100636100ba565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b341561009757600080fd5b6100b873ffffffffffffffffffffffffffffffffffffffff600435166100d6565b005b60005473ffffffffffffffffffffffffffffffffffffffff1681565b6000543373ffffffffffffffffffffffffffffffffffffffff9081169116141561014c5773ffffffffffffffffffffffffffffffffffffffff81161561014c576000805473ffffffffffffffffffffffffffffffffffffffff191673ffffffffffffffffffffffffffffffffffffffff83161790555b505600a165627a7a723058207eba7ba71ff3ec41ea7a9d0d2ca627d8e678c141174318bd96396b1432107d2b0029", + "deployedBytecode": "0x60606040526004361061004b5763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416638da5cb5b8114610050578063f2fde38b1461008c575b600080fd5b341561005b57600080fd5b6100636100ba565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b341561009757600080fd5b6100b873ffffffffffffffffffffffffffffffffffffffff600435166100d6565b005b60005473ffffffffffffffffffffffffffffffffffffffff1681565b6000543373ffffffffffffffffffffffffffffffffffffffff9081169116141561014c5773ffffffffffffffffffffffffffffffffffffffff81161561014c576000805473ffffffffffffffffffffffffffffffffffffffff191673ffffffffffffffffffffffffffffffffffffffff83161790555b505600a165627a7a723058207eba7ba71ff3ec41ea7a9d0d2ca627d8e678c141174318bd96396b1432107d2b0029", + "sourceMap": "25:279:21:-;;;71:48;;;;;;;;96:5;:18;;-1:-1:-1;;;;;104:10:21;96:18;-1:-1:-1;;;;;;96:18:21;;;;;;25:279;;;;;;", + "deployedSourceMap": "25:279:21:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;46:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;191:110;;;;;;;;;;;;;;;;;;46:20;;;;;;:::o;191:110::-;168:5;;154:10;168:5;154:19;;;168:5;;154:19;150:32;;;256:22;;;;252:44;;280:5;:16;;-1:-1:-1;;280:16:21;;;;;;;252:44;191:110;:::o", + "source": "pragma solidity ^0.4.8;\n\ncontract Ownable {\n address public owner;\n\n function Ownable() {\n owner = msg.sender;\n }\n\n modifier onlyOwner() {\n if (msg.sender == owner)\n _;\n }\n\n function transferOwnership(address newOwner) onlyOwner {\n if (newOwner != address(0)) owner = newOwner;\n }\n\n}", + "sourcePath": "rlc-token/contracts/Ownable.sol", + "ast": { + "absolutePath": "rlc-token/contracts/Ownable.sol", + "exportedSymbols": { + "Ownable": [ + 6456 + ] + }, + "id": 6457, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 6417, + "literals": [ + "solidity", + "^", + "0.4", + ".8" + ], + "nodeType": "PragmaDirective", + "src": "0:23:21" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 6456, + "linearizedBaseContracts": [ + 6456 + ], + "name": "Ownable", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 6419, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 6456, + "src": "46:20:21", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6418, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "46:7:21", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "body": { + "id": 6427, + "nodeType": "Block", + "src": "90:29:21", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 6425, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 6422, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6419, + "src": "96:5:21", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6423, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "104:3:21", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6424, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "104:10:21", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "96:18:21", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 6426, + "nodeType": "ExpressionStatement", + "src": "96:18:21" + } + ] + }, + "documentation": null, + "id": 6428, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "Ownable", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6420, + "nodeType": "ParameterList", + "parameters": [], + "src": "87:2:21" + }, + "payable": false, + "returnParameters": { + "id": 6421, + "nodeType": "ParameterList", + "parameters": [], + "src": "90:0:21" + }, + "scope": 6456, + "src": "71:48:21", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 6436, + "nodeType": "Block", + "src": "144:43:21", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 6433, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6430, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "154:3:21", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6431, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "154:10:21", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 6432, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6419, + "src": "168:5:21", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "154:19:21", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 6435, + "nodeType": "IfStatement", + "src": "150:32:21", + "trueBody": { + "id": 6434, + "nodeType": "PlaceholderStatement", + "src": "181:1:21" + } + } + ] + }, + "documentation": null, + "id": 6437, + "name": "onlyOwner", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 6429, + "nodeType": "ParameterList", + "parameters": [], + "src": "141:2:21" + }, + "src": "123:64:21", + "visibility": "internal" + }, + { + "body": { + "id": 6454, + "nodeType": "Block", + "src": "246:55:21", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 6448, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 6444, + "name": "newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6439, + "src": "256:8:21", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 6446, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "276:1:21", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 6445, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "268:7:21", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 6447, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "268:10:21", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "256:22:21", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 6453, + "nodeType": "IfStatement", + "src": "252:44:21", + "trueBody": { + "expression": { + "argumentTypes": null, + "id": 6451, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 6449, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6419, + "src": "280:5:21", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 6450, + "name": "newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6439, + "src": "288:8:21", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "280:16:21", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 6452, + "nodeType": "ExpressionStatement", + "src": "280:16:21" + } + } + ] + }, + "documentation": null, + "id": 6455, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 6442, + "modifierName": { + "argumentTypes": null, + "id": 6441, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6437, + "src": "236:9:21", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "236:9:21" + } + ], + "name": "transferOwnership", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6440, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6439, + "name": "newOwner", + "nodeType": "VariableDeclaration", + "scope": 6455, + "src": "218:16:21", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6438, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "218:7:21", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "217:18:21" + }, + "payable": false, + "returnParameters": { + "id": 6443, + "nodeType": "ParameterList", + "parameters": [], + "src": "246:0:21" + }, + "scope": 6456, + "src": "191:110:21", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 6457, + "src": "25:279:21" + } + ], + "src": "0:304:21" + }, + "legacyAST": { + "absolutePath": "rlc-token/contracts/Ownable.sol", + "exportedSymbols": { + "Ownable": [ + 6456 + ] + }, + "id": 6457, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 6417, + "literals": [ + "solidity", + "^", + "0.4", + ".8" + ], + "nodeType": "PragmaDirective", + "src": "0:23:21" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 6456, + "linearizedBaseContracts": [ + 6456 + ], + "name": "Ownable", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 6419, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 6456, + "src": "46:20:21", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6418, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "46:7:21", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "body": { + "id": 6427, + "nodeType": "Block", + "src": "90:29:21", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 6425, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 6422, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6419, + "src": "96:5:21", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6423, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "104:3:21", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6424, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "104:10:21", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "96:18:21", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 6426, + "nodeType": "ExpressionStatement", + "src": "96:18:21" + } + ] + }, + "documentation": null, + "id": 6428, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "Ownable", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6420, + "nodeType": "ParameterList", + "parameters": [], + "src": "87:2:21" + }, + "payable": false, + "returnParameters": { + "id": 6421, + "nodeType": "ParameterList", + "parameters": [], + "src": "90:0:21" + }, + "scope": 6456, + "src": "71:48:21", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 6436, + "nodeType": "Block", + "src": "144:43:21", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 6433, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6430, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "154:3:21", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6431, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "154:10:21", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 6432, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6419, + "src": "168:5:21", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "154:19:21", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 6435, + "nodeType": "IfStatement", + "src": "150:32:21", + "trueBody": { + "id": 6434, + "nodeType": "PlaceholderStatement", + "src": "181:1:21" + } + } + ] + }, + "documentation": null, + "id": 6437, + "name": "onlyOwner", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 6429, + "nodeType": "ParameterList", + "parameters": [], + "src": "141:2:21" + }, + "src": "123:64:21", + "visibility": "internal" + }, + { + "body": { + "id": 6454, + "nodeType": "Block", + "src": "246:55:21", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 6448, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 6444, + "name": "newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6439, + "src": "256:8:21", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 6446, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "276:1:21", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 6445, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "268:7:21", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 6447, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "268:10:21", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "256:22:21", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 6453, + "nodeType": "IfStatement", + "src": "252:44:21", + "trueBody": { + "expression": { + "argumentTypes": null, + "id": 6451, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 6449, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6419, + "src": "280:5:21", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 6450, + "name": "newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6439, + "src": "288:8:21", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "280:16:21", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 6452, + "nodeType": "ExpressionStatement", + "src": "280:16:21" + } + } + ] + }, + "documentation": null, + "id": 6455, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 6442, + "modifierName": { + "argumentTypes": null, + "id": 6441, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6437, + "src": "236:9:21", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "236:9:21" + } + ], + "name": "transferOwnership", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6440, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6439, + "name": "newOwner", + "nodeType": "VariableDeclaration", + "scope": 6455, + "src": "218:16:21", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6438, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "218:7:21", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "217:18:21" + }, + "payable": false, + "returnParameters": { + "id": 6443, + "nodeType": "ParameterList", + "parameters": [], + "src": "246:0:21" + }, + "scope": 6456, + "src": "191:110:21", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 6457, + "src": "25:279:21" + } + ], + "src": "0:304:21" + }, + "compiler": { + "name": "solc", + "version": "0.4.21+commit.dfe3193c.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "2.0.0", + "updatedAt": "2018-06-12T14:56:21.164Z" +} \ No newline at end of file diff --git a/deployed/contracts/OwnableOZ.json b/deployed/contracts/OwnableOZ.json new file mode 100644 index 00000000..769c09f3 --- /dev/null +++ b/deployed/contracts/OwnableOZ.json @@ -0,0 +1,1825 @@ +{ + "contractName": "OwnableOZ", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "m_owner", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "m_changeable", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "constant": false, + "inputs": [ + { + "name": "_newOwner", + "type": "address" + } + ], + "name": "setImmutableOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x6060604052341561000f57600080fd5b6000805474010000000000000000000000000000000000000000600160a060020a031990911633600160a060020a03161760a060020a60ff02191617815561020a90819061005d90396000f3006060604052600436106100565763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663bbac78a9811461005b578063deff41c11461007c578063e21b9d08146100ab575b600080fd5b341561006657600080fd5b61007a600160a060020a03600435166100d2565b005b341561008757600080fd5b61008f6101ae565b604051600160a060020a03909116815260200160405180910390f35b34156100b657600080fd5b6100be6101bd565b604051901515815260200160405180910390f35b60005433600160a060020a039081169116146100ed57600080fd5b60005474010000000000000000000000000000000000000000900460ff16151561011657600080fd5b600160a060020a038116151561012b57600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911774ff000000000000000000000000000000000000000019169055565b600054600160a060020a031681565b60005474010000000000000000000000000000000000000000900460ff16815600a165627a7a723058206dc7dd83acdf1fb6761165c084534671752be8df9847ee74aacfa7cc50f721a60029", + "deployedBytecode": "0x6060604052600436106100565763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663bbac78a9811461005b578063deff41c11461007c578063e21b9d08146100ab575b600080fd5b341561006657600080fd5b61007a600160a060020a03600435166100d2565b005b341561008757600080fd5b61008f6101ae565b604051600160a060020a03909116815260200160405180910390f35b34156100b657600080fd5b6100be6101bd565b604051901515815260200160405180910390f35b60005433600160a060020a039081169116146100ed57600080fd5b60005474010000000000000000000000000000000000000000900460ff16151561011657600080fd5b600160a060020a038116151561012b57600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911774ff000000000000000000000000000000000000000019169055565b600054600160a060020a031681565b60005474010000000000000000000000000000000000000000900460ff16815600a165627a7a723058206dc7dd83acdf1fb6761165c084534671752be8df9847ee74aacfa7cc50f721a60029", + "sourceMap": "216:897:14:-;;;634:85;;;;;;;;667:7;:25;;696:19;-1:-1:-1;;;;;;667:25:14;;;682:10;-1:-1:-1;;;;;667:25:14;;-1:-1:-1;;;;;;696:19:14;;;;216:897;;;;;;;;", + "deployedSourceMap": "216:897:14:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;876:234;;;;;;;;;;-1:-1:-1;;;;;876:234:14;;;;;;;238:22;;;;;;;;;;;;;;;-1:-1:-1;;;;;238:22:14;;;;;;;;;;;;;;263:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;876:234;502:7;;488:10;-1:-1:-1;;;;;488:21:14;;;502:7;;488:21;480:30;;;;;;956:12;;;;;;;948:21;;;;;;;;-1:-1:-1;;;;;981:23:14;;;;973:32;;;;;;1035:7;;-1:-1:-1;;;;;1014:40:14;;;;1035:7;1014:40;;;;;;;;;;1058:7;:24;;-1:-1:-1;;1058:24:14;-1:-1:-1;;;;;1058:24:14;;;;;;;;-1:-1:-1;;1086:20:14;;;876:234::o;238:22::-;;;-1:-1:-1;;;;;238:22:14;;:::o;263:27::-;;;;;;;;;:::o", + "source": "pragma solidity ^0.4.21;\n\n/**\n * @title Ownable\n * @dev The Ownable contract has an owner address, and provides basic authorization control\n * functions, this simplifies the implementation of \"user permissions\".\n */\ncontract OwnableOZ\n{\n\taddress public m_owner;\n\tbool public m_changeable;\n\n\tevent OwnershipTransferred(address indexed previousOwner, address indexed newOwner);\n\n\t/**\n\t * @dev Throws if called by any account other than the owner.\n\t */\n\tmodifier onlyOwner()\n\t{\n\t\trequire(msg.sender == m_owner);\n\t\t_;\n\t}\n\n\t/**\n\t * @dev The Ownable constructor sets the original `owner` of the contract to the sender\n\t * account.\n\t */\n\tfunction OwnableOZ() public\n\t{\n\t\tm_owner = msg.sender;\n\t\tm_changeable = true;\n\t}\n\n\t/**\n\t * @dev Allows the current owner to transfer control of the contract to a newOwner.\n\t * @param _newOwner The address to transfer ownership to.\n\t */\n\tfunction setImmutableOwnership(address _newOwner) public onlyOwner\n\t{\n\t\trequire(m_changeable);\n\t\trequire(_newOwner != address(0));\n\t\temit OwnershipTransferred(m_owner, _newOwner);\n\t\tm_owner = _newOwner;\n\t\tm_changeable = false;\n\t}\n\n}\n", + "sourcePath": "/Users/fbranci/iexecdev/PoCo/contracts/OwnableOZ.sol", + "ast": { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/OwnableOZ.sol", + "exportedSymbols": { + "OwnableOZ": [ + 3747 + ] + }, + "id": 3748, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 3679, + "literals": [ + "solidity", + "^", + "0.4", + ".21" + ], + "nodeType": "PragmaDirective", + "src": "0:24:14" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": "@title Ownable\n@dev The Ownable contract has an owner address, and provides basic authorization control\nfunctions, this simplifies the implementation of \"user permissions\".", + "fullyImplemented": true, + "id": 3747, + "linearizedBaseContracts": [ + 3747 + ], + "name": "OwnableOZ", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 3681, + "name": "m_owner", + "nodeType": "VariableDeclaration", + "scope": 3747, + "src": "238:22:14", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3680, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "238:7:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 3683, + "name": "m_changeable", + "nodeType": "VariableDeclaration", + "scope": 3747, + "src": "263:27:14", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 3682, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "263:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "public" + }, + { + "anonymous": false, + "documentation": null, + "id": 3689, + "name": "OwnershipTransferred", + "nodeType": "EventDefinition", + "parameters": { + "id": 3688, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3685, + "indexed": true, + "name": "previousOwner", + "nodeType": "VariableDeclaration", + "scope": 3689, + "src": "321:29:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3684, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "321:7:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3687, + "indexed": true, + "name": "newOwner", + "nodeType": "VariableDeclaration", + "scope": 3689, + "src": "352:24:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3686, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "352:7:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "320:57:14" + }, + "src": "294:84:14" + }, + { + "body": { + "id": 3699, + "nodeType": "Block", + "src": "476:43:14", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 3695, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3692, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "488:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 3693, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "488:10:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 3694, + "name": "m_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3681, + "src": "502:7:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "488:21:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3691, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "480:7:14", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3696, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "480:30:14", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3697, + "nodeType": "ExpressionStatement", + "src": "480:30:14" + }, + { + "id": 3698, + "nodeType": "PlaceholderStatement", + "src": "514:1:14" + } + ] + }, + "documentation": "@dev Throws if called by any account other than the owner.", + "id": 3700, + "name": "onlyOwner", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 3690, + "nodeType": "ParameterList", + "parameters": [], + "src": "472:2:14" + }, + "src": "454:65:14", + "visibility": "internal" + }, + { + "body": { + "id": 3712, + "nodeType": "Block", + "src": "663:56:14", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 3706, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 3703, + "name": "m_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3681, + "src": "667:7:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3704, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "682:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 3705, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "682:10:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "667:25:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 3707, + "nodeType": "ExpressionStatement", + "src": "667:25:14" + }, + { + "expression": { + "argumentTypes": null, + "id": 3710, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 3708, + "name": "m_changeable", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3683, + "src": "696:12:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 3709, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "711:4:14", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "696:19:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 3711, + "nodeType": "ExpressionStatement", + "src": "696:19:14" + } + ] + }, + "documentation": "@dev The Ownable constructor sets the original `owner` of the contract to the sender\naccount.", + "id": 3713, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "OwnableOZ", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3701, + "nodeType": "ParameterList", + "parameters": [], + "src": "652:2:14" + }, + "payable": false, + "returnParameters": { + "id": 3702, + "nodeType": "ParameterList", + "parameters": [], + "src": "663:0:14" + }, + "scope": 3747, + "src": "634:85:14", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 3745, + "nodeType": "Block", + "src": "944:166:14", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3721, + "name": "m_changeable", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3683, + "src": "956:12:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3720, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "948:7:14", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3722, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "948:21:14", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3723, + "nodeType": "ExpressionStatement", + "src": "948:21:14" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 3729, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3725, + "name": "_newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3715, + "src": "981:9:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 3727, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1002:1:14", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 3726, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "994:7:14", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 3728, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "994:10:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "981:23:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3724, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "973:7:14", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3730, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "973:32:14", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3731, + "nodeType": "ExpressionStatement", + "src": "973:32:14" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3733, + "name": "m_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3681, + "src": "1035:7:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 3734, + "name": "_newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3715, + "src": "1044:9:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 3732, + "name": "OwnershipTransferred", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3689, + "src": "1014:20:14", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address)" + } + }, + "id": 3735, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1014:40:14", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3736, + "nodeType": "EmitStatement", + "src": "1009:45:14" + }, + { + "expression": { + "argumentTypes": null, + "id": 3739, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 3737, + "name": "m_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3681, + "src": "1058:7:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 3738, + "name": "_newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3715, + "src": "1073:9:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1058:24:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 3740, + "nodeType": "ExpressionStatement", + "src": "1058:24:14" + }, + { + "expression": { + "argumentTypes": null, + "id": 3743, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 3741, + "name": "m_changeable", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3683, + "src": "1086:12:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 3742, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1101:5:14", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "1086:20:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 3744, + "nodeType": "ExpressionStatement", + "src": "1086:20:14" + } + ] + }, + "documentation": "@dev Allows the current owner to transfer control of the contract to a newOwner.\n@param _newOwner The address to transfer ownership to.", + "id": 3746, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 3718, + "modifierName": { + "argumentTypes": null, + "id": 3717, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3700, + "src": "933:9:14", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "933:9:14" + } + ], + "name": "setImmutableOwnership", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3716, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3715, + "name": "_newOwner", + "nodeType": "VariableDeclaration", + "scope": 3746, + "src": "907:17:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3714, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "907:7:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "906:19:14" + }, + "payable": false, + "returnParameters": { + "id": 3719, + "nodeType": "ParameterList", + "parameters": [], + "src": "944:0:14" + }, + "scope": 3747, + "src": "876:234:14", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 3748, + "src": "216:897:14" + } + ], + "src": "0:1114:14" + }, + "legacyAST": { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/OwnableOZ.sol", + "exportedSymbols": { + "OwnableOZ": [ + 3747 + ] + }, + "id": 3748, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 3679, + "literals": [ + "solidity", + "^", + "0.4", + ".21" + ], + "nodeType": "PragmaDirective", + "src": "0:24:14" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": "@title Ownable\n@dev The Ownable contract has an owner address, and provides basic authorization control\nfunctions, this simplifies the implementation of \"user permissions\".", + "fullyImplemented": true, + "id": 3747, + "linearizedBaseContracts": [ + 3747 + ], + "name": "OwnableOZ", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 3681, + "name": "m_owner", + "nodeType": "VariableDeclaration", + "scope": 3747, + "src": "238:22:14", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3680, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "238:7:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 3683, + "name": "m_changeable", + "nodeType": "VariableDeclaration", + "scope": 3747, + "src": "263:27:14", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 3682, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "263:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "public" + }, + { + "anonymous": false, + "documentation": null, + "id": 3689, + "name": "OwnershipTransferred", + "nodeType": "EventDefinition", + "parameters": { + "id": 3688, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3685, + "indexed": true, + "name": "previousOwner", + "nodeType": "VariableDeclaration", + "scope": 3689, + "src": "321:29:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3684, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "321:7:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3687, + "indexed": true, + "name": "newOwner", + "nodeType": "VariableDeclaration", + "scope": 3689, + "src": "352:24:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3686, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "352:7:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "320:57:14" + }, + "src": "294:84:14" + }, + { + "body": { + "id": 3699, + "nodeType": "Block", + "src": "476:43:14", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 3695, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3692, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "488:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 3693, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "488:10:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 3694, + "name": "m_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3681, + "src": "502:7:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "488:21:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3691, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "480:7:14", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3696, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "480:30:14", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3697, + "nodeType": "ExpressionStatement", + "src": "480:30:14" + }, + { + "id": 3698, + "nodeType": "PlaceholderStatement", + "src": "514:1:14" + } + ] + }, + "documentation": "@dev Throws if called by any account other than the owner.", + "id": 3700, + "name": "onlyOwner", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 3690, + "nodeType": "ParameterList", + "parameters": [], + "src": "472:2:14" + }, + "src": "454:65:14", + "visibility": "internal" + }, + { + "body": { + "id": 3712, + "nodeType": "Block", + "src": "663:56:14", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 3706, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 3703, + "name": "m_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3681, + "src": "667:7:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3704, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "682:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 3705, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "682:10:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "667:25:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 3707, + "nodeType": "ExpressionStatement", + "src": "667:25:14" + }, + { + "expression": { + "argumentTypes": null, + "id": 3710, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 3708, + "name": "m_changeable", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3683, + "src": "696:12:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 3709, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "711:4:14", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "696:19:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 3711, + "nodeType": "ExpressionStatement", + "src": "696:19:14" + } + ] + }, + "documentation": "@dev The Ownable constructor sets the original `owner` of the contract to the sender\naccount.", + "id": 3713, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "OwnableOZ", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3701, + "nodeType": "ParameterList", + "parameters": [], + "src": "652:2:14" + }, + "payable": false, + "returnParameters": { + "id": 3702, + "nodeType": "ParameterList", + "parameters": [], + "src": "663:0:14" + }, + "scope": 3747, + "src": "634:85:14", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 3745, + "nodeType": "Block", + "src": "944:166:14", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3721, + "name": "m_changeable", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3683, + "src": "956:12:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3720, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "948:7:14", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3722, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "948:21:14", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3723, + "nodeType": "ExpressionStatement", + "src": "948:21:14" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 3729, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3725, + "name": "_newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3715, + "src": "981:9:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 3727, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1002:1:14", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 3726, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "994:7:14", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 3728, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "994:10:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "981:23:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3724, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "973:7:14", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3730, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "973:32:14", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3731, + "nodeType": "ExpressionStatement", + "src": "973:32:14" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3733, + "name": "m_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3681, + "src": "1035:7:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 3734, + "name": "_newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3715, + "src": "1044:9:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 3732, + "name": "OwnershipTransferred", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3689, + "src": "1014:20:14", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address)" + } + }, + "id": 3735, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1014:40:14", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3736, + "nodeType": "EmitStatement", + "src": "1009:45:14" + }, + { + "expression": { + "argumentTypes": null, + "id": 3739, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 3737, + "name": "m_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3681, + "src": "1058:7:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 3738, + "name": "_newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3715, + "src": "1073:9:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1058:24:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 3740, + "nodeType": "ExpressionStatement", + "src": "1058:24:14" + }, + { + "expression": { + "argumentTypes": null, + "id": 3743, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 3741, + "name": "m_changeable", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3683, + "src": "1086:12:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 3742, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1101:5:14", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "1086:20:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 3744, + "nodeType": "ExpressionStatement", + "src": "1086:20:14" + } + ] + }, + "documentation": "@dev Allows the current owner to transfer control of the contract to a newOwner.\n@param _newOwner The address to transfer ownership to.", + "id": 3746, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 3718, + "modifierName": { + "argumentTypes": null, + "id": 3717, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3700, + "src": "933:9:14", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "933:9:14" + } + ], + "name": "setImmutableOwnership", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3716, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3715, + "name": "_newOwner", + "nodeType": "VariableDeclaration", + "scope": 3746, + "src": "907:17:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3714, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "907:7:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "906:19:14" + }, + "payable": false, + "returnParameters": { + "id": 3719, + "nodeType": "ParameterList", + "parameters": [], + "src": "944:0:14" + }, + "scope": 3747, + "src": "876:234:14", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 3748, + "src": "216:897:14" + } + ], + "src": "0:1114:14" + }, + "compiler": { + "name": "solc", + "version": "0.4.21+commit.dfe3193c.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "2.0.0", + "updatedAt": "2018-06-12T14:56:21.149Z" +} \ No newline at end of file diff --git a/deployed/contracts/RLC.json b/deployed/contracts/RLC.json new file mode 100644 index 00000000..cac9b2a3 --- /dev/null +++ b/deployed/contracts/RLC.json @@ -0,0 +1,8723 @@ +{ + "contractName": "RLC", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "name", + "outputs": [ + { + "name": "", + "type": "string" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "decimals", + "outputs": [ + { + "name": "", + "type": "uint8" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "initialSupply", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "version", + "outputs": [ + { + "name": "", + "type": "string" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "owner", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "symbol", + "outputs": [ + { + "name": "", + "type": "string" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "locked", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "from", + "type": "address" + }, + { + "indexed": true, + "name": "to", + "type": "address" + }, + { + "indexed": false, + "name": "value", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "name": "spender", + "type": "address" + }, + { + "indexed": false, + "name": "value", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "constant": false, + "inputs": [], + "name": "unlock", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_value", + "type": "uint256" + } + ], + "name": "burn", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_to", + "type": "address" + }, + { + "name": "_value", + "type": "uint256" + } + ], + "name": "transfer", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_from", + "type": "address" + }, + { + "name": "_to", + "type": "address" + }, + { + "name": "_value", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_owner", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "name": "balance", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_spender", + "type": "address" + }, + { + "name": "_value", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_spender", + "type": "address" + }, + { + "name": "_value", + "type": "uint256" + }, + { + "name": "_extraData", + "type": "bytes" + } + ], + "name": "approveAndCall", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_owner", + "type": "address" + }, + { + "name": "_spender", + "type": "address" + } + ], + "name": "allowance", + "outputs": [ + { + "name": "remaining", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": "0x606060405260408051908101604052600481527f76302e31000000000000000000000000000000000000000000000000000000006020820152600590805161004b929160200190610145565b50341561005757600080fd5b60018054600160a060020a03191633600160a060020a031690811782556008805460ff19169092179091556701351609ff7580006006819055600781905560009182526009602052604091829020558051908101604052601481527f6945782e6563204e6574776f726b20546f6b656e000000000000000000000000602082015260029080516100eb929160200190610145565b506040805190810160405260038082527f524c4300000000000000000000000000000000000000000000000000000000006020830152908051610132929160200190610145565b506004805460ff191660091790556101e0565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061018657805160ff19168380011785556101b3565b828001600101855582156101b3579182015b828111156101b3578251825591602001919060010190610198565b506101bf9291506101c3565b5090565b6101dd91905b808211156101bf57600081556001016101c9565b90565b610abd806101ef6000396000f3006060604052600436106100f05763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde0381146100f5578063095ea7b31461017f57806318160ddd146101b557806323b872dd146101da578063313ce56714610202578063378dc3dc1461022b57806342966c681461023e57806354fd4d501461025457806370a08231146102675780638da5cb5b1461028657806395d89b41146102b5578063a69df4b5146102c8578063a9059cbb146102dd578063cae9ca51146102ff578063cf30901214610364578063dd62ed3e14610377578063f2fde38b1461039c575b600080fd5b341561010057600080fd5b6101086103bb565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561014457808201518382015260200161012c565b50505050905090810190601f1680156101715780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561018a57600080fd5b6101a1600160a060020a0360043516602435610459565b604051901515815260200160405180910390f35b34156101c057600080fd5b6101c86104c5565b60405190815260200160405180910390f35b34156101e557600080fd5b6101a1600160a060020a03600435811690602435166044356104cb565b341561020d57600080fd5b6102156105fa565b60405160ff909116815260200160405180910390f35b341561023657600080fd5b6101c8610603565b341561024957600080fd5b6101a1600435610609565b341561025f57600080fd5b61010861069c565b341561027257600080fd5b6101c8600160a060020a0360043516610707565b341561029157600080fd5b610299610722565b604051600160a060020a03909116815260200160405180910390f35b34156102c057600080fd5b610108610731565b34156102d357600080fd5b6102db61079c565b005b34156102e857600080fd5b6101a1600160a060020a03600435166024356107c0565b341561030a57600080fd5b6102db60048035600160a060020a03169060248035919060649060443590810190830135806020601f820181900481020160405190810160405281815292919060208401838380828437509496506108a195505050505050565b341561036f57600080fd5b6101a16109c7565b341561038257600080fd5b6101c8600160a060020a03600435811690602435166109d0565b34156103a757600080fd5b6102db600160a060020a03600435166109fb565b60028054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156104515780601f1061042657610100808354040283529160200191610451565b820191906000526020600020905b81548152906001019060200180831161043457829003601f168201915b505050505081565b600160a060020a033381166000818152600a6020908152604080832094871680845294909152808220859055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a350600192915050565b60075481565b600154600090819033600160a060020a039081169116148015906104f1575060085460ff165b156104fb57600080fd5b50600160a060020a038085166000908152600a6020908152604080832033851684528252808320549387168352600990915290205461053a9084610a4d565b600160a060020a0380861660009081526009602052604080822093909355908716815220546105699084610a71565b600160a060020a03861660009081526009602052604090205561058c8184610a71565b600160a060020a038087166000818152600a6020908152604080832033861684529091529081902093909355908616917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9086905190815260200160405180910390a3506001949350505050565b60045460ff1681565b60065481565b600160a060020a03331660009081526009602052604081205461062c9083610a71565b600160a060020a0333166000908152600960205260409020556007546106529083610a71565b6007556000600160a060020a0333167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405190815260200160405180910390a3506001919050565b60058054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156104515780601f1061042657610100808354040283529160200191610451565b600160a060020a031660009081526009602052604090205490565b600154600160a060020a031681565b60038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156104515780601f1061042657610100808354040283529160200191610451565b60015433600160a060020a03908116911614156107be576008805460ff191690555b565b60015460009033600160a060020a039081169116148015906107e4575060085460ff165b156107ee57600080fd5b600160a060020a0333166000908152600960205260409020546108119083610a71565b600160a060020a0333811660009081526009602052604080822093909355908516815220546108409083610a4d565b600160a060020a0380851660008181526009602052604090819020939093559133909116907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a350600192915050565b826108ac8184610459565b156109c15780600160a060020a0316638f4ffcb1338530866040518563ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018085600160a060020a0316600160a060020a0316815260200184815260200183600160a060020a0316600160a060020a0316815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561096257808201518382015260200161094a565b50505050905090810190601f16801561098f5780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b15156109b057600080fd5b5af115156109bd57600080fd5b5050505b50505050565b60085460ff1681565b600160a060020a039182166000908152600a6020908152604080832093909416825291909152205490565b60015433600160a060020a0390811691161415610a4a57600160a060020a03811615610a4a576001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b50565b6000828201610a6a848210801590610a655750838210155b610a85565b9392505050565b6000610a7f83831115610a85565b50900390565b801515610a4a57600080fd00a165627a7a723058209729dbd2bcee57176d13aff929be5de57539c913706673bd54ab375467a2ac6f0029", + "deployedBytecode": "0x6060604052600436106100f05763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde0381146100f5578063095ea7b31461017f57806318160ddd146101b557806323b872dd146101da578063313ce56714610202578063378dc3dc1461022b57806342966c681461023e57806354fd4d501461025457806370a08231146102675780638da5cb5b1461028657806395d89b41146102b5578063a69df4b5146102c8578063a9059cbb146102dd578063cae9ca51146102ff578063cf30901214610364578063dd62ed3e14610377578063f2fde38b1461039c575b600080fd5b341561010057600080fd5b6101086103bb565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561014457808201518382015260200161012c565b50505050905090810190601f1680156101715780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561018a57600080fd5b6101a1600160a060020a0360043516602435610459565b604051901515815260200160405180910390f35b34156101c057600080fd5b6101c86104c5565b60405190815260200160405180910390f35b34156101e557600080fd5b6101a1600160a060020a03600435811690602435166044356104cb565b341561020d57600080fd5b6102156105fa565b60405160ff909116815260200160405180910390f35b341561023657600080fd5b6101c8610603565b341561024957600080fd5b6101a1600435610609565b341561025f57600080fd5b61010861069c565b341561027257600080fd5b6101c8600160a060020a0360043516610707565b341561029157600080fd5b610299610722565b604051600160a060020a03909116815260200160405180910390f35b34156102c057600080fd5b610108610731565b34156102d357600080fd5b6102db61079c565b005b34156102e857600080fd5b6101a1600160a060020a03600435166024356107c0565b341561030a57600080fd5b6102db60048035600160a060020a03169060248035919060649060443590810190830135806020601f820181900481020160405190810160405281815292919060208401838380828437509496506108a195505050505050565b341561036f57600080fd5b6101a16109c7565b341561038257600080fd5b6101c8600160a060020a03600435811690602435166109d0565b34156103a757600080fd5b6102db600160a060020a03600435166109fb565b60028054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156104515780601f1061042657610100808354040283529160200191610451565b820191906000526020600020905b81548152906001019060200180831161043457829003601f168201915b505050505081565b600160a060020a033381166000818152600a6020908152604080832094871680845294909152808220859055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a350600192915050565b60075481565b600154600090819033600160a060020a039081169116148015906104f1575060085460ff165b156104fb57600080fd5b50600160a060020a038085166000908152600a6020908152604080832033851684528252808320549387168352600990915290205461053a9084610a4d565b600160a060020a0380861660009081526009602052604080822093909355908716815220546105699084610a71565b600160a060020a03861660009081526009602052604090205561058c8184610a71565b600160a060020a038087166000818152600a6020908152604080832033861684529091529081902093909355908616917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9086905190815260200160405180910390a3506001949350505050565b60045460ff1681565b60065481565b600160a060020a03331660009081526009602052604081205461062c9083610a71565b600160a060020a0333166000908152600960205260409020556007546106529083610a71565b6007556000600160a060020a0333167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405190815260200160405180910390a3506001919050565b60058054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156104515780601f1061042657610100808354040283529160200191610451565b600160a060020a031660009081526009602052604090205490565b600154600160a060020a031681565b60038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156104515780601f1061042657610100808354040283529160200191610451565b60015433600160a060020a03908116911614156107be576008805460ff191690555b565b60015460009033600160a060020a039081169116148015906107e4575060085460ff165b156107ee57600080fd5b600160a060020a0333166000908152600960205260409020546108119083610a71565b600160a060020a0333811660009081526009602052604080822093909355908516815220546108409083610a4d565b600160a060020a0380851660008181526009602052604090819020939093559133909116907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a350600192915050565b826108ac8184610459565b156109c15780600160a060020a0316638f4ffcb1338530866040518563ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018085600160a060020a0316600160a060020a0316815260200184815260200183600160a060020a0316600160a060020a0316815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561096257808201518382015260200161094a565b50505050905090810190601f16801561098f5780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b15156109b057600080fd5b5af115156109bd57600080fd5b5050505b50505050565b60085460ff1681565b600160a060020a039182166000908152600a6020908152604080832093909416825291909152205490565b60015433600160a060020a0390811691161415610a4a57600160a060020a03811615610a4a576001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b50565b6000828201610a6a848210801590610a655750838210155b610a85565b9392505050565b6000610a7f83831115610a85565b50900390565b801515610a4a57600080fd00a165627a7a723058209729dbd2bcee57176d13aff929be5de57539c913706673bd54ab375467a2ac6f0029", + "sourceMap": "125:2917:22:-;;;333:30;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;773:601;;;;;;;;96:5:21;:18;;-1:-1:-1;;;;;;96:18:21;104:10;-1:-1:-1;;;;;96:18:21;;;;;;849:6:22;:13;;-1:-1:-1;;849:13:22;;;;;;;968:17;952:13;:33;;;991:11;:27;;;-1:-1:-1;1024:20:22;;;:8;:20;;;;;;;:36;:20;1124:29;;;;;;;;;;;;;;:4;;:29;;;;;;;;;:::i;:::-;;1208:14;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;1291:8:22;:12;;-1:-1:-1;;1291:12:22;1302:1;1291:12;;;125:2917;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;125:2917:22;;;-1:-1:-1;125:2917:22;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;", + "deployedSourceMap": "125:2917:22:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;211:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;211:18:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2394:173;;;;;;;;;;-1:-1:-1;;;;;2394:173:22;;;;;;;;;;;;;;;;;;;;;;;;397:23;;;;;;;;;;;;;;;;;;;;;;;;;;;1914:371;;;;;;;;;;-1:-1:-1;;;;;1914:371:22;;;;;;;;;;;;276:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;368:25;;;;;;;;;;;;1435:220;;;;;;;;;;;;;;333:30;;;;;;;;;;;;2289:101;;;;;;;;;;-1:-1:-1;;;;;2289:101:22;;;;;46:20:21;;;;;;;;;;;;;;;-1:-1:-1;;;;;46:20:21;;;;;;;;;;;;;;252::22;;;;;;;;;;;;1378:53;;;;;;;;;;;;;;1659:251;;;;;;;;;;-1:-1:-1;;;;;1659:251:22;;;;;;;2646:257;;;;;;;;;;;;;-1:-1:-1;;;;;2646:257:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2646:257:22;;-1:-1:-1;2646:257:22;;-1:-1:-1;;;;;;2646:257:22;424:18;;;;;;;;;;;;2907:130;;;;;;;;;;-1:-1:-1;;;;;2907:130:22;;;;;;;;;;191:110:21;;;;;;;;;;-1:-1:-1;;;;;191:110:21;;;;;211:18:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;2394:173::-;-1:-1:-1;;;;;2471:10:22;2463:19;;2451:4;2463:19;;;:7;:19;;;;;;;;:29;;;;;;;;;;;;;:38;;;2451:4;;2463:29;:19;2507:38;;2495:6;;2507:38;;;;;;;;;;;;;-1:-1:-1;2558:4:22;2394:173;;;;:::o;397:23::-;;;;:::o;1914:371::-;654:5;;1999:4;;;;640:10;-1:-1:-1;;;;;640:19:22;;;654:5;;640:19;;;;:29;;-1:-1:-1;663:6:22;;;;640:29;636:40;;;671:5;;;636:40;-1:-1:-1;;;;;;2028:14:22;;;;;;;:7;:14;;;;;;;;2043:10;2028:26;;;;;;;;;;2089:13;;;;;:8;:13;;;;;;2081:30;;2104:6;2081:7;:30::i;:::-;-1:-1:-1;;;;;2065:13:22;;;;;;;:8;:13;;;;;;:46;;;;2143:15;;;;;;;2135:32;;2160:6;2135:7;:32::i;:::-;-1:-1:-1;;;;;2117:15:22;;;;;;:8;:15;;;;;:50;2202:27;2210:10;2222:6;2202:7;:27::i;:::-;-1:-1:-1;;;;;2173:14:22;;;;;;;:7;:14;;;;;;;;2188:10;2173:26;;;;;;;;;;;:56;;;;2235:28;;;;;;2256:6;;2235:28;;;;;;;;;;;;;-1:-1:-1;2276:4:22;;1914:371;-1:-1:-1;;;;1914:371:22:o;276:21::-;;;;;;:::o;368:25::-;;;;:::o;1435:220::-;-1:-1:-1;;;;;1525:10:22;1516:20;1474:4;1516:20;;;:8;:20;;;;;;1508:37;;1538:6;1508:7;:37::i;:::-;-1:-1:-1;;;;;1494:10:22;1485:20;;;;;:8;:20;;;;;:60;1574:11;;1566:28;;1587:6;1566:7;:28::i;:::-;1552:11;:42;1621:3;-1:-1:-1;;;;;1609:10:22;1600:33;;1626:6;1600:33;;;;;;;;;;;;;;-1:-1:-1;1646:4:22;1435:220;;;:::o;333:30::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2289:101;-1:-1:-1;;;;;2369:16:22;2342:12;2369:16;;;:8;:16;;;;;;;2289:101::o;46:20:21:-;;;-1:-1:-1;;;;;46:20:21;;:::o;252::22:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1378:53;168:5:21;;154:10;-1:-1:-1;;;;;154:19:21;;;168:5;;154:19;150:32;;;1412:6:22;:14;;-1:-1:-1;;1412:14:22;;;150:32:21;1378:53:22:o;1659:251::-;654:5;;1725:4;;640:10;-1:-1:-1;;;;;640:19:22;;;654:5;;640:19;;;;:29;;-1:-1:-1;663:6:22;;;;640:29;636:40;;;671:5;;;636:40;-1:-1:-1;;;;;1777:10:22;1768:20;;;;;:8;:20;;;;;;1760:37;;1790:6;1760:7;:37::i;:::-;-1:-1:-1;;;;;1746:10:22;1737:20;;;;;;:8;:20;;;;;;:60;;;;1827:13;;;;;;;1819:30;;1842:6;1819:7;:30::i;:::-;-1:-1:-1;;;;;1803:13:22;;;;;;;:8;:13;;;;;;;:46;;;;:13;1864:10;1855:33;;;;;;1881:6;;1855:33;;;;;;;;;;;;;-1:-1:-1;1901:4:22;1659:251;;;;:::o;2646:257::-;2769:8;2790:25;2769:8;2808:6;2790:7;:25::i;:::-;2786:113;;;2829:7;-1:-1:-1;;;;;2829:23:22;;2853:10;2865:6;2873:4;2879:10;2829:61;;;;;;;;;;;;;-1:-1:-1;;;;;2829:61:22;-1:-1:-1;;;;;2829:61:22;;;;;;;;;;;-1:-1:-1;;;;;2829:61:22;-1:-1:-1;;;;;2829:61:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;2829:61:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2786:113;2646:257;;;;:::o;424:18::-;;;;;;:::o;2907:130::-;-1:-1:-1;;;;;3007:15:22;;;2978:14;3007:15;;;:7;:15;;;;;;;;:25;;;;;;;;;;;;;2907:130::o;191:110:21:-;168:5;;154:10;-1:-1:-1;;;;;154:19:21;;;168:5;;154:19;150:32;;;-1:-1:-1;;;;;256:22:21;;;252:44;;280:5;:16;;-1:-1:-1;;280:16:21;-1:-1:-1;;;;;280:16:21;;;;;252:44;191:110;:::o;436:122:23:-;487:4;508:5;;;519:20;526:4;;;;;;:12;;;537:1;534;:4;;526:12;519:6;:20::i;:::-;552:1;436:122;-1:-1:-1;;;436:122:23:o;332:100::-;383:4;395:14;407:1;402;:6;;395;:14::i;:::-;-1:-1:-1;422:5:23;;;332:100::o;992:87::-;1044:9;1043:10;1039:36;;;1063:5;;", + "source": "pragma solidity ^0.4.8;\n\nimport \"./Ownable.sol\";\nimport \"./SafeMath.sol\";\nimport \"./ERC20.sol\";\nimport \"./TokenSpender.sol\";\ncontract RLC is ERC20, SafeMath, Ownable {\n\n /* Public variables of the token */\n string public name; //fancy name\n string public symbol;\n uint8 public decimals; //How many decimals to show.\n string public version = 'v0.1'; \n uint public initialSupply;\n uint public totalSupply;\n bool public locked;\n //uint public unlockBlock;\n\n mapping(address => uint) balances;\n mapping (address => mapping (address => uint)) allowed;\n\n // lock transfer during the ICO\n modifier onlyUnlocked() {\n if (msg.sender != owner && locked) throw;\n _;\n }\n\n /*\n * The RLC Token created with the time at which the crowdsale end\n */\n\n function RLC() {\n // lock the transfer function during the crowdsale\n locked = true;\n //unlockBlock= now + 45 days; // (testnet) - for mainnet put the block number\n\n initialSupply = 87000000000000000;\n totalSupply = initialSupply;\n balances[msg.sender] = initialSupply;// Give the creator all initial tokens \n name = 'iEx.ec Network Token'; // Set the name for display purposes \n symbol = 'RLC'; // Set the symbol for display purposes \n decimals = 9; // Amount of decimals for display purposes\n }\n\n function unlock() onlyOwner {\n locked = false;\n }\n\n function burn(uint256 _value) returns (bool){\n balances[msg.sender] = safeSub(balances[msg.sender], _value) ;\n totalSupply = safeSub(totalSupply, _value);\n Transfer(msg.sender, 0x0, _value);\n return true;\n }\n\n function transfer(address _to, uint _value) onlyUnlocked returns (bool) {\n balances[msg.sender] = safeSub(balances[msg.sender], _value);\n balances[_to] = safeAdd(balances[_to], _value);\n Transfer(msg.sender, _to, _value);\n return true;\n }\n\n function transferFrom(address _from, address _to, uint _value) onlyUnlocked returns (bool) {\n var _allowance = allowed[_from][msg.sender];\n \n balances[_to] = safeAdd(balances[_to], _value);\n balances[_from] = safeSub(balances[_from], _value);\n allowed[_from][msg.sender] = safeSub(_allowance, _value);\n Transfer(_from, _to, _value);\n return true;\n }\n\n function balanceOf(address _owner) constant returns (uint balance) {\n return balances[_owner];\n }\n\n function approve(address _spender, uint _value) returns (bool) {\n allowed[msg.sender][_spender] = _value;\n Approval(msg.sender, _spender, _value);\n return true;\n }\n\n /* Approve and then comunicate the approved contract in a single tx */\n function approveAndCall(address _spender, uint256 _value, bytes _extraData){ \n TokenSpender spender = TokenSpender(_spender);\n if (approve(_spender, _value)) {\n spender.receiveApproval(msg.sender, _value, this, _extraData);\n }\n }\n\n function allowance(address _owner, address _spender) constant returns (uint remaining) {\n return allowed[_owner][_spender];\n }\n \n}\n\n", + "sourcePath": "rlc-token/contracts/RLC.sol", + "ast": { + "absolutePath": "rlc-token/contracts/RLC.sol", + "exportedSymbols": { + "RLC": [ + 6785 + ] + }, + "id": 6786, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 6458, + "literals": [ + "solidity", + "^", + "0.4", + ".8" + ], + "nodeType": "PragmaDirective", + "src": "0:23:22" + }, + { + "absolutePath": "rlc-token/contracts/Ownable.sol", + "file": "./Ownable.sol", + "id": 6459, + "nodeType": "ImportDirective", + "scope": 6786, + "sourceUnit": 6457, + "src": "25:23:22", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "rlc-token/contracts/SafeMath.sol", + "file": "./SafeMath.sol", + "id": 6460, + "nodeType": "ImportDirective", + "scope": 6786, + "sourceUnit": 6982, + "src": "49:24:22", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "rlc-token/contracts/ERC20.sol", + "file": "./ERC20.sol", + "id": 6461, + "nodeType": "ImportDirective", + "scope": 6786, + "sourceUnit": 6416, + "src": "74:21:22", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "rlc-token/contracts/TokenSpender.sol", + "file": "./TokenSpender.sol", + "id": 6462, + "nodeType": "ImportDirective", + "scope": 6786, + "sourceUnit": 6996, + "src": "96:28:22", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": [], + "baseName": { + "contractScope": null, + "id": 6463, + "name": "ERC20", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 6415, + "src": "141:5:22", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$6415", + "typeString": "contract ERC20" + } + }, + "id": 6464, + "nodeType": "InheritanceSpecifier", + "src": "141:5:22" + }, + { + "arguments": [], + "baseName": { + "contractScope": null, + "id": 6465, + "name": "SafeMath", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 6981, + "src": "148:8:22", + "typeDescriptions": { + "typeIdentifier": "t_contract$_SafeMath_$6981", + "typeString": "contract SafeMath" + } + }, + "id": 6466, + "nodeType": "InheritanceSpecifier", + "src": "148:8:22" + }, + { + "arguments": [], + "baseName": { + "contractScope": null, + "id": 6467, + "name": "Ownable", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 6456, + "src": "158:7:22", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Ownable_$6456", + "typeString": "contract Ownable" + } + }, + "id": 6468, + "nodeType": "InheritanceSpecifier", + "src": "158:7:22" + } + ], + "contractDependencies": [ + 6415, + 6456, + 6981 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 6785, + "linearizedBaseContracts": [ + 6785, + 6456, + 6981, + 6415 + ], + "name": "RLC", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 6470, + "name": "name", + "nodeType": "VariableDeclaration", + "scope": 6785, + "src": "211:18:22", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + }, + "typeName": { + "id": 6469, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "211:6:22", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 6472, + "name": "symbol", + "nodeType": "VariableDeclaration", + "scope": 6785, + "src": "252:20:22", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + }, + "typeName": { + "id": 6471, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "252:6:22", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 6474, + "name": "decimals", + "nodeType": "VariableDeclaration", + "scope": 6785, + "src": "276:21:22", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 6473, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "276:5:22", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 6477, + "name": "version", + "nodeType": "VariableDeclaration", + "scope": 6785, + "src": "333:30:22", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + }, + "typeName": { + "id": 6475, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "333:6:22", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "76302e31", + "id": 6476, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "357:6:22", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_6d332d76c5f02eb1a7286b96f4a528ceba4d78d0825283d5be2e358ade4be84e", + "typeString": "literal_string \"v0.1\"" + }, + "value": "v0.1" + }, + "visibility": "public" + }, + { + "constant": false, + "id": 6479, + "name": "initialSupply", + "nodeType": "VariableDeclaration", + "scope": 6785, + "src": "368:25:22", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6478, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "368:4:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 6481, + "name": "totalSupply", + "nodeType": "VariableDeclaration", + "scope": 6785, + "src": "397:23:22", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6480, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "397:4:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 6483, + "name": "locked", + "nodeType": "VariableDeclaration", + "scope": 6785, + "src": "424:18:22", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6482, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "424:4:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 6487, + "name": "balances", + "nodeType": "VariableDeclaration", + "scope": 6785, + "src": "476:33:22", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "typeName": { + "id": 6486, + "keyType": { + "id": 6484, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "484:7:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "476:24:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "valueType": { + "id": 6485, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "495:4:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6493, + "name": "allowed", + "nodeType": "VariableDeclaration", + "scope": 6785, + "src": "513:54:22", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + }, + "typeName": { + "id": 6492, + "keyType": { + "id": 6488, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "522:7:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "513:46:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + }, + "valueType": { + "id": 6491, + "keyType": { + "id": 6489, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "542:7:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "533:25:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "valueType": { + "id": 6490, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "553:4:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + } + }, + "value": null, + "visibility": "internal" + }, + { + "body": { + "id": 6504, + "nodeType": "Block", + "src": "630:58:22", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 6500, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 6498, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6495, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "640:3:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6496, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "640:10:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "id": 6497, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6419, + "src": "654:5:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "640:19:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "id": 6499, + "name": "locked", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6483, + "src": "663:6:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "640:29:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 6502, + "nodeType": "IfStatement", + "src": "636:40:22", + "trueBody": { + "id": 6501, + "nodeType": "Throw", + "src": "671:5:22" + } + }, + { + "id": 6503, + "nodeType": "PlaceholderStatement", + "src": "682:1:22" + } + ] + }, + "documentation": null, + "id": 6505, + "name": "onlyUnlocked", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 6494, + "nodeType": "ParameterList", + "parameters": [], + "src": "627:2:22" + }, + "src": "606:82:22", + "visibility": "internal" + }, + { + "body": { + "id": 6539, + "nodeType": "Block", + "src": "788:586:22", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 6510, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 6508, + "name": "locked", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6483, + "src": "849:6:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 6509, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "858:4:22", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "849:13:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 6511, + "nodeType": "ExpressionStatement", + "src": "849:13:22" + }, + { + "expression": { + "argumentTypes": null, + "id": 6514, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 6512, + "name": "initialSupply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6479, + "src": "952:13:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "3837303030303030303030303030303030", + "id": 6513, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "968:17:22", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_87000000000000000_by_1", + "typeString": "int_const 87000000000000000" + }, + "value": "87000000000000000" + }, + "src": "952:33:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6515, + "nodeType": "ExpressionStatement", + "src": "952:33:22" + }, + { + "expression": { + "argumentTypes": null, + "id": 6518, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 6516, + "name": "totalSupply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6481, + "src": "991:11:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 6517, + "name": "initialSupply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6479, + "src": "1005:13:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "991:27:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6519, + "nodeType": "ExpressionStatement", + "src": "991:27:22" + }, + { + "expression": { + "argumentTypes": null, + "id": 6525, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6520, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6487, + "src": "1024:8:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 6523, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6521, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "1033:3:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6522, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1033:10:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1024:20:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 6524, + "name": "initialSupply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6479, + "src": "1047:13:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1024:36:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6526, + "nodeType": "ExpressionStatement", + "src": "1024:36:22" + }, + { + "expression": { + "argumentTypes": null, + "id": 6529, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 6527, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6470, + "src": "1124:4:22", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "6945782e6563204e6574776f726b20546f6b656e", + "id": 6528, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1131:22:22", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_abb508c63afa2dadda9b4135ffa82c570e05ee52d75826176c1ab3dadb14e4ed", + "typeString": "literal_string \"iEx.ec Network Token\"" + }, + "value": "iEx.ec Network Token" + }, + "src": "1124:29:22", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 6530, + "nodeType": "ExpressionStatement", + "src": "1124:29:22" + }, + { + "expression": { + "argumentTypes": null, + "id": 6533, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 6531, + "name": "symbol", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6472, + "src": "1208:6:22", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "524c43", + "id": 6532, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1217:5:22", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_f7307f5bc77f710d9b3ce234b6197b803a3eed806105c6199117f8ac8c60c8ae", + "typeString": "literal_string \"RLC\"" + }, + "value": "RLC" + }, + "src": "1208:14:22", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 6534, + "nodeType": "ExpressionStatement", + "src": "1208:14:22" + }, + { + "expression": { + "argumentTypes": null, + "id": 6537, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 6535, + "name": "decimals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6474, + "src": "1291:8:22", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "39", + "id": 6536, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1302:1:22", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_9_by_1", + "typeString": "int_const 9" + }, + "value": "9" + }, + "src": "1291:12:22", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "id": 6538, + "nodeType": "ExpressionStatement", + "src": "1291:12:22" + } + ] + }, + "documentation": null, + "id": 6540, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "RLC", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6506, + "nodeType": "ParameterList", + "parameters": [], + "src": "785:2:22" + }, + "payable": false, + "returnParameters": { + "id": 6507, + "nodeType": "ParameterList", + "parameters": [], + "src": "788:0:22" + }, + "scope": 6785, + "src": "773:601:22", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 6549, + "nodeType": "Block", + "src": "1406:25:22", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 6547, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 6545, + "name": "locked", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6483, + "src": "1412:6:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 6546, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1421:5:22", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "1412:14:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 6548, + "nodeType": "ExpressionStatement", + "src": "1412:14:22" + } + ] + }, + "documentation": null, + "id": 6550, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 6543, + "modifierName": { + "argumentTypes": null, + "id": 6542, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6437, + "src": "1396:9:22", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "1396:9:22" + } + ], + "name": "unlock", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6541, + "nodeType": "ParameterList", + "parameters": [], + "src": "1393:2:22" + }, + "payable": false, + "returnParameters": { + "id": 6544, + "nodeType": "ParameterList", + "parameters": [], + "src": "1406:0:22" + }, + "scope": 6785, + "src": "1378:53:22", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 6586, + "nodeType": "Block", + "src": "1479:176:22", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 6568, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6557, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6487, + "src": "1485:8:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 6560, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6558, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "1494:3:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6559, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1494:10:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1485:20:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6562, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6487, + "src": "1516:8:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 6565, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6563, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "1525:3:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6564, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1525:10:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1516:20:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 6566, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6552, + "src": "1538:6:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6561, + "name": "safeSub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6873, + "src": "1508:7:22", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256) returns (uint256)" + } + }, + "id": 6567, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1508:37:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1485:60:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6569, + "nodeType": "ExpressionStatement", + "src": "1485:60:22" + }, + { + "expression": { + "argumentTypes": null, + "id": 6575, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 6570, + "name": "totalSupply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6481, + "src": "1552:11:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6572, + "name": "totalSupply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6481, + "src": "1574:11:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 6573, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6552, + "src": "1587:6:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6571, + "name": "safeSub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6873, + "src": "1566:7:22", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256) returns (uint256)" + } + }, + "id": 6574, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1566:28:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1552:42:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6576, + "nodeType": "ExpressionStatement", + "src": "1552:42:22" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6578, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "1609:3:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6579, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1609:10:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "hexValue": "307830", + "id": 6580, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1621:3:22", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + }, + { + "argumentTypes": null, + "id": 6581, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6552, + "src": "1626:6:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6577, + "name": "Transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6406, + "src": "1600:8:22", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 6582, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1600:33:22", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6583, + "nodeType": "ExpressionStatement", + "src": "1600:33:22" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 6584, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1646:4:22", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 6556, + "id": 6585, + "nodeType": "Return", + "src": "1639:11:22" + } + ] + }, + "documentation": null, + "id": 6587, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "burn", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6553, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6552, + "name": "_value", + "nodeType": "VariableDeclaration", + "scope": 6587, + "src": "1449:14:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6551, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1449:7:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1448:16:22" + }, + "payable": false, + "returnParameters": { + "id": 6556, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6555, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 6587, + "src": "1474:4:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6554, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1474:4:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1473:6:22" + }, + "scope": 6785, + "src": "1435:220:22", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 6631, + "nodeType": "Block", + "src": "1731:179:22", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 6609, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6598, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6487, + "src": "1737:8:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 6601, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6599, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "1746:3:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6600, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1746:10:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1737:20:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6603, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6487, + "src": "1768:8:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 6606, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6604, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "1777:3:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6605, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1777:10:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1768:20:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 6607, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6591, + "src": "1790:6:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6602, + "name": "safeSub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6873, + "src": "1760:7:22", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256) returns (uint256)" + } + }, + "id": 6608, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1760:37:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1737:60:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6610, + "nodeType": "ExpressionStatement", + "src": "1737:60:22" + }, + { + "expression": { + "argumentTypes": null, + "id": 6620, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6611, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6487, + "src": "1803:8:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 6613, + "indexExpression": { + "argumentTypes": null, + "id": 6612, + "name": "_to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6589, + "src": "1812:3:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1803:13:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6615, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6487, + "src": "1827:8:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 6617, + "indexExpression": { + "argumentTypes": null, + "id": 6616, + "name": "_to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6589, + "src": "1836:3:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1827:13:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 6618, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6591, + "src": "1842:6:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6614, + "name": "safeAdd", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6901, + "src": "1819:7:22", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256) returns (uint256)" + } + }, + "id": 6619, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1819:30:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1803:46:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6621, + "nodeType": "ExpressionStatement", + "src": "1803:46:22" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6623, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "1864:3:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6624, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1864:10:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 6625, + "name": "_to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6589, + "src": "1876:3:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 6626, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6591, + "src": "1881:6:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6622, + "name": "Transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6406, + "src": "1855:8:22", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 6627, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1855:33:22", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6628, + "nodeType": "ExpressionStatement", + "src": "1855:33:22" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 6629, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1901:4:22", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 6597, + "id": 6630, + "nodeType": "Return", + "src": "1894:11:22" + } + ] + }, + "documentation": null, + "id": 6632, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 6594, + "modifierName": { + "argumentTypes": null, + "id": 6593, + "name": "onlyUnlocked", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6505, + "src": "1703:12:22", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "1703:12:22" + } + ], + "name": "transfer", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6592, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6589, + "name": "_to", + "nodeType": "VariableDeclaration", + "scope": 6632, + "src": "1677:11:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6588, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1677:7:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6591, + "name": "_value", + "nodeType": "VariableDeclaration", + "scope": 6632, + "src": "1690:11:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6590, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1690:4:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1676:26:22" + }, + "payable": false, + "returnParameters": { + "id": 6597, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6596, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 6632, + "src": "1725:4:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6595, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1725:4:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1724:6:22" + }, + "scope": 6785, + "src": "1659:251:22", + "stateMutability": "nonpayable", + "superFunction": 6378, + "visibility": "public" + }, + { + "body": { + "id": 6695, + "nodeType": "Block", + "src": "2005:280:22", + "statements": [ + { + "assignments": [ + 6645 + ], + "declarations": [ + { + "constant": false, + "id": 6645, + "name": "_allowance", + "nodeType": "VariableDeclaration", + "scope": 6696, + "src": "2011:14:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": null, + "value": null, + "visibility": "internal" + } + ], + "id": 6652, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6646, + "name": "allowed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6493, + "src": "2028:7:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + } + }, + "id": 6648, + "indexExpression": { + "argumentTypes": null, + "id": 6647, + "name": "_from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6634, + "src": "2036:5:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2028:14:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 6651, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6649, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "2043:3:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6650, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2043:10:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2028:26:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2011:43:22" + }, + { + "expression": { + "argumentTypes": null, + "id": 6662, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6653, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6487, + "src": "2065:8:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 6655, + "indexExpression": { + "argumentTypes": null, + "id": 6654, + "name": "_to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6636, + "src": "2074:3:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2065:13:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6657, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6487, + "src": "2089:8:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 6659, + "indexExpression": { + "argumentTypes": null, + "id": 6658, + "name": "_to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6636, + "src": "2098:3:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2089:13:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 6660, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6638, + "src": "2104:6:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6656, + "name": "safeAdd", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6901, + "src": "2081:7:22", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256) returns (uint256)" + } + }, + "id": 6661, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2081:30:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2065:46:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6663, + "nodeType": "ExpressionStatement", + "src": "2065:46:22" + }, + { + "expression": { + "argumentTypes": null, + "id": 6673, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6664, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6487, + "src": "2117:8:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 6666, + "indexExpression": { + "argumentTypes": null, + "id": 6665, + "name": "_from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6634, + "src": "2126:5:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2117:15:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6668, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6487, + "src": "2143:8:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 6670, + "indexExpression": { + "argumentTypes": null, + "id": 6669, + "name": "_from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6634, + "src": "2152:5:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2143:15:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 6671, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6638, + "src": "2160:6:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6667, + "name": "safeSub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6873, + "src": "2135:7:22", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256) returns (uint256)" + } + }, + "id": 6672, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2135:32:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2117:50:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6674, + "nodeType": "ExpressionStatement", + "src": "2117:50:22" + }, + { + "expression": { + "argumentTypes": null, + "id": 6685, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6675, + "name": "allowed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6493, + "src": "2173:7:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + } + }, + "id": 6679, + "indexExpression": { + "argumentTypes": null, + "id": 6676, + "name": "_from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6634, + "src": "2181:5:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2173:14:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 6680, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6677, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "2188:3:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6678, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2188:10:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2173:26:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6682, + "name": "_allowance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6645, + "src": "2210:10:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 6683, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6638, + "src": "2222:6:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6681, + "name": "safeSub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6873, + "src": "2202:7:22", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256) returns (uint256)" + } + }, + "id": 6684, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2202:27:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2173:56:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6686, + "nodeType": "ExpressionStatement", + "src": "2173:56:22" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6688, + "name": "_from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6634, + "src": "2244:5:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 6689, + "name": "_to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6636, + "src": "2251:3:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 6690, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6638, + "src": "2256:6:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6687, + "name": "Transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6406, + "src": "2235:8:22", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 6691, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2235:28:22", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6692, + "nodeType": "ExpressionStatement", + "src": "2235:28:22" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 6693, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2276:4:22", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 6644, + "id": 6694, + "nodeType": "Return", + "src": "2269:11:22" + } + ] + }, + "documentation": null, + "id": 6696, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 6641, + "modifierName": { + "argumentTypes": null, + "id": 6640, + "name": "onlyUnlocked", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6505, + "src": "1977:12:22", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "1977:12:22" + } + ], + "name": "transferFrom", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6639, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6634, + "name": "_from", + "nodeType": "VariableDeclaration", + "scope": 6696, + "src": "1936:13:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6633, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1936:7:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6636, + "name": "_to", + "nodeType": "VariableDeclaration", + "scope": 6696, + "src": "1951:11:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6635, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1951:7:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6638, + "name": "_value", + "nodeType": "VariableDeclaration", + "scope": 6696, + "src": "1964:11:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6637, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1964:4:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1935:41:22" + }, + "payable": false, + "returnParameters": { + "id": 6644, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6643, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 6696, + "src": "1999:4:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6642, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1999:4:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1998:6:22" + }, + "scope": 6785, + "src": "1914:371:22", + "stateMutability": "nonpayable", + "superFunction": 6389, + "visibility": "public" + }, + { + "body": { + "id": 6707, + "nodeType": "Block", + "src": "2356:34:22", + "statements": [ + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6703, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6487, + "src": "2369:8:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 6705, + "indexExpression": { + "argumentTypes": null, + "id": 6704, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6698, + "src": "2378:6:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2369:16:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 6702, + "id": 6706, + "nodeType": "Return", + "src": "2362:23:22" + } + ] + }, + "documentation": null, + "id": 6708, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "balanceOf", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6699, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6698, + "name": "_owner", + "nodeType": "VariableDeclaration", + "scope": 6708, + "src": "2308:14:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6697, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2308:7:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2307:16:22" + }, + "payable": false, + "returnParameters": { + "id": 6702, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6701, + "name": "balance", + "nodeType": "VariableDeclaration", + "scope": 6708, + "src": "2342:12:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6700, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "2342:4:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2341:14:22" + }, + "scope": 6785, + "src": "2289:101:22", + "stateMutability": "view", + "superFunction": 6360, + "visibility": "public" + }, + { + "body": { + "id": 6735, + "nodeType": "Block", + "src": "2457:110:22", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 6724, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6717, + "name": "allowed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6493, + "src": "2463:7:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + } + }, + "id": 6721, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6718, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "2471:3:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6719, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2471:10:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2463:19:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 6722, + "indexExpression": { + "argumentTypes": null, + "id": 6720, + "name": "_spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6710, + "src": "2483:8:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2463:29:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 6723, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6712, + "src": "2495:6:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2463:38:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6725, + "nodeType": "ExpressionStatement", + "src": "2463:38:22" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6727, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "2516:3:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6728, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2516:10:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 6729, + "name": "_spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6710, + "src": "2528:8:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 6730, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6712, + "src": "2538:6:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6726, + "name": "Approval", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6414, + "src": "2507:8:22", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 6731, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2507:38:22", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6732, + "nodeType": "ExpressionStatement", + "src": "2507:38:22" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 6733, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2558:4:22", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 6716, + "id": 6734, + "nodeType": "Return", + "src": "2551:11:22" + } + ] + }, + "documentation": null, + "id": 6736, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "approve", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6713, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6710, + "name": "_spender", + "nodeType": "VariableDeclaration", + "scope": 6736, + "src": "2411:16:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6709, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2411:7:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6712, + "name": "_value", + "nodeType": "VariableDeclaration", + "scope": 6736, + "src": "2429:11:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6711, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "2429:4:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2410:31:22" + }, + "payable": false, + "returnParameters": { + "id": 6716, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6715, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 6736, + "src": "2451:4:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6714, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2451:4:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2450:6:22" + }, + "scope": 6785, + "src": "2394:173:22", + "stateMutability": "nonpayable", + "superFunction": 6398, + "visibility": "public" + }, + { + "body": { + "id": 6767, + "nodeType": "Block", + "src": "2721:182:22", + "statements": [ + { + "assignments": [ + 6746 + ], + "declarations": [ + { + "constant": false, + "id": 6746, + "name": "spender", + "nodeType": "VariableDeclaration", + "scope": 6768, + "src": "2733:20:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_TokenSpender_$6995", + "typeString": "contract TokenSpender" + }, + "typeName": { + "contractScope": null, + "id": 6745, + "name": "TokenSpender", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 6995, + "src": "2733:12:22", + "typeDescriptions": { + "typeIdentifier": "t_contract$_TokenSpender_$6995", + "typeString": "contract TokenSpender" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 6750, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6748, + "name": "_spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6738, + "src": "2769:8:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 6747, + "name": "TokenSpender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6995, + "src": "2756:12:22", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_TokenSpender_$6995_$", + "typeString": "type(contract TokenSpender)" + } + }, + "id": 6749, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2756:22:22", + "typeDescriptions": { + "typeIdentifier": "t_contract$_TokenSpender_$6995", + "typeString": "contract TokenSpender" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2733:45:22" + }, + { + "condition": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6752, + "name": "_spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6738, + "src": "2798:8:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 6753, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6740, + "src": "2808:6:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6751, + "name": "approve", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6736 + ], + "referencedDeclaration": 6736, + "src": "2790:7:22", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) returns (bool)" + } + }, + "id": 6754, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2790:25:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 6766, + "nodeType": "IfStatement", + "src": "2786:113:22", + "trueBody": { + "id": 6765, + "nodeType": "Block", + "src": "2817:82:22", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6758, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "2853:3:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6759, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2853:10:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 6760, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6740, + "src": "2865:6:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 6761, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7029, + "src": "2873:4:22", + "typeDescriptions": { + "typeIdentifier": "t_contract$_RLC_$6785", + "typeString": "contract RLC" + } + }, + { + "argumentTypes": null, + "id": 6762, + "name": "_extraData", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6742, + "src": "2879:10:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_contract$_RLC_$6785", + "typeString": "contract RLC" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "argumentTypes": null, + "id": 6755, + "name": "spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6746, + "src": "2829:7:22", + "typeDescriptions": { + "typeIdentifier": "t_contract$_TokenSpender_$6995", + "typeString": "contract TokenSpender" + } + }, + "id": 6757, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "receiveApproval", + "nodeType": "MemberAccess", + "referencedDeclaration": 6994, + "src": "2829:23:22", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$_t_address_$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (address,uint256,address,bytes memory) external" + } + }, + "id": 6763, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2829:61:22", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6764, + "nodeType": "ExpressionStatement", + "src": "2829:61:22" + } + ] + } + } + ] + }, + "documentation": null, + "id": 6768, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "approveAndCall", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6743, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6738, + "name": "_spender", + "nodeType": "VariableDeclaration", + "scope": 6768, + "src": "2670:16:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6737, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2670:7:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6740, + "name": "_value", + "nodeType": "VariableDeclaration", + "scope": 6768, + "src": "2688:14:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6739, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2688:7:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6742, + "name": "_extraData", + "nodeType": "VariableDeclaration", + "scope": 6768, + "src": "2704:16:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + "typeName": { + "id": 6741, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2704:5:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2669:52:22" + }, + "payable": false, + "returnParameters": { + "id": 6744, + "nodeType": "ParameterList", + "parameters": [], + "src": "2721:0:22" + }, + "scope": 6785, + "src": "2646:257:22", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 6783, + "nodeType": "Block", + "src": "2994:43:22", + "statements": [ + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6777, + "name": "allowed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6493, + "src": "3007:7:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + } + }, + "id": 6779, + "indexExpression": { + "argumentTypes": null, + "id": 6778, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6770, + "src": "3015:6:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3007:15:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 6781, + "indexExpression": { + "argumentTypes": null, + "id": 6780, + "name": "_spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6772, + "src": "3023:8:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3007:25:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 6776, + "id": 6782, + "nodeType": "Return", + "src": "3000:32:22" + } + ] + }, + "documentation": null, + "id": 6784, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "allowance", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6773, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6770, + "name": "_owner", + "nodeType": "VariableDeclaration", + "scope": 6784, + "src": "2926:14:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6769, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2926:7:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6772, + "name": "_spender", + "nodeType": "VariableDeclaration", + "scope": 6784, + "src": "2942:16:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6771, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2942:7:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2925:34:22" + }, + "payable": false, + "returnParameters": { + "id": 6776, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6775, + "name": "remaining", + "nodeType": "VariableDeclaration", + "scope": 6784, + "src": "2978:14:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6774, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "2978:4:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2977:16:22" + }, + "scope": 6785, + "src": "2907:130:22", + "stateMutability": "view", + "superFunction": 6369, + "visibility": "public" + } + ], + "scope": 6786, + "src": "125:2917:22" + } + ], + "src": "0:3044:22" + }, + "legacyAST": { + "absolutePath": "rlc-token/contracts/RLC.sol", + "exportedSymbols": { + "RLC": [ + 6785 + ] + }, + "id": 6786, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 6458, + "literals": [ + "solidity", + "^", + "0.4", + ".8" + ], + "nodeType": "PragmaDirective", + "src": "0:23:22" + }, + { + "absolutePath": "rlc-token/contracts/Ownable.sol", + "file": "./Ownable.sol", + "id": 6459, + "nodeType": "ImportDirective", + "scope": 6786, + "sourceUnit": 6457, + "src": "25:23:22", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "rlc-token/contracts/SafeMath.sol", + "file": "./SafeMath.sol", + "id": 6460, + "nodeType": "ImportDirective", + "scope": 6786, + "sourceUnit": 6982, + "src": "49:24:22", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "rlc-token/contracts/ERC20.sol", + "file": "./ERC20.sol", + "id": 6461, + "nodeType": "ImportDirective", + "scope": 6786, + "sourceUnit": 6416, + "src": "74:21:22", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "rlc-token/contracts/TokenSpender.sol", + "file": "./TokenSpender.sol", + "id": 6462, + "nodeType": "ImportDirective", + "scope": 6786, + "sourceUnit": 6996, + "src": "96:28:22", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": [], + "baseName": { + "contractScope": null, + "id": 6463, + "name": "ERC20", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 6415, + "src": "141:5:22", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$6415", + "typeString": "contract ERC20" + } + }, + "id": 6464, + "nodeType": "InheritanceSpecifier", + "src": "141:5:22" + }, + { + "arguments": [], + "baseName": { + "contractScope": null, + "id": 6465, + "name": "SafeMath", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 6981, + "src": "148:8:22", + "typeDescriptions": { + "typeIdentifier": "t_contract$_SafeMath_$6981", + "typeString": "contract SafeMath" + } + }, + "id": 6466, + "nodeType": "InheritanceSpecifier", + "src": "148:8:22" + }, + { + "arguments": [], + "baseName": { + "contractScope": null, + "id": 6467, + "name": "Ownable", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 6456, + "src": "158:7:22", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Ownable_$6456", + "typeString": "contract Ownable" + } + }, + "id": 6468, + "nodeType": "InheritanceSpecifier", + "src": "158:7:22" + } + ], + "contractDependencies": [ + 6415, + 6456, + 6981 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 6785, + "linearizedBaseContracts": [ + 6785, + 6456, + 6981, + 6415 + ], + "name": "RLC", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 6470, + "name": "name", + "nodeType": "VariableDeclaration", + "scope": 6785, + "src": "211:18:22", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + }, + "typeName": { + "id": 6469, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "211:6:22", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 6472, + "name": "symbol", + "nodeType": "VariableDeclaration", + "scope": 6785, + "src": "252:20:22", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + }, + "typeName": { + "id": 6471, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "252:6:22", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 6474, + "name": "decimals", + "nodeType": "VariableDeclaration", + "scope": 6785, + "src": "276:21:22", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 6473, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "276:5:22", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 6477, + "name": "version", + "nodeType": "VariableDeclaration", + "scope": 6785, + "src": "333:30:22", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + }, + "typeName": { + "id": 6475, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "333:6:22", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "76302e31", + "id": 6476, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "357:6:22", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_6d332d76c5f02eb1a7286b96f4a528ceba4d78d0825283d5be2e358ade4be84e", + "typeString": "literal_string \"v0.1\"" + }, + "value": "v0.1" + }, + "visibility": "public" + }, + { + "constant": false, + "id": 6479, + "name": "initialSupply", + "nodeType": "VariableDeclaration", + "scope": 6785, + "src": "368:25:22", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6478, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "368:4:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 6481, + "name": "totalSupply", + "nodeType": "VariableDeclaration", + "scope": 6785, + "src": "397:23:22", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6480, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "397:4:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 6483, + "name": "locked", + "nodeType": "VariableDeclaration", + "scope": 6785, + "src": "424:18:22", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6482, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "424:4:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 6487, + "name": "balances", + "nodeType": "VariableDeclaration", + "scope": 6785, + "src": "476:33:22", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "typeName": { + "id": 6486, + "keyType": { + "id": 6484, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "484:7:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "476:24:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "valueType": { + "id": 6485, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "495:4:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6493, + "name": "allowed", + "nodeType": "VariableDeclaration", + "scope": 6785, + "src": "513:54:22", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + }, + "typeName": { + "id": 6492, + "keyType": { + "id": 6488, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "522:7:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "513:46:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + }, + "valueType": { + "id": 6491, + "keyType": { + "id": 6489, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "542:7:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "533:25:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "valueType": { + "id": 6490, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "553:4:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + } + }, + "value": null, + "visibility": "internal" + }, + { + "body": { + "id": 6504, + "nodeType": "Block", + "src": "630:58:22", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 6500, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 6498, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6495, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "640:3:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6496, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "640:10:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "id": 6497, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6419, + "src": "654:5:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "640:19:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "id": 6499, + "name": "locked", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6483, + "src": "663:6:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "640:29:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 6502, + "nodeType": "IfStatement", + "src": "636:40:22", + "trueBody": { + "id": 6501, + "nodeType": "Throw", + "src": "671:5:22" + } + }, + { + "id": 6503, + "nodeType": "PlaceholderStatement", + "src": "682:1:22" + } + ] + }, + "documentation": null, + "id": 6505, + "name": "onlyUnlocked", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 6494, + "nodeType": "ParameterList", + "parameters": [], + "src": "627:2:22" + }, + "src": "606:82:22", + "visibility": "internal" + }, + { + "body": { + "id": 6539, + "nodeType": "Block", + "src": "788:586:22", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 6510, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 6508, + "name": "locked", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6483, + "src": "849:6:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 6509, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "858:4:22", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "849:13:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 6511, + "nodeType": "ExpressionStatement", + "src": "849:13:22" + }, + { + "expression": { + "argumentTypes": null, + "id": 6514, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 6512, + "name": "initialSupply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6479, + "src": "952:13:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "3837303030303030303030303030303030", + "id": 6513, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "968:17:22", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_87000000000000000_by_1", + "typeString": "int_const 87000000000000000" + }, + "value": "87000000000000000" + }, + "src": "952:33:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6515, + "nodeType": "ExpressionStatement", + "src": "952:33:22" + }, + { + "expression": { + "argumentTypes": null, + "id": 6518, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 6516, + "name": "totalSupply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6481, + "src": "991:11:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 6517, + "name": "initialSupply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6479, + "src": "1005:13:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "991:27:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6519, + "nodeType": "ExpressionStatement", + "src": "991:27:22" + }, + { + "expression": { + "argumentTypes": null, + "id": 6525, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6520, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6487, + "src": "1024:8:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 6523, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6521, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "1033:3:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6522, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1033:10:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1024:20:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 6524, + "name": "initialSupply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6479, + "src": "1047:13:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1024:36:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6526, + "nodeType": "ExpressionStatement", + "src": "1024:36:22" + }, + { + "expression": { + "argumentTypes": null, + "id": 6529, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 6527, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6470, + "src": "1124:4:22", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "6945782e6563204e6574776f726b20546f6b656e", + "id": 6528, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1131:22:22", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_abb508c63afa2dadda9b4135ffa82c570e05ee52d75826176c1ab3dadb14e4ed", + "typeString": "literal_string \"iEx.ec Network Token\"" + }, + "value": "iEx.ec Network Token" + }, + "src": "1124:29:22", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 6530, + "nodeType": "ExpressionStatement", + "src": "1124:29:22" + }, + { + "expression": { + "argumentTypes": null, + "id": 6533, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 6531, + "name": "symbol", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6472, + "src": "1208:6:22", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "524c43", + "id": 6532, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1217:5:22", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_f7307f5bc77f710d9b3ce234b6197b803a3eed806105c6199117f8ac8c60c8ae", + "typeString": "literal_string \"RLC\"" + }, + "value": "RLC" + }, + "src": "1208:14:22", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 6534, + "nodeType": "ExpressionStatement", + "src": "1208:14:22" + }, + { + "expression": { + "argumentTypes": null, + "id": 6537, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 6535, + "name": "decimals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6474, + "src": "1291:8:22", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "39", + "id": 6536, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1302:1:22", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_9_by_1", + "typeString": "int_const 9" + }, + "value": "9" + }, + "src": "1291:12:22", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "id": 6538, + "nodeType": "ExpressionStatement", + "src": "1291:12:22" + } + ] + }, + "documentation": null, + "id": 6540, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "RLC", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6506, + "nodeType": "ParameterList", + "parameters": [], + "src": "785:2:22" + }, + "payable": false, + "returnParameters": { + "id": 6507, + "nodeType": "ParameterList", + "parameters": [], + "src": "788:0:22" + }, + "scope": 6785, + "src": "773:601:22", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 6549, + "nodeType": "Block", + "src": "1406:25:22", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 6547, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 6545, + "name": "locked", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6483, + "src": "1412:6:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 6546, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1421:5:22", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "1412:14:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 6548, + "nodeType": "ExpressionStatement", + "src": "1412:14:22" + } + ] + }, + "documentation": null, + "id": 6550, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 6543, + "modifierName": { + "argumentTypes": null, + "id": 6542, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6437, + "src": "1396:9:22", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "1396:9:22" + } + ], + "name": "unlock", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6541, + "nodeType": "ParameterList", + "parameters": [], + "src": "1393:2:22" + }, + "payable": false, + "returnParameters": { + "id": 6544, + "nodeType": "ParameterList", + "parameters": [], + "src": "1406:0:22" + }, + "scope": 6785, + "src": "1378:53:22", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 6586, + "nodeType": "Block", + "src": "1479:176:22", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 6568, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6557, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6487, + "src": "1485:8:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 6560, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6558, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "1494:3:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6559, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1494:10:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1485:20:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6562, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6487, + "src": "1516:8:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 6565, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6563, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "1525:3:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6564, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1525:10:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1516:20:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 6566, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6552, + "src": "1538:6:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6561, + "name": "safeSub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6873, + "src": "1508:7:22", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256) returns (uint256)" + } + }, + "id": 6567, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1508:37:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1485:60:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6569, + "nodeType": "ExpressionStatement", + "src": "1485:60:22" + }, + { + "expression": { + "argumentTypes": null, + "id": 6575, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 6570, + "name": "totalSupply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6481, + "src": "1552:11:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6572, + "name": "totalSupply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6481, + "src": "1574:11:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 6573, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6552, + "src": "1587:6:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6571, + "name": "safeSub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6873, + "src": "1566:7:22", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256) returns (uint256)" + } + }, + "id": 6574, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1566:28:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1552:42:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6576, + "nodeType": "ExpressionStatement", + "src": "1552:42:22" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6578, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "1609:3:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6579, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1609:10:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "hexValue": "307830", + "id": 6580, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1621:3:22", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + }, + { + "argumentTypes": null, + "id": 6581, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6552, + "src": "1626:6:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6577, + "name": "Transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6406, + "src": "1600:8:22", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 6582, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1600:33:22", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6583, + "nodeType": "ExpressionStatement", + "src": "1600:33:22" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 6584, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1646:4:22", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 6556, + "id": 6585, + "nodeType": "Return", + "src": "1639:11:22" + } + ] + }, + "documentation": null, + "id": 6587, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "burn", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6553, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6552, + "name": "_value", + "nodeType": "VariableDeclaration", + "scope": 6587, + "src": "1449:14:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6551, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1449:7:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1448:16:22" + }, + "payable": false, + "returnParameters": { + "id": 6556, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6555, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 6587, + "src": "1474:4:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6554, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1474:4:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1473:6:22" + }, + "scope": 6785, + "src": "1435:220:22", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 6631, + "nodeType": "Block", + "src": "1731:179:22", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 6609, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6598, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6487, + "src": "1737:8:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 6601, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6599, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "1746:3:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6600, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1746:10:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1737:20:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6603, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6487, + "src": "1768:8:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 6606, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6604, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "1777:3:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6605, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1777:10:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1768:20:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 6607, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6591, + "src": "1790:6:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6602, + "name": "safeSub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6873, + "src": "1760:7:22", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256) returns (uint256)" + } + }, + "id": 6608, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1760:37:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1737:60:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6610, + "nodeType": "ExpressionStatement", + "src": "1737:60:22" + }, + { + "expression": { + "argumentTypes": null, + "id": 6620, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6611, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6487, + "src": "1803:8:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 6613, + "indexExpression": { + "argumentTypes": null, + "id": 6612, + "name": "_to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6589, + "src": "1812:3:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1803:13:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6615, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6487, + "src": "1827:8:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 6617, + "indexExpression": { + "argumentTypes": null, + "id": 6616, + "name": "_to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6589, + "src": "1836:3:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1827:13:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 6618, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6591, + "src": "1842:6:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6614, + "name": "safeAdd", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6901, + "src": "1819:7:22", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256) returns (uint256)" + } + }, + "id": 6619, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1819:30:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1803:46:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6621, + "nodeType": "ExpressionStatement", + "src": "1803:46:22" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6623, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "1864:3:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6624, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1864:10:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 6625, + "name": "_to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6589, + "src": "1876:3:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 6626, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6591, + "src": "1881:6:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6622, + "name": "Transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6406, + "src": "1855:8:22", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 6627, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1855:33:22", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6628, + "nodeType": "ExpressionStatement", + "src": "1855:33:22" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 6629, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1901:4:22", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 6597, + "id": 6630, + "nodeType": "Return", + "src": "1894:11:22" + } + ] + }, + "documentation": null, + "id": 6632, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 6594, + "modifierName": { + "argumentTypes": null, + "id": 6593, + "name": "onlyUnlocked", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6505, + "src": "1703:12:22", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "1703:12:22" + } + ], + "name": "transfer", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6592, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6589, + "name": "_to", + "nodeType": "VariableDeclaration", + "scope": 6632, + "src": "1677:11:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6588, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1677:7:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6591, + "name": "_value", + "nodeType": "VariableDeclaration", + "scope": 6632, + "src": "1690:11:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6590, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1690:4:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1676:26:22" + }, + "payable": false, + "returnParameters": { + "id": 6597, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6596, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 6632, + "src": "1725:4:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6595, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1725:4:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1724:6:22" + }, + "scope": 6785, + "src": "1659:251:22", + "stateMutability": "nonpayable", + "superFunction": 6378, + "visibility": "public" + }, + { + "body": { + "id": 6695, + "nodeType": "Block", + "src": "2005:280:22", + "statements": [ + { + "assignments": [ + 6645 + ], + "declarations": [ + { + "constant": false, + "id": 6645, + "name": "_allowance", + "nodeType": "VariableDeclaration", + "scope": 6696, + "src": "2011:14:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": null, + "value": null, + "visibility": "internal" + } + ], + "id": 6652, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6646, + "name": "allowed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6493, + "src": "2028:7:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + } + }, + "id": 6648, + "indexExpression": { + "argumentTypes": null, + "id": 6647, + "name": "_from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6634, + "src": "2036:5:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2028:14:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 6651, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6649, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "2043:3:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6650, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2043:10:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2028:26:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2011:43:22" + }, + { + "expression": { + "argumentTypes": null, + "id": 6662, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6653, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6487, + "src": "2065:8:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 6655, + "indexExpression": { + "argumentTypes": null, + "id": 6654, + "name": "_to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6636, + "src": "2074:3:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2065:13:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6657, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6487, + "src": "2089:8:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 6659, + "indexExpression": { + "argumentTypes": null, + "id": 6658, + "name": "_to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6636, + "src": "2098:3:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2089:13:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 6660, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6638, + "src": "2104:6:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6656, + "name": "safeAdd", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6901, + "src": "2081:7:22", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256) returns (uint256)" + } + }, + "id": 6661, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2081:30:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2065:46:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6663, + "nodeType": "ExpressionStatement", + "src": "2065:46:22" + }, + { + "expression": { + "argumentTypes": null, + "id": 6673, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6664, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6487, + "src": "2117:8:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 6666, + "indexExpression": { + "argumentTypes": null, + "id": 6665, + "name": "_from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6634, + "src": "2126:5:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2117:15:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6668, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6487, + "src": "2143:8:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 6670, + "indexExpression": { + "argumentTypes": null, + "id": 6669, + "name": "_from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6634, + "src": "2152:5:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2143:15:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 6671, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6638, + "src": "2160:6:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6667, + "name": "safeSub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6873, + "src": "2135:7:22", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256) returns (uint256)" + } + }, + "id": 6672, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2135:32:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2117:50:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6674, + "nodeType": "ExpressionStatement", + "src": "2117:50:22" + }, + { + "expression": { + "argumentTypes": null, + "id": 6685, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6675, + "name": "allowed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6493, + "src": "2173:7:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + } + }, + "id": 6679, + "indexExpression": { + "argumentTypes": null, + "id": 6676, + "name": "_from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6634, + "src": "2181:5:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2173:14:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 6680, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6677, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "2188:3:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6678, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2188:10:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2173:26:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6682, + "name": "_allowance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6645, + "src": "2210:10:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 6683, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6638, + "src": "2222:6:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6681, + "name": "safeSub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6873, + "src": "2202:7:22", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256) returns (uint256)" + } + }, + "id": 6684, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2202:27:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2173:56:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6686, + "nodeType": "ExpressionStatement", + "src": "2173:56:22" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6688, + "name": "_from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6634, + "src": "2244:5:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 6689, + "name": "_to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6636, + "src": "2251:3:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 6690, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6638, + "src": "2256:6:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6687, + "name": "Transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6406, + "src": "2235:8:22", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 6691, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2235:28:22", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6692, + "nodeType": "ExpressionStatement", + "src": "2235:28:22" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 6693, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2276:4:22", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 6644, + "id": 6694, + "nodeType": "Return", + "src": "2269:11:22" + } + ] + }, + "documentation": null, + "id": 6696, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 6641, + "modifierName": { + "argumentTypes": null, + "id": 6640, + "name": "onlyUnlocked", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6505, + "src": "1977:12:22", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "1977:12:22" + } + ], + "name": "transferFrom", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6639, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6634, + "name": "_from", + "nodeType": "VariableDeclaration", + "scope": 6696, + "src": "1936:13:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6633, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1936:7:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6636, + "name": "_to", + "nodeType": "VariableDeclaration", + "scope": 6696, + "src": "1951:11:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6635, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1951:7:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6638, + "name": "_value", + "nodeType": "VariableDeclaration", + "scope": 6696, + "src": "1964:11:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6637, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1964:4:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1935:41:22" + }, + "payable": false, + "returnParameters": { + "id": 6644, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6643, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 6696, + "src": "1999:4:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6642, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1999:4:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1998:6:22" + }, + "scope": 6785, + "src": "1914:371:22", + "stateMutability": "nonpayable", + "superFunction": 6389, + "visibility": "public" + }, + { + "body": { + "id": 6707, + "nodeType": "Block", + "src": "2356:34:22", + "statements": [ + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6703, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6487, + "src": "2369:8:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 6705, + "indexExpression": { + "argumentTypes": null, + "id": 6704, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6698, + "src": "2378:6:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2369:16:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 6702, + "id": 6706, + "nodeType": "Return", + "src": "2362:23:22" + } + ] + }, + "documentation": null, + "id": 6708, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "balanceOf", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6699, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6698, + "name": "_owner", + "nodeType": "VariableDeclaration", + "scope": 6708, + "src": "2308:14:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6697, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2308:7:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2307:16:22" + }, + "payable": false, + "returnParameters": { + "id": 6702, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6701, + "name": "balance", + "nodeType": "VariableDeclaration", + "scope": 6708, + "src": "2342:12:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6700, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "2342:4:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2341:14:22" + }, + "scope": 6785, + "src": "2289:101:22", + "stateMutability": "view", + "superFunction": 6360, + "visibility": "public" + }, + { + "body": { + "id": 6735, + "nodeType": "Block", + "src": "2457:110:22", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 6724, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6717, + "name": "allowed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6493, + "src": "2463:7:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + } + }, + "id": 6721, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6718, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "2471:3:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6719, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2471:10:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2463:19:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 6722, + "indexExpression": { + "argumentTypes": null, + "id": 6720, + "name": "_spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6710, + "src": "2483:8:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2463:29:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 6723, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6712, + "src": "2495:6:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2463:38:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6725, + "nodeType": "ExpressionStatement", + "src": "2463:38:22" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6727, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "2516:3:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6728, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2516:10:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 6729, + "name": "_spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6710, + "src": "2528:8:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 6730, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6712, + "src": "2538:6:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6726, + "name": "Approval", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6414, + "src": "2507:8:22", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 6731, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2507:38:22", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6732, + "nodeType": "ExpressionStatement", + "src": "2507:38:22" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 6733, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2558:4:22", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 6716, + "id": 6734, + "nodeType": "Return", + "src": "2551:11:22" + } + ] + }, + "documentation": null, + "id": 6736, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "approve", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6713, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6710, + "name": "_spender", + "nodeType": "VariableDeclaration", + "scope": 6736, + "src": "2411:16:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6709, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2411:7:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6712, + "name": "_value", + "nodeType": "VariableDeclaration", + "scope": 6736, + "src": "2429:11:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6711, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "2429:4:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2410:31:22" + }, + "payable": false, + "returnParameters": { + "id": 6716, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6715, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 6736, + "src": "2451:4:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6714, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2451:4:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2450:6:22" + }, + "scope": 6785, + "src": "2394:173:22", + "stateMutability": "nonpayable", + "superFunction": 6398, + "visibility": "public" + }, + { + "body": { + "id": 6767, + "nodeType": "Block", + "src": "2721:182:22", + "statements": [ + { + "assignments": [ + 6746 + ], + "declarations": [ + { + "constant": false, + "id": 6746, + "name": "spender", + "nodeType": "VariableDeclaration", + "scope": 6768, + "src": "2733:20:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_TokenSpender_$6995", + "typeString": "contract TokenSpender" + }, + "typeName": { + "contractScope": null, + "id": 6745, + "name": "TokenSpender", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 6995, + "src": "2733:12:22", + "typeDescriptions": { + "typeIdentifier": "t_contract$_TokenSpender_$6995", + "typeString": "contract TokenSpender" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 6750, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6748, + "name": "_spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6738, + "src": "2769:8:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 6747, + "name": "TokenSpender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6995, + "src": "2756:12:22", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_TokenSpender_$6995_$", + "typeString": "type(contract TokenSpender)" + } + }, + "id": 6749, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2756:22:22", + "typeDescriptions": { + "typeIdentifier": "t_contract$_TokenSpender_$6995", + "typeString": "contract TokenSpender" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2733:45:22" + }, + { + "condition": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6752, + "name": "_spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6738, + "src": "2798:8:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 6753, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6740, + "src": "2808:6:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6751, + "name": "approve", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6736 + ], + "referencedDeclaration": 6736, + "src": "2790:7:22", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) returns (bool)" + } + }, + "id": 6754, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2790:25:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 6766, + "nodeType": "IfStatement", + "src": "2786:113:22", + "trueBody": { + "id": 6765, + "nodeType": "Block", + "src": "2817:82:22", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6758, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "2853:3:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6759, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2853:10:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 6760, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6740, + "src": "2865:6:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 6761, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7029, + "src": "2873:4:22", + "typeDescriptions": { + "typeIdentifier": "t_contract$_RLC_$6785", + "typeString": "contract RLC" + } + }, + { + "argumentTypes": null, + "id": 6762, + "name": "_extraData", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6742, + "src": "2879:10:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_contract$_RLC_$6785", + "typeString": "contract RLC" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "argumentTypes": null, + "id": 6755, + "name": "spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6746, + "src": "2829:7:22", + "typeDescriptions": { + "typeIdentifier": "t_contract$_TokenSpender_$6995", + "typeString": "contract TokenSpender" + } + }, + "id": 6757, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "receiveApproval", + "nodeType": "MemberAccess", + "referencedDeclaration": 6994, + "src": "2829:23:22", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$_t_address_$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (address,uint256,address,bytes memory) external" + } + }, + "id": 6763, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2829:61:22", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6764, + "nodeType": "ExpressionStatement", + "src": "2829:61:22" + } + ] + } + } + ] + }, + "documentation": null, + "id": 6768, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "approveAndCall", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6743, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6738, + "name": "_spender", + "nodeType": "VariableDeclaration", + "scope": 6768, + "src": "2670:16:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6737, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2670:7:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6740, + "name": "_value", + "nodeType": "VariableDeclaration", + "scope": 6768, + "src": "2688:14:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6739, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2688:7:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6742, + "name": "_extraData", + "nodeType": "VariableDeclaration", + "scope": 6768, + "src": "2704:16:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + "typeName": { + "id": 6741, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2704:5:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2669:52:22" + }, + "payable": false, + "returnParameters": { + "id": 6744, + "nodeType": "ParameterList", + "parameters": [], + "src": "2721:0:22" + }, + "scope": 6785, + "src": "2646:257:22", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 6783, + "nodeType": "Block", + "src": "2994:43:22", + "statements": [ + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6777, + "name": "allowed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6493, + "src": "3007:7:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + } + }, + "id": 6779, + "indexExpression": { + "argumentTypes": null, + "id": 6778, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6770, + "src": "3015:6:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3007:15:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 6781, + "indexExpression": { + "argumentTypes": null, + "id": 6780, + "name": "_spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6772, + "src": "3023:8:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3007:25:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 6776, + "id": 6782, + "nodeType": "Return", + "src": "3000:32:22" + } + ] + }, + "documentation": null, + "id": 6784, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "allowance", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6773, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6770, + "name": "_owner", + "nodeType": "VariableDeclaration", + "scope": 6784, + "src": "2926:14:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6769, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2926:7:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6772, + "name": "_spender", + "nodeType": "VariableDeclaration", + "scope": 6784, + "src": "2942:16:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6771, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2942:7:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2925:34:22" + }, + "payable": false, + "returnParameters": { + "id": 6776, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6775, + "name": "remaining", + "nodeType": "VariableDeclaration", + "scope": 6784, + "src": "2978:14:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6774, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "2978:4:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2977:16:22" + }, + "scope": 6785, + "src": "2907:130:22", + "stateMutability": "view", + "superFunction": 6369, + "visibility": "public" + } + ], + "scope": 6786, + "src": "125:2917:22" + } + ], + "src": "0:3044:22" + }, + "compiler": { + "name": "solc", + "version": "0.4.21+commit.dfe3193c.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "2.0.0", + "updatedAt": "2018-06-12T15:21:39.686Z" +} \ No newline at end of file diff --git a/deployed/contracts/SafeMath.json b/deployed/contracts/SafeMath.json new file mode 100644 index 00000000..d867b967 --- /dev/null +++ b/deployed/contracts/SafeMath.json @@ -0,0 +1,4979 @@ +{ + "contractName": "SafeMath", + "abi": [], + "bytecode": "0x60606040523415600e57600080fd5b603580601b6000396000f3006060604052600080fd00a165627a7a7230582094729f095275c10ca688de89bcfcc6132fa4d245fd3705ccbd5840373b5ef8580029", + "deployedBytecode": "0x6060604052600080fd00a165627a7a7230582094729f095275c10ca688de89bcfcc6132fa4d245fd3705ccbd5840373b5ef8580029", + "sourceMap": "25:1056:23:-;;;;;;;;;;;;;;;;;", + "deployedSourceMap": "25:1056:23:-;;;;;", + "source": "pragma solidity ^0.4.8;\n\ncontract SafeMath {\n function safeMul(uint a, uint b) internal returns (uint) {\n uint c = a * b;\n assert(a == 0 || c / a == b);\n return c;\n }\n\n function safeDiv(uint a, uint b) internal returns (uint) {\n assert(b > 0);\n uint c = a / b;\n assert(a == b * c + a % b);\n return c;\n }\n\n function safeSub(uint a, uint b) internal returns (uint) {\n assert(b <= a);\n return a - b;\n }\n\n function safeAdd(uint a, uint b) internal returns (uint) {\n uint c = a + b;\n assert(c>=a && c>=b);\n return c;\n }\n\n function max64(uint64 a, uint64 b) internal constant returns (uint64) {\n return a >= b ? a : b;\n }\n\n function min64(uint64 a, uint64 b) internal constant returns (uint64) {\n return a < b ? a : b;\n }\n\n function max256(uint256 a, uint256 b) internal constant returns (uint256) {\n return a >= b ? a : b;\n }\n\n function min256(uint256 a, uint256 b) internal constant returns (uint256) {\n return a < b ? a : b;\n }\n\n function assert(bool assertion) internal {\n if (!assertion) {\n throw;\n }\n }\n}", + "sourcePath": "rlc-token/contracts/SafeMath.sol", + "ast": { + "absolutePath": "rlc-token/contracts/SafeMath.sol", + "exportedSymbols": { + "SafeMath": [ + 6981 + ] + }, + "id": 6982, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 6787, + "literals": [ + "solidity", + "^", + "0.4", + ".8" + ], + "nodeType": "PragmaDirective", + "src": "0:23:23" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 6981, + "linearizedBaseContracts": [ + 6981 + ], + "name": "SafeMath", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 6816, + "nodeType": "Block", + "src": "104:73:23", + "statements": [ + { + "assignments": [ + 6797 + ], + "declarations": [ + { + "constant": false, + "id": 6797, + "name": "c", + "nodeType": "VariableDeclaration", + "scope": 6817, + "src": "110:6:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6796, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "110:4:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 6801, + "initialValue": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6800, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 6798, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6789, + "src": "119:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "id": 6799, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6791, + "src": "123:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "119:5:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "110:14:23" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 6811, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6805, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 6803, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6789, + "src": "137:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 6804, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "142:1:23", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "137:6:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6810, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6808, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 6806, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6797, + "src": "147:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "/", + "rightExpression": { + "argumentTypes": null, + "id": 6807, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6789, + "src": "151:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "147:5:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 6809, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6791, + "src": "156:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "147:10:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "137:20:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 6802, + "name": "assert", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6980, + "src": "130:6:23", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bool_$returns$__$", + "typeString": "function (bool)" + } + }, + "id": 6812, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "130:28:23", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6813, + "nodeType": "ExpressionStatement", + "src": "130:28:23" + }, + { + "expression": { + "argumentTypes": null, + "id": 6814, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6797, + "src": "171:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 6795, + "id": 6815, + "nodeType": "Return", + "src": "164:8:23" + } + ] + }, + "documentation": null, + "id": 6817, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "safeMul", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6792, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6789, + "name": "a", + "nodeType": "VariableDeclaration", + "scope": 6817, + "src": "64:6:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6788, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "64:4:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6791, + "name": "b", + "nodeType": "VariableDeclaration", + "scope": 6817, + "src": "72:6:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6790, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "72:4:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "63:16:23" + }, + "payable": false, + "returnParameters": { + "id": 6795, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6794, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 6817, + "src": "98:4:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6793, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "98:4:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "97:6:23" + }, + "scope": 6981, + "src": "47:130:23", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 6852, + "nodeType": "Block", + "src": "238:90:23", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6829, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 6827, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6821, + "src": "251:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 6828, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "255:1:23", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "251:5:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 6826, + "name": "assert", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6980, + "src": "244:6:23", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bool_$returns$__$", + "typeString": "function (bool)" + } + }, + "id": 6830, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "244:13:23", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6831, + "nodeType": "ExpressionStatement", + "src": "244:13:23" + }, + { + "assignments": [ + 6833 + ], + "declarations": [ + { + "constant": false, + "id": 6833, + "name": "c", + "nodeType": "VariableDeclaration", + "scope": 6853, + "src": "263:6:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6832, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "263:4:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 6837, + "initialValue": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6836, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 6834, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6819, + "src": "272:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "/", + "rightExpression": { + "argumentTypes": null, + "id": 6835, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6821, + "src": "276:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "272:5:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "263:14:23" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6847, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 6839, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6819, + "src": "290:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6846, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6842, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 6840, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6821, + "src": "295:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "id": 6841, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6833, + "src": "299:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "295:5:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6845, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 6843, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6819, + "src": "303:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "%", + "rightExpression": { + "argumentTypes": null, + "id": 6844, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6821, + "src": "307:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "303:5:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "295:13:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "290:18:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 6838, + "name": "assert", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6980, + "src": "283:6:23", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bool_$returns$__$", + "typeString": "function (bool)" + } + }, + "id": 6848, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "283:26:23", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6849, + "nodeType": "ExpressionStatement", + "src": "283:26:23" + }, + { + "expression": { + "argumentTypes": null, + "id": 6850, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6833, + "src": "322:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 6825, + "id": 6851, + "nodeType": "Return", + "src": "315:8:23" + } + ] + }, + "documentation": null, + "id": 6853, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "safeDiv", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6822, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6819, + "name": "a", + "nodeType": "VariableDeclaration", + "scope": 6853, + "src": "198:6:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6818, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "198:4:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6821, + "name": "b", + "nodeType": "VariableDeclaration", + "scope": 6853, + "src": "206:6:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6820, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "206:4:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "197:16:23" + }, + "payable": false, + "returnParameters": { + "id": 6825, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6824, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 6853, + "src": "232:4:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6823, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "232:4:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "231:6:23" + }, + "scope": 6981, + "src": "181:147:23", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 6872, + "nodeType": "Block", + "src": "389:43:23", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6865, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 6863, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6857, + "src": "402:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "argumentTypes": null, + "id": 6864, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6855, + "src": "407:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "402:6:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 6862, + "name": "assert", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6980, + "src": "395:6:23", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bool_$returns$__$", + "typeString": "function (bool)" + } + }, + "id": 6866, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "395:14:23", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6867, + "nodeType": "ExpressionStatement", + "src": "395:14:23" + }, + { + "expression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6870, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 6868, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6855, + "src": "422:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "argumentTypes": null, + "id": 6869, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6857, + "src": "426:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "422:5:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 6861, + "id": 6871, + "nodeType": "Return", + "src": "415:12:23" + } + ] + }, + "documentation": null, + "id": 6873, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "safeSub", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6858, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6855, + "name": "a", + "nodeType": "VariableDeclaration", + "scope": 6873, + "src": "349:6:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6854, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "349:4:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6857, + "name": "b", + "nodeType": "VariableDeclaration", + "scope": 6873, + "src": "357:6:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6856, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "357:4:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "348:16:23" + }, + "payable": false, + "returnParameters": { + "id": 6861, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6860, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 6873, + "src": "383:4:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6859, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "383:4:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "382:6:23" + }, + "scope": 6981, + "src": "332:100:23", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 6900, + "nodeType": "Block", + "src": "493:65:23", + "statements": [ + { + "assignments": [ + 6883 + ], + "declarations": [ + { + "constant": false, + "id": 6883, + "name": "c", + "nodeType": "VariableDeclaration", + "scope": 6901, + "src": "499:6:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6882, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "499:4:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 6887, + "initialValue": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6886, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 6884, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6875, + "src": "508:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "id": 6885, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6877, + "src": "512:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "508:5:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "499:14:23" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 6895, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6891, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 6889, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6883, + "src": "526:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "id": 6890, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6875, + "src": "529:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "526:4:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6894, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 6892, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6883, + "src": "534:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "id": 6893, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6877, + "src": "537:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "534:4:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "526:12:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 6888, + "name": "assert", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6980, + "src": "519:6:23", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bool_$returns$__$", + "typeString": "function (bool)" + } + }, + "id": 6896, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "519:20:23", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6897, + "nodeType": "ExpressionStatement", + "src": "519:20:23" + }, + { + "expression": { + "argumentTypes": null, + "id": 6898, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6883, + "src": "552:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 6881, + "id": 6899, + "nodeType": "Return", + "src": "545:8:23" + } + ] + }, + "documentation": null, + "id": 6901, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "safeAdd", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6878, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6875, + "name": "a", + "nodeType": "VariableDeclaration", + "scope": 6901, + "src": "453:6:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6874, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "453:4:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6877, + "name": "b", + "nodeType": "VariableDeclaration", + "scope": 6901, + "src": "461:6:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6876, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "461:4:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "452:16:23" + }, + "payable": false, + "returnParameters": { + "id": 6881, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6880, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 6901, + "src": "487:4:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6879, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "487:4:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "486:6:23" + }, + "scope": 6981, + "src": "436:122:23", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 6917, + "nodeType": "Block", + "src": "632:32:23", + "statements": [ + { + "expression": { + "argumentTypes": null, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "id": 6912, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 6910, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6903, + "src": "645:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "id": 6911, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6905, + "src": "650:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "src": "645:6:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "argumentTypes": null, + "id": 6914, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6905, + "src": "658:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "id": 6915, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "645:14:23", + "trueExpression": { + "argumentTypes": null, + "id": 6913, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6903, + "src": "654:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "functionReturnParameters": 6909, + "id": 6916, + "nodeType": "Return", + "src": "638:21:23" + } + ] + }, + "documentation": null, + "id": 6918, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "max64", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6906, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6903, + "name": "a", + "nodeType": "VariableDeclaration", + "scope": 6918, + "src": "577:8:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 6902, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "577:6:23", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6905, + "name": "b", + "nodeType": "VariableDeclaration", + "scope": 6918, + "src": "587:8:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 6904, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "587:6:23", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "576:20:23" + }, + "payable": false, + "returnParameters": { + "id": 6909, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6908, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 6918, + "src": "624:6:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 6907, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "624:6:23", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "623:8:23" + }, + "scope": 6981, + "src": "562:102:23", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 6934, + "nodeType": "Block", + "src": "738:31:23", + "statements": [ + { + "expression": { + "argumentTypes": null, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "id": 6929, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 6927, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6920, + "src": "751:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "id": 6928, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6922, + "src": "755:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "src": "751:5:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "argumentTypes": null, + "id": 6931, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6922, + "src": "763:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "id": 6932, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "751:13:23", + "trueExpression": { + "argumentTypes": null, + "id": 6930, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6920, + "src": "759:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "functionReturnParameters": 6926, + "id": 6933, + "nodeType": "Return", + "src": "744:20:23" + } + ] + }, + "documentation": null, + "id": 6935, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "min64", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6923, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6920, + "name": "a", + "nodeType": "VariableDeclaration", + "scope": 6935, + "src": "683:8:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 6919, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "683:6:23", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6922, + "name": "b", + "nodeType": "VariableDeclaration", + "scope": 6935, + "src": "693:8:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 6921, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "693:6:23", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "682:20:23" + }, + "payable": false, + "returnParameters": { + "id": 6926, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6925, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 6935, + "src": "730:6:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 6924, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "730:6:23", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "729:8:23" + }, + "scope": 6981, + "src": "668:101:23", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 6951, + "nodeType": "Block", + "src": "847:32:23", + "statements": [ + { + "expression": { + "argumentTypes": null, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6946, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 6944, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6937, + "src": "860:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "id": 6945, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6939, + "src": "865:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "860:6:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "argumentTypes": null, + "id": 6948, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6939, + "src": "873:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6949, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "860:14:23", + "trueExpression": { + "argumentTypes": null, + "id": 6947, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6937, + "src": "869:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 6943, + "id": 6950, + "nodeType": "Return", + "src": "853:21:23" + } + ] + }, + "documentation": null, + "id": 6952, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "max256", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6940, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6937, + "name": "a", + "nodeType": "VariableDeclaration", + "scope": 6952, + "src": "789:9:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6936, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "789:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6939, + "name": "b", + "nodeType": "VariableDeclaration", + "scope": 6952, + "src": "800:9:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6938, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "800:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "788:22:23" + }, + "payable": false, + "returnParameters": { + "id": 6943, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6942, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 6952, + "src": "838:7:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6941, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "838:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "837:9:23" + }, + "scope": 6981, + "src": "773:106:23", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 6968, + "nodeType": "Block", + "src": "957:31:23", + "statements": [ + { + "expression": { + "argumentTypes": null, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6963, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 6961, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6954, + "src": "970:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "id": 6962, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6956, + "src": "974:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "970:5:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "argumentTypes": null, + "id": 6965, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6956, + "src": "982:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6966, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "970:13:23", + "trueExpression": { + "argumentTypes": null, + "id": 6964, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6954, + "src": "978:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 6960, + "id": 6967, + "nodeType": "Return", + "src": "963:20:23" + } + ] + }, + "documentation": null, + "id": 6969, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "min256", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6957, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6954, + "name": "a", + "nodeType": "VariableDeclaration", + "scope": 6969, + "src": "899:9:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6953, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "899:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6956, + "name": "b", + "nodeType": "VariableDeclaration", + "scope": 6969, + "src": "910:9:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6955, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "910:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "898:22:23" + }, + "payable": false, + "returnParameters": { + "id": 6960, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6959, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 6969, + "src": "948:7:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6958, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "948:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "947:9:23" + }, + "scope": 6981, + "src": "883:105:23", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 6979, + "nodeType": "Block", + "src": "1033:46:23", + "statements": [ + { + "condition": { + "argumentTypes": null, + "id": 6975, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "1043:10:23", + "subExpression": { + "argumentTypes": null, + "id": 6974, + "name": "assertion", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6971, + "src": "1044:9:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 6978, + "nodeType": "IfStatement", + "src": "1039:36:23", + "trueBody": { + "id": 6977, + "nodeType": "Block", + "src": "1055:20:23", + "statements": [ + { + "id": 6976, + "nodeType": "Throw", + "src": "1063:5:23" + } + ] + } + } + ] + }, + "documentation": null, + "id": 6980, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "assert", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6972, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6971, + "name": "assertion", + "nodeType": "VariableDeclaration", + "scope": 6980, + "src": "1008:14:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6970, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1008:4:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1007:16:23" + }, + "payable": false, + "returnParameters": { + "id": 6973, + "nodeType": "ParameterList", + "parameters": [], + "src": "1033:0:23" + }, + "scope": 6981, + "src": "992:87:23", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + } + ], + "scope": 6982, + "src": "25:1056:23" + } + ], + "src": "0:1081:23" + }, + "legacyAST": { + "absolutePath": "rlc-token/contracts/SafeMath.sol", + "exportedSymbols": { + "SafeMath": [ + 6981 + ] + }, + "id": 6982, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 6787, + "literals": [ + "solidity", + "^", + "0.4", + ".8" + ], + "nodeType": "PragmaDirective", + "src": "0:23:23" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 6981, + "linearizedBaseContracts": [ + 6981 + ], + "name": "SafeMath", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 6816, + "nodeType": "Block", + "src": "104:73:23", + "statements": [ + { + "assignments": [ + 6797 + ], + "declarations": [ + { + "constant": false, + "id": 6797, + "name": "c", + "nodeType": "VariableDeclaration", + "scope": 6817, + "src": "110:6:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6796, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "110:4:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 6801, + "initialValue": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6800, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 6798, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6789, + "src": "119:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "id": 6799, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6791, + "src": "123:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "119:5:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "110:14:23" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 6811, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6805, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 6803, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6789, + "src": "137:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 6804, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "142:1:23", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "137:6:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6810, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6808, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 6806, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6797, + "src": "147:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "/", + "rightExpression": { + "argumentTypes": null, + "id": 6807, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6789, + "src": "151:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "147:5:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 6809, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6791, + "src": "156:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "147:10:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "137:20:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 6802, + "name": "assert", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6980, + "src": "130:6:23", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bool_$returns$__$", + "typeString": "function (bool)" + } + }, + "id": 6812, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "130:28:23", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6813, + "nodeType": "ExpressionStatement", + "src": "130:28:23" + }, + { + "expression": { + "argumentTypes": null, + "id": 6814, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6797, + "src": "171:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 6795, + "id": 6815, + "nodeType": "Return", + "src": "164:8:23" + } + ] + }, + "documentation": null, + "id": 6817, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "safeMul", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6792, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6789, + "name": "a", + "nodeType": "VariableDeclaration", + "scope": 6817, + "src": "64:6:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6788, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "64:4:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6791, + "name": "b", + "nodeType": "VariableDeclaration", + "scope": 6817, + "src": "72:6:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6790, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "72:4:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "63:16:23" + }, + "payable": false, + "returnParameters": { + "id": 6795, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6794, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 6817, + "src": "98:4:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6793, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "98:4:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "97:6:23" + }, + "scope": 6981, + "src": "47:130:23", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 6852, + "nodeType": "Block", + "src": "238:90:23", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6829, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 6827, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6821, + "src": "251:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 6828, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "255:1:23", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "251:5:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 6826, + "name": "assert", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6980, + "src": "244:6:23", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bool_$returns$__$", + "typeString": "function (bool)" + } + }, + "id": 6830, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "244:13:23", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6831, + "nodeType": "ExpressionStatement", + "src": "244:13:23" + }, + { + "assignments": [ + 6833 + ], + "declarations": [ + { + "constant": false, + "id": 6833, + "name": "c", + "nodeType": "VariableDeclaration", + "scope": 6853, + "src": "263:6:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6832, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "263:4:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 6837, + "initialValue": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6836, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 6834, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6819, + "src": "272:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "/", + "rightExpression": { + "argumentTypes": null, + "id": 6835, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6821, + "src": "276:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "272:5:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "263:14:23" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6847, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 6839, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6819, + "src": "290:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6846, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6842, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 6840, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6821, + "src": "295:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "id": 6841, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6833, + "src": "299:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "295:5:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6845, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 6843, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6819, + "src": "303:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "%", + "rightExpression": { + "argumentTypes": null, + "id": 6844, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6821, + "src": "307:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "303:5:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "295:13:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "290:18:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 6838, + "name": "assert", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6980, + "src": "283:6:23", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bool_$returns$__$", + "typeString": "function (bool)" + } + }, + "id": 6848, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "283:26:23", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6849, + "nodeType": "ExpressionStatement", + "src": "283:26:23" + }, + { + "expression": { + "argumentTypes": null, + "id": 6850, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6833, + "src": "322:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 6825, + "id": 6851, + "nodeType": "Return", + "src": "315:8:23" + } + ] + }, + "documentation": null, + "id": 6853, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "safeDiv", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6822, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6819, + "name": "a", + "nodeType": "VariableDeclaration", + "scope": 6853, + "src": "198:6:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6818, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "198:4:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6821, + "name": "b", + "nodeType": "VariableDeclaration", + "scope": 6853, + "src": "206:6:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6820, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "206:4:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "197:16:23" + }, + "payable": false, + "returnParameters": { + "id": 6825, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6824, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 6853, + "src": "232:4:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6823, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "232:4:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "231:6:23" + }, + "scope": 6981, + "src": "181:147:23", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 6872, + "nodeType": "Block", + "src": "389:43:23", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6865, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 6863, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6857, + "src": "402:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "argumentTypes": null, + "id": 6864, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6855, + "src": "407:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "402:6:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 6862, + "name": "assert", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6980, + "src": "395:6:23", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bool_$returns$__$", + "typeString": "function (bool)" + } + }, + "id": 6866, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "395:14:23", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6867, + "nodeType": "ExpressionStatement", + "src": "395:14:23" + }, + { + "expression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6870, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 6868, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6855, + "src": "422:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "argumentTypes": null, + "id": 6869, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6857, + "src": "426:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "422:5:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 6861, + "id": 6871, + "nodeType": "Return", + "src": "415:12:23" + } + ] + }, + "documentation": null, + "id": 6873, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "safeSub", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6858, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6855, + "name": "a", + "nodeType": "VariableDeclaration", + "scope": 6873, + "src": "349:6:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6854, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "349:4:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6857, + "name": "b", + "nodeType": "VariableDeclaration", + "scope": 6873, + "src": "357:6:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6856, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "357:4:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "348:16:23" + }, + "payable": false, + "returnParameters": { + "id": 6861, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6860, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 6873, + "src": "383:4:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6859, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "383:4:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "382:6:23" + }, + "scope": 6981, + "src": "332:100:23", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 6900, + "nodeType": "Block", + "src": "493:65:23", + "statements": [ + { + "assignments": [ + 6883 + ], + "declarations": [ + { + "constant": false, + "id": 6883, + "name": "c", + "nodeType": "VariableDeclaration", + "scope": 6901, + "src": "499:6:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6882, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "499:4:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 6887, + "initialValue": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6886, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 6884, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6875, + "src": "508:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "id": 6885, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6877, + "src": "512:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "508:5:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "499:14:23" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 6895, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6891, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 6889, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6883, + "src": "526:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "id": 6890, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6875, + "src": "529:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "526:4:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6894, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 6892, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6883, + "src": "534:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "id": 6893, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6877, + "src": "537:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "534:4:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "526:12:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 6888, + "name": "assert", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6980, + "src": "519:6:23", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bool_$returns$__$", + "typeString": "function (bool)" + } + }, + "id": 6896, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "519:20:23", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6897, + "nodeType": "ExpressionStatement", + "src": "519:20:23" + }, + { + "expression": { + "argumentTypes": null, + "id": 6898, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6883, + "src": "552:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 6881, + "id": 6899, + "nodeType": "Return", + "src": "545:8:23" + } + ] + }, + "documentation": null, + "id": 6901, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "safeAdd", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6878, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6875, + "name": "a", + "nodeType": "VariableDeclaration", + "scope": 6901, + "src": "453:6:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6874, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "453:4:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6877, + "name": "b", + "nodeType": "VariableDeclaration", + "scope": 6901, + "src": "461:6:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6876, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "461:4:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "452:16:23" + }, + "payable": false, + "returnParameters": { + "id": 6881, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6880, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 6901, + "src": "487:4:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6879, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "487:4:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "486:6:23" + }, + "scope": 6981, + "src": "436:122:23", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 6917, + "nodeType": "Block", + "src": "632:32:23", + "statements": [ + { + "expression": { + "argumentTypes": null, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "id": 6912, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 6910, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6903, + "src": "645:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "id": 6911, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6905, + "src": "650:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "src": "645:6:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "argumentTypes": null, + "id": 6914, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6905, + "src": "658:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "id": 6915, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "645:14:23", + "trueExpression": { + "argumentTypes": null, + "id": 6913, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6903, + "src": "654:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "functionReturnParameters": 6909, + "id": 6916, + "nodeType": "Return", + "src": "638:21:23" + } + ] + }, + "documentation": null, + "id": 6918, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "max64", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6906, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6903, + "name": "a", + "nodeType": "VariableDeclaration", + "scope": 6918, + "src": "577:8:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 6902, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "577:6:23", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6905, + "name": "b", + "nodeType": "VariableDeclaration", + "scope": 6918, + "src": "587:8:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 6904, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "587:6:23", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "576:20:23" + }, + "payable": false, + "returnParameters": { + "id": 6909, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6908, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 6918, + "src": "624:6:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 6907, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "624:6:23", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "623:8:23" + }, + "scope": 6981, + "src": "562:102:23", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 6934, + "nodeType": "Block", + "src": "738:31:23", + "statements": [ + { + "expression": { + "argumentTypes": null, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "id": 6929, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 6927, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6920, + "src": "751:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "id": 6928, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6922, + "src": "755:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "src": "751:5:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "argumentTypes": null, + "id": 6931, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6922, + "src": "763:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "id": 6932, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "751:13:23", + "trueExpression": { + "argumentTypes": null, + "id": 6930, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6920, + "src": "759:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "functionReturnParameters": 6926, + "id": 6933, + "nodeType": "Return", + "src": "744:20:23" + } + ] + }, + "documentation": null, + "id": 6935, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "min64", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6923, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6920, + "name": "a", + "nodeType": "VariableDeclaration", + "scope": 6935, + "src": "683:8:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 6919, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "683:6:23", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6922, + "name": "b", + "nodeType": "VariableDeclaration", + "scope": 6935, + "src": "693:8:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 6921, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "693:6:23", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "682:20:23" + }, + "payable": false, + "returnParameters": { + "id": 6926, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6925, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 6935, + "src": "730:6:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 6924, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "730:6:23", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "729:8:23" + }, + "scope": 6981, + "src": "668:101:23", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 6951, + "nodeType": "Block", + "src": "847:32:23", + "statements": [ + { + "expression": { + "argumentTypes": null, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6946, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 6944, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6937, + "src": "860:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "id": 6945, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6939, + "src": "865:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "860:6:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "argumentTypes": null, + "id": 6948, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6939, + "src": "873:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6949, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "860:14:23", + "trueExpression": { + "argumentTypes": null, + "id": 6947, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6937, + "src": "869:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 6943, + "id": 6950, + "nodeType": "Return", + "src": "853:21:23" + } + ] + }, + "documentation": null, + "id": 6952, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "max256", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6940, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6937, + "name": "a", + "nodeType": "VariableDeclaration", + "scope": 6952, + "src": "789:9:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6936, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "789:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6939, + "name": "b", + "nodeType": "VariableDeclaration", + "scope": 6952, + "src": "800:9:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6938, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "800:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "788:22:23" + }, + "payable": false, + "returnParameters": { + "id": 6943, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6942, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 6952, + "src": "838:7:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6941, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "838:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "837:9:23" + }, + "scope": 6981, + "src": "773:106:23", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 6968, + "nodeType": "Block", + "src": "957:31:23", + "statements": [ + { + "expression": { + "argumentTypes": null, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6963, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 6961, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6954, + "src": "970:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "id": 6962, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6956, + "src": "974:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "970:5:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "argumentTypes": null, + "id": 6965, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6956, + "src": "982:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6966, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "970:13:23", + "trueExpression": { + "argumentTypes": null, + "id": 6964, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6954, + "src": "978:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 6960, + "id": 6967, + "nodeType": "Return", + "src": "963:20:23" + } + ] + }, + "documentation": null, + "id": 6969, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "min256", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6957, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6954, + "name": "a", + "nodeType": "VariableDeclaration", + "scope": 6969, + "src": "899:9:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6953, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "899:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6956, + "name": "b", + "nodeType": "VariableDeclaration", + "scope": 6969, + "src": "910:9:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6955, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "910:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "898:22:23" + }, + "payable": false, + "returnParameters": { + "id": 6960, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6959, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 6969, + "src": "948:7:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6958, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "948:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "947:9:23" + }, + "scope": 6981, + "src": "883:105:23", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 6979, + "nodeType": "Block", + "src": "1033:46:23", + "statements": [ + { + "condition": { + "argumentTypes": null, + "id": 6975, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "1043:10:23", + "subExpression": { + "argumentTypes": null, + "id": 6974, + "name": "assertion", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6971, + "src": "1044:9:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 6978, + "nodeType": "IfStatement", + "src": "1039:36:23", + "trueBody": { + "id": 6977, + "nodeType": "Block", + "src": "1055:20:23", + "statements": [ + { + "id": 6976, + "nodeType": "Throw", + "src": "1063:5:23" + } + ] + } + } + ] + }, + "documentation": null, + "id": 6980, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "assert", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6972, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6971, + "name": "assertion", + "nodeType": "VariableDeclaration", + "scope": 6980, + "src": "1008:14:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6970, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1008:4:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1007:16:23" + }, + "payable": false, + "returnParameters": { + "id": 6973, + "nodeType": "ParameterList", + "parameters": [], + "src": "1033:0:23" + }, + "scope": 6981, + "src": "992:87:23", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + } + ], + "scope": 6982, + "src": "25:1056:23" + } + ], + "src": "0:1081:23" + }, + "compiler": { + "name": "solc", + "version": "0.4.21+commit.dfe3193c.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "2.0.0", + "updatedAt": "2018-06-12T14:56:21.166Z" +} \ No newline at end of file diff --git a/deployed/contracts/SafeMathOZ.json b/deployed/contracts/SafeMathOZ.json new file mode 100644 index 00000000..c175808f --- /dev/null +++ b/deployed/contracts/SafeMathOZ.json @@ -0,0 +1,5037 @@ +{ + "contractName": "SafeMathOZ", + "abi": [], + "bytecode": "0x604c602c600b82828239805160001a60731460008114601c57601e565bfe5b5030600052607381538281f30073000000000000000000000000000000000000000030146060604052600080fd00a165627a7a723058206184b83bd2fa86f7f5f9d15b7d828baae2a6891fdc9e52765bbcc2e015e1aec40029", + "deployedBytecode": "0x73000000000000000000000000000000000000000030146060604052600080fd00a165627a7a723058206184b83bd2fa86f7f5f9d15b7d828baae2a6891fdc9e52765bbcc2e015e1aec40029", + "sourceMap": "383:2762:15:-;;132:2:-1;166:7;155:9;146:7;137:37;252:7;246:14;243:1;238:23;232:4;229:33;270:1;265:20;;;;222:63;;265:20;274:9;222:63;;298:9;295:1;288:20;328:4;319:7;311:22;352:7;343;336:24", + "deployedSourceMap": "383:2762:15:-;;;;;;;;", + "source": "pragma solidity ^0.4.21;\n\n\n/**\n * @title SafeMath\n * @dev Math operations with safety checks that throw on error\n * last open zepplin version used for : add sub mul div function : https://github.com/OpenZeppelin/zeppelin-solidity/blob/master/contracts/math/SafeMath.sol\n* commit : https://github.com/OpenZeppelin/zeppelin-solidity/commit/815d9e1f457f57cfbb1b4e889f2255c9a517f661\n */\nlibrary SafeMathOZ\n{\n\tfunction add(uint256 a, uint256 b) internal pure returns (uint256)\n\t{\n\t\tuint256 c = a + b;\n\t\tassert(c >= a);\n\t\treturn c;\n\t}\n\n\tfunction sub(uint256 a, uint256 b) internal pure returns (uint256)\n\t{\n\t\tassert(b <= a);\n\t\treturn a - b;\n\t}\n\n\tfunction mul(uint256 a, uint256 b) internal pure returns (uint256)\n\t{\n\t\tif (a == 0)\n\t\t{\n\t\t\treturn 0;\n\t\t}\n\t\tuint256 c = a * b;\n\t\tassert(c / a == b);\n\t\treturn c;\n\t}\n\n\tfunction div(uint256 a, uint256 b) internal pure returns (uint256)\n\t{\n\t\t// assert(b > 0); // Solidity automatically throws when dividing by 0\n\t\tuint256 c = a / b;\n\t\t// assert(a == b * c + a % b); // There is no case in which this doesn't hold\n\t\treturn c;\n\t}\n\n\tfunction max(uint256 a, uint256 b) internal pure returns (uint256)\n\t{\n\t\treturn a >= b ? a : b;\n\t}\n\n\tfunction min(uint256 a, uint256 b) internal pure returns (uint256)\n\t{\n\t\treturn a < b ? a : b;\n\t}\n\n\tfunction mulByFraction(uint256 a, uint256 b, uint256 c) internal pure returns (uint256)\n\t{\n\t\treturn div(mul(a, b), c);\n\t}\n\n\tfunction percentage(uint256 a, uint256 b) internal pure returns (uint256)\n\t{\n\t\treturn mulByFraction(a, b, 100);\n\t}\n\t// Source : https://ethereum.stackexchange.com/questions/8086/logarithm-math-operation-in-solidity\n\tfunction log(uint x) internal pure returns (uint y)\n\t{\n\t\tassembly\n\t\t{\n\t\t\tlet arg := x\n\t\t\tx := sub(x,1)\n\t\t\tx := or(x, div(x, 0x02))\n\t\t\tx := or(x, div(x, 0x04))\n\t\t\tx := or(x, div(x, 0x10))\n\t\t\tx := or(x, div(x, 0x100))\n\t\t\tx := or(x, div(x, 0x10000))\n\t\t\tx := or(x, div(x, 0x100000000))\n\t\t\tx := or(x, div(x, 0x10000000000000000))\n\t\t\tx := or(x, div(x, 0x100000000000000000000000000000000))\n\t\t\tx := add(x, 1)\n\t\t\tlet m := mload(0x40)\n\t\t\tmstore(m, 0xf8f9cbfae6cc78fbefe7cdc3a1793dfcf4f0e8bbd8cec470b6a28a7a5a3e1efd)\n\t\t\tmstore(add(m,0x20), 0xf5ecf1b3e9debc68e1d9cfabc5997135bfb7a7a3938b7b606b5b4b3f2f1f0ffe)\n\t\t\tmstore(add(m,0x40), 0xf6e4ed9ff2d6b458eadcdf97bd91692de2d4da8fd2d0ac50c6ae9a8272523616)\n\t\t\tmstore(add(m,0x60), 0xc8c0b887b0a8a4489c948c7f847c6125746c645c544c444038302820181008ff)\n\t\t\tmstore(add(m,0x80), 0xf7cae577eec2a03cf3bad76fb589591debb2dd67e0aa9834bea6925f6a4a2e0e)\n\t\t\tmstore(add(m,0xa0), 0xe39ed557db96902cd38ed14fad815115c786af479b7e83247363534337271707)\n\t\t\tmstore(add(m,0xc0), 0xc976c13bb96e881cb166a933a55e490d9d56952b8d4e801485467d2362422606)\n\t\t\tmstore(add(m,0xe0), 0x753a6d1b65325d0c552a4d1345224105391a310b29122104190a110309020100)\n\t\t\tmstore(0x40, add(m, 0x100))\n\t\t\tlet magic := 0x818283848586878898a8b8c8d8e8f929395969799a9b9d9e9faaeb6bedeeff\n\t\t\tlet shift := 0x100000000000000000000000000000000000000000000000000000000000000\n\t\t\tlet a := div(mul(x, magic), shift)\n\t\t\ty := div(mload(add(m,sub(255,a))), shift)\n\t\t\ty := add(y, mul(256, gt(arg, 0x8000000000000000000000000000000000000000000000000000000000000000)))\n\t\t}\n\t}\n}\n", + "sourcePath": "/Users/fbranci/iexecdev/PoCo/contracts/SafeMathOZ.sol", + "ast": { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/SafeMathOZ.sol", + "exportedSymbols": { + "SafeMathOZ": [ + 3924 + ] + }, + "id": 3925, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 3749, + "literals": [ + "solidity", + "^", + "0.4", + ".21" + ], + "nodeType": "PragmaDirective", + "src": "0:24:15" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "library", + "documentation": "@title SafeMath\n@dev Math operations with safety checks that throw on error\nlast open zepplin version used for : add sub mul div function : https://github.com/OpenZeppelin/zeppelin-solidity/blob/master/contracts/math/SafeMath.sol\ncommit : https://github.com/OpenZeppelin/zeppelin-solidity/commit/815d9e1f457f57cfbb1b4e889f2255c9a517f661", + "fullyImplemented": true, + "id": 3924, + "linearizedBaseContracts": [ + 3924 + ], + "name": "SafeMathOZ", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 3772, + "nodeType": "Block", + "src": "473:55:15", + "statements": [ + { + "assignments": [ + 3759 + ], + "declarations": [ + { + "constant": false, + "id": 3759, + "name": "c", + "nodeType": "VariableDeclaration", + "scope": 3773, + "src": "477:9:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3758, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "477:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 3763, + "initialValue": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3762, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3760, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3751, + "src": "489:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "id": 3761, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3753, + "src": "493:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "489:5:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "477:17:15" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3767, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3765, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3759, + "src": "505:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "id": 3766, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3751, + "src": "510:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "505:6:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3764, + "name": "assert", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6998, + "src": "498:6:15", + "typeDescriptions": { + "typeIdentifier": "t_function_assert_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3768, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "498:14:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3769, + "nodeType": "ExpressionStatement", + "src": "498:14:15" + }, + { + "expression": { + "argumentTypes": null, + "id": 3770, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3759, + "src": "523:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 3757, + "id": 3771, + "nodeType": "Return", + "src": "516:8:15" + } + ] + }, + "documentation": null, + "id": 3773, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "add", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3754, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3751, + "name": "a", + "nodeType": "VariableDeclaration", + "scope": 3773, + "src": "418:9:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3750, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "418:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3753, + "name": "b", + "nodeType": "VariableDeclaration", + "scope": 3773, + "src": "429:9:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3752, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "429:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "417:22:15" + }, + "payable": false, + "returnParameters": { + "id": 3757, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3756, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 3773, + "src": "463:7:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3755, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "463:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "462:9:15" + }, + "scope": 3924, + "src": "405:123:15", + "stateMutability": "pure", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 3792, + "nodeType": "Block", + "src": "599:38:15", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3785, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3783, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3777, + "src": "610:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "argumentTypes": null, + "id": 3784, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3775, + "src": "615:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "610:6:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3782, + "name": "assert", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6998, + "src": "603:6:15", + "typeDescriptions": { + "typeIdentifier": "t_function_assert_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3786, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "603:14:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3787, + "nodeType": "ExpressionStatement", + "src": "603:14:15" + }, + { + "expression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3790, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3788, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3775, + "src": "628:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "argumentTypes": null, + "id": 3789, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3777, + "src": "632:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "628:5:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 3781, + "id": 3791, + "nodeType": "Return", + "src": "621:12:15" + } + ] + }, + "documentation": null, + "id": 3793, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "sub", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3778, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3775, + "name": "a", + "nodeType": "VariableDeclaration", + "scope": 3793, + "src": "544:9:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3774, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "544:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3777, + "name": "b", + "nodeType": "VariableDeclaration", + "scope": 3793, + "src": "555:9:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3776, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "555:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "543:22:15" + }, + "payable": false, + "returnParameters": { + "id": 3781, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3780, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 3793, + "src": "589:7:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3779, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "589:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "588:9:15" + }, + "scope": 3924, + "src": "531:106:15", + "stateMutability": "pure", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 3825, + "nodeType": "Block", + "src": "708:94:15", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3804, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3802, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3795, + "src": "716:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 3803, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "721:1:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "716:6:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 3808, + "nodeType": "IfStatement", + "src": "712:32:15", + "trueBody": { + "id": 3807, + "nodeType": "Block", + "src": "726:18:15", + "statements": [ + { + "expression": { + "argumentTypes": null, + "hexValue": "30", + "id": 3805, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "738:1:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "functionReturnParameters": 3801, + "id": 3806, + "nodeType": "Return", + "src": "731:8:15" + } + ] + } + }, + { + "assignments": [ + 3810 + ], + "declarations": [ + { + "constant": false, + "id": 3810, + "name": "c", + "nodeType": "VariableDeclaration", + "scope": 3826, + "src": "747:9:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3809, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "747:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 3814, + "initialValue": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3813, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3811, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3795, + "src": "759:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "id": 3812, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3797, + "src": "763:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "759:5:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "747:17:15" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3820, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3818, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3816, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3810, + "src": "775:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "/", + "rightExpression": { + "argumentTypes": null, + "id": 3817, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3795, + "src": "779:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "775:5:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 3819, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3797, + "src": "784:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "775:10:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3815, + "name": "assert", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6998, + "src": "768:6:15", + "typeDescriptions": { + "typeIdentifier": "t_function_assert_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3821, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "768:18:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3822, + "nodeType": "ExpressionStatement", + "src": "768:18:15" + }, + { + "expression": { + "argumentTypes": null, + "id": 3823, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3810, + "src": "797:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 3801, + "id": 3824, + "nodeType": "Return", + "src": "790:8:15" + } + ] + }, + "documentation": null, + "id": 3826, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "mul", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3798, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3795, + "name": "a", + "nodeType": "VariableDeclaration", + "scope": 3826, + "src": "653:9:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3794, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "653:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3797, + "name": "b", + "nodeType": "VariableDeclaration", + "scope": 3826, + "src": "664:9:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3796, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "664:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "652:22:15" + }, + "payable": false, + "returnParameters": { + "id": 3801, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3800, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 3826, + "src": "698:7:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3799, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "698:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "697:9:15" + }, + "scope": 3924, + "src": "640:162:15", + "stateMutability": "pure", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 3843, + "nodeType": "Block", + "src": "873:189:15", + "statements": [ + { + "assignments": [ + 3836 + ], + "declarations": [ + { + "constant": false, + "id": 3836, + "name": "c", + "nodeType": "VariableDeclaration", + "scope": 3844, + "src": "949:9:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3835, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "949:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 3840, + "initialValue": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3839, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3837, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3828, + "src": "961:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "/", + "rightExpression": { + "argumentTypes": null, + "id": 3838, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3830, + "src": "965:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "961:5:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "949:17:15" + }, + { + "expression": { + "argumentTypes": null, + "id": 3841, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3836, + "src": "1057:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 3834, + "id": 3842, + "nodeType": "Return", + "src": "1050:8:15" + } + ] + }, + "documentation": null, + "id": 3844, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "div", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3831, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3828, + "name": "a", + "nodeType": "VariableDeclaration", + "scope": 3844, + "src": "818:9:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3827, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "818:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3830, + "name": "b", + "nodeType": "VariableDeclaration", + "scope": 3844, + "src": "829:9:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3829, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "829:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "817:22:15" + }, + "payable": false, + "returnParameters": { + "id": 3834, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3833, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 3844, + "src": "863:7:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3832, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "863:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "862:9:15" + }, + "scope": 3924, + "src": "805:257:15", + "stateMutability": "pure", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 3860, + "nodeType": "Block", + "src": "1133:29:15", + "statements": [ + { + "expression": { + "argumentTypes": null, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3855, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3853, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3846, + "src": "1144:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "id": 3854, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3848, + "src": "1149:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1144:6:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "argumentTypes": null, + "id": 3857, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3848, + "src": "1157:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3858, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "1144:14:15", + "trueExpression": { + "argumentTypes": null, + "id": 3856, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3846, + "src": "1153:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 3852, + "id": 3859, + "nodeType": "Return", + "src": "1137:21:15" + } + ] + }, + "documentation": null, + "id": 3861, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "max", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3849, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3846, + "name": "a", + "nodeType": "VariableDeclaration", + "scope": 3861, + "src": "1078:9:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3845, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1078:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3848, + "name": "b", + "nodeType": "VariableDeclaration", + "scope": 3861, + "src": "1089:9:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3847, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1089:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1077:22:15" + }, + "payable": false, + "returnParameters": { + "id": 3852, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3851, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 3861, + "src": "1123:7:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3850, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1123:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1122:9:15" + }, + "scope": 3924, + "src": "1065:97:15", + "stateMutability": "pure", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 3877, + "nodeType": "Block", + "src": "1233:28:15", + "statements": [ + { + "expression": { + "argumentTypes": null, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3872, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3870, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3863, + "src": "1244:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "id": 3871, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3865, + "src": "1248:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1244:5:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "argumentTypes": null, + "id": 3874, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3865, + "src": "1256:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3875, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "1244:13:15", + "trueExpression": { + "argumentTypes": null, + "id": 3873, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3863, + "src": "1252:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 3869, + "id": 3876, + "nodeType": "Return", + "src": "1237:20:15" + } + ] + }, + "documentation": null, + "id": 3878, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "min", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3866, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3863, + "name": "a", + "nodeType": "VariableDeclaration", + "scope": 3878, + "src": "1178:9:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3862, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1178:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3865, + "name": "b", + "nodeType": "VariableDeclaration", + "scope": 3878, + "src": "1189:9:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3864, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1189:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1177:22:15" + }, + "payable": false, + "returnParameters": { + "id": 3869, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3868, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 3878, + "src": "1223:7:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3867, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1223:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1222:9:15" + }, + "scope": 3924, + "src": "1165:96:15", + "stateMutability": "pure", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 3897, + "nodeType": "Block", + "src": "1353:32:15", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3891, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3880, + "src": "1372:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 3892, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3882, + "src": "1375:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3890, + "name": "mul", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3826, + "src": "1368:3:15", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 3893, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1368:9:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 3894, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3884, + "src": "1379:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3889, + "name": "div", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3844, + "src": "1364:3:15", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 3895, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1364:17:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 3888, + "id": 3896, + "nodeType": "Return", + "src": "1357:24:15" + } + ] + }, + "documentation": null, + "id": 3898, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "mulByFraction", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3885, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3880, + "name": "a", + "nodeType": "VariableDeclaration", + "scope": 3898, + "src": "1287:9:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3879, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1287:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3882, + "name": "b", + "nodeType": "VariableDeclaration", + "scope": 3898, + "src": "1298:9:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3881, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1298:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3884, + "name": "c", + "nodeType": "VariableDeclaration", + "scope": 3898, + "src": "1309:9:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3883, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1309:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1286:33:15" + }, + "payable": false, + "returnParameters": { + "id": 3888, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3887, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 3898, + "src": "1343:7:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3886, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1343:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1342:9:15" + }, + "scope": 3924, + "src": "1264:121:15", + "stateMutability": "pure", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 3913, + "nodeType": "Block", + "src": "1463:39:15", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3908, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3900, + "src": "1488:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 3909, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3902, + "src": "1491:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "313030", + "id": 3910, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1494:3:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_100_by_1", + "typeString": "int_const 100" + }, + "value": "100" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_rational_100_by_1", + "typeString": "int_const 100" + } + ], + "id": 3907, + "name": "mulByFraction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3898, + "src": "1474:13:15", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" + } + }, + "id": 3911, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1474:24:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 3906, + "id": 3912, + "nodeType": "Return", + "src": "1467:31:15" + } + ] + }, + "documentation": null, + "id": 3914, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "percentage", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3903, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3900, + "name": "a", + "nodeType": "VariableDeclaration", + "scope": 3914, + "src": "1408:9:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3899, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1408:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3902, + "name": "b", + "nodeType": "VariableDeclaration", + "scope": 3914, + "src": "1419:9:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3901, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1419:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1407:22:15" + }, + "payable": false, + "returnParameters": { + "id": 3906, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3905, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 3914, + "src": "1453:7:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3904, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1453:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1452:9:15" + }, + "scope": 3924, + "src": "1388:114:15", + "stateMutability": "pure", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 3922, + "nodeType": "Block", + "src": "1657:1486:15", + "statements": [ + { + "externalReferences": [ + { + "x": { + "declaration": 3916, + "isOffset": false, + "isSlot": false, + "src": "1991:1:15", + "valueSize": 1 + } + }, + { + "x": { + "declaration": 3916, + "isOffset": false, + "isSlot": false, + "src": "1932:1:15", + "valueSize": 1 + } + }, + { + "x": { + "declaration": 3916, + "isOffset": false, + "isSlot": false, + "src": "1688:1:15", + "valueSize": 1 + } + }, + { + "x": { + "declaration": 3916, + "isOffset": false, + "isSlot": false, + "src": "1718:1:15", + "valueSize": 1 + } + }, + { + "x": { + "declaration": 3916, + "isOffset": false, + "isSlot": false, + "src": "1693:1:15", + "valueSize": 1 + } + }, + { + "x": { + "declaration": 3916, + "isOffset": false, + "isSlot": false, + "src": "1710:1:15", + "valueSize": 1 + } + }, + { + "x": { + "declaration": 3916, + "isOffset": false, + "isSlot": false, + "src": "1702:1:15", + "valueSize": 1 + } + }, + { + "x": { + "declaration": 3916, + "isOffset": false, + "isSlot": false, + "src": "1738:1:15", + "valueSize": 1 + } + }, + { + "x": { + "declaration": 3916, + "isOffset": false, + "isSlot": false, + "src": "1766:1:15", + "valueSize": 1 + } + }, + { + "x": { + "declaration": 3916, + "isOffset": false, + "isSlot": false, + "src": "1823:1:15", + "valueSize": 1 + } + }, + { + "x": { + "declaration": 3916, + "isOffset": false, + "isSlot": false, + "src": "1862:1:15", + "valueSize": 1 + } + }, + { + "x": { + "declaration": 3916, + "isOffset": false, + "isSlot": false, + "src": "1725:1:15", + "valueSize": 1 + } + }, + { + "x": { + "declaration": 3916, + "isOffset": false, + "isSlot": false, + "src": "1854:1:15", + "valueSize": 1 + } + }, + { + "x": { + "declaration": 3916, + "isOffset": false, + "isSlot": false, + "src": "1889:1:15", + "valueSize": 1 + } + }, + { + "x": { + "declaration": 3916, + "isOffset": false, + "isSlot": false, + "src": "1802:1:15", + "valueSize": 1 + } + }, + { + "x": { + "declaration": 3916, + "isOffset": false, + "isSlot": false, + "src": "1809:1:15", + "valueSize": 1 + } + }, + { + "x": { + "declaration": 3916, + "isOffset": false, + "isSlot": false, + "src": "1794:1:15", + "valueSize": 1 + } + }, + { + "x": { + "declaration": 3916, + "isOffset": false, + "isSlot": false, + "src": "1746:1:15", + "valueSize": 1 + } + }, + { + "x": { + "declaration": 3916, + "isOffset": false, + "isSlot": false, + "src": "1753:1:15", + "valueSize": 1 + } + }, + { + "x": { + "declaration": 3916, + "isOffset": false, + "isSlot": false, + "src": "1774:1:15", + "valueSize": 1 + } + }, + { + "x": { + "declaration": 3916, + "isOffset": false, + "isSlot": false, + "src": "1781:1:15", + "valueSize": 1 + } + }, + { + "x": { + "declaration": 3916, + "isOffset": false, + "isSlot": false, + "src": "2000:1:15", + "valueSize": 1 + } + }, + { + "x": { + "declaration": 3916, + "isOffset": false, + "isSlot": false, + "src": "1940:1:15", + "valueSize": 1 + } + }, + { + "x": { + "declaration": 3916, + "isOffset": false, + "isSlot": false, + "src": "1947:1:15", + "valueSize": 1 + } + }, + { + "x": { + "declaration": 3916, + "isOffset": false, + "isSlot": false, + "src": "1831:1:15", + "valueSize": 1 + } + }, + { + "x": { + "declaration": 3916, + "isOffset": false, + "isSlot": false, + "src": "1838:1:15", + "valueSize": 1 + } + }, + { + "x": { + "declaration": 3916, + "isOffset": false, + "isSlot": false, + "src": "1897:1:15", + "valueSize": 1 + } + }, + { + "x": { + "declaration": 3916, + "isOffset": false, + "isSlot": false, + "src": "1869:1:15", + "valueSize": 1 + } + }, + { + "x": { + "declaration": 3916, + "isOffset": false, + "isSlot": false, + "src": "1904:1:15", + "valueSize": 1 + } + }, + { + "y": { + "declaration": 3919, + "isOffset": false, + "isSlot": false, + "src": "2993:1:15", + "valueSize": 1 + } + }, + { + "y": { + "declaration": 3919, + "isOffset": false, + "isSlot": false, + "src": "3047:1:15", + "valueSize": 1 + } + }, + { + "x": { + "declaration": 3916, + "isOffset": false, + "isSlot": false, + "src": "2972:1:15", + "valueSize": 1 + } + }, + { + "y": { + "declaration": 3919, + "isOffset": false, + "isSlot": false, + "src": "3038:1:15", + "valueSize": 1 + } + } + ], + "id": 3921, + "nodeType": "InlineAssembly", + "operations": "{\n let arg := x\n x := sub(x, 1)\n x := or(x, div(x, 0x02))\n x := or(x, div(x, 0x04))\n x := or(x, div(x, 0x10))\n x := or(x, div(x, 0x100))\n x := or(x, div(x, 0x10000))\n x := or(x, div(x, 0x100000000))\n x := or(x, div(x, 0x10000000000000000))\n x := or(x, div(x, 0x100000000000000000000000000000000))\n x := add(x, 1)\n let m := mload(0x40)\n mstore(m, 0xf8f9cbfae6cc78fbefe7cdc3a1793dfcf4f0e8bbd8cec470b6a28a7a5a3e1efd)\n mstore(add(m, 0x20), 0xf5ecf1b3e9debc68e1d9cfabc5997135bfb7a7a3938b7b606b5b4b3f2f1f0ffe)\n mstore(add(m, 0x40), 0xf6e4ed9ff2d6b458eadcdf97bd91692de2d4da8fd2d0ac50c6ae9a8272523616)\n mstore(add(m, 0x60), 0xc8c0b887b0a8a4489c948c7f847c6125746c645c544c444038302820181008ff)\n mstore(add(m, 0x80), 0xf7cae577eec2a03cf3bad76fb589591debb2dd67e0aa9834bea6925f6a4a2e0e)\n mstore(add(m, 0xa0), 0xe39ed557db96902cd38ed14fad815115c786af479b7e83247363534337271707)\n mstore(add(m, 0xc0), 0xc976c13bb96e881cb166a933a55e490d9d56952b8d4e801485467d2362422606)\n mstore(add(m, 0xe0), 0x753a6d1b65325d0c552a4d1345224105391a310b29122104190a110309020100)\n mstore(0x40, add(m, 0x100))\n let magic := 0x818283848586878898a8b8c8d8e8f929395969799a9b9d9e9faaeb6bedeeff\n let shift := 0x100000000000000000000000000000000000000000000000000000000000000\n let a := div(mul(x, magic), shift)\n y := div(mload(add(m, sub(255, a))), shift)\n y := add(y, mul(256, gt(arg, 0x8000000000000000000000000000000000000000000000000000000000000000)))\n}", + "src": "1661:1482:15" + } + ] + }, + "documentation": null, + "id": 3923, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "log", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3917, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3916, + "name": "x", + "nodeType": "VariableDeclaration", + "scope": 3923, + "src": "1617:6:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3915, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1617:4:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1616:8:15" + }, + "payable": false, + "returnParameters": { + "id": 3920, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3919, + "name": "y", + "nodeType": "VariableDeclaration", + "scope": 3923, + "src": "1648:6:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3918, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1648:4:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1647:8:15" + }, + "scope": 3924, + "src": "1604:1539:15", + "stateMutability": "pure", + "superFunction": null, + "visibility": "internal" + } + ], + "scope": 3925, + "src": "383:2762:15" + } + ], + "src": "0:3146:15" + }, + "legacyAST": { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/SafeMathOZ.sol", + "exportedSymbols": { + "SafeMathOZ": [ + 3924 + ] + }, + "id": 3925, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 3749, + "literals": [ + "solidity", + "^", + "0.4", + ".21" + ], + "nodeType": "PragmaDirective", + "src": "0:24:15" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "library", + "documentation": "@title SafeMath\n@dev Math operations with safety checks that throw on error\nlast open zepplin version used for : add sub mul div function : https://github.com/OpenZeppelin/zeppelin-solidity/blob/master/contracts/math/SafeMath.sol\ncommit : https://github.com/OpenZeppelin/zeppelin-solidity/commit/815d9e1f457f57cfbb1b4e889f2255c9a517f661", + "fullyImplemented": true, + "id": 3924, + "linearizedBaseContracts": [ + 3924 + ], + "name": "SafeMathOZ", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 3772, + "nodeType": "Block", + "src": "473:55:15", + "statements": [ + { + "assignments": [ + 3759 + ], + "declarations": [ + { + "constant": false, + "id": 3759, + "name": "c", + "nodeType": "VariableDeclaration", + "scope": 3773, + "src": "477:9:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3758, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "477:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 3763, + "initialValue": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3762, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3760, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3751, + "src": "489:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "id": 3761, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3753, + "src": "493:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "489:5:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "477:17:15" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3767, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3765, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3759, + "src": "505:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "id": 3766, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3751, + "src": "510:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "505:6:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3764, + "name": "assert", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6998, + "src": "498:6:15", + "typeDescriptions": { + "typeIdentifier": "t_function_assert_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3768, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "498:14:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3769, + "nodeType": "ExpressionStatement", + "src": "498:14:15" + }, + { + "expression": { + "argumentTypes": null, + "id": 3770, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3759, + "src": "523:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 3757, + "id": 3771, + "nodeType": "Return", + "src": "516:8:15" + } + ] + }, + "documentation": null, + "id": 3773, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "add", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3754, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3751, + "name": "a", + "nodeType": "VariableDeclaration", + "scope": 3773, + "src": "418:9:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3750, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "418:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3753, + "name": "b", + "nodeType": "VariableDeclaration", + "scope": 3773, + "src": "429:9:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3752, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "429:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "417:22:15" + }, + "payable": false, + "returnParameters": { + "id": 3757, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3756, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 3773, + "src": "463:7:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3755, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "463:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "462:9:15" + }, + "scope": 3924, + "src": "405:123:15", + "stateMutability": "pure", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 3792, + "nodeType": "Block", + "src": "599:38:15", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3785, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3783, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3777, + "src": "610:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "argumentTypes": null, + "id": 3784, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3775, + "src": "615:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "610:6:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3782, + "name": "assert", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6998, + "src": "603:6:15", + "typeDescriptions": { + "typeIdentifier": "t_function_assert_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3786, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "603:14:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3787, + "nodeType": "ExpressionStatement", + "src": "603:14:15" + }, + { + "expression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3790, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3788, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3775, + "src": "628:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "argumentTypes": null, + "id": 3789, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3777, + "src": "632:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "628:5:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 3781, + "id": 3791, + "nodeType": "Return", + "src": "621:12:15" + } + ] + }, + "documentation": null, + "id": 3793, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "sub", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3778, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3775, + "name": "a", + "nodeType": "VariableDeclaration", + "scope": 3793, + "src": "544:9:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3774, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "544:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3777, + "name": "b", + "nodeType": "VariableDeclaration", + "scope": 3793, + "src": "555:9:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3776, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "555:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "543:22:15" + }, + "payable": false, + "returnParameters": { + "id": 3781, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3780, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 3793, + "src": "589:7:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3779, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "589:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "588:9:15" + }, + "scope": 3924, + "src": "531:106:15", + "stateMutability": "pure", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 3825, + "nodeType": "Block", + "src": "708:94:15", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3804, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3802, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3795, + "src": "716:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 3803, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "721:1:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "716:6:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 3808, + "nodeType": "IfStatement", + "src": "712:32:15", + "trueBody": { + "id": 3807, + "nodeType": "Block", + "src": "726:18:15", + "statements": [ + { + "expression": { + "argumentTypes": null, + "hexValue": "30", + "id": 3805, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "738:1:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "functionReturnParameters": 3801, + "id": 3806, + "nodeType": "Return", + "src": "731:8:15" + } + ] + } + }, + { + "assignments": [ + 3810 + ], + "declarations": [ + { + "constant": false, + "id": 3810, + "name": "c", + "nodeType": "VariableDeclaration", + "scope": 3826, + "src": "747:9:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3809, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "747:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 3814, + "initialValue": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3813, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3811, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3795, + "src": "759:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "id": 3812, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3797, + "src": "763:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "759:5:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "747:17:15" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3820, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3818, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3816, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3810, + "src": "775:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "/", + "rightExpression": { + "argumentTypes": null, + "id": 3817, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3795, + "src": "779:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "775:5:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 3819, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3797, + "src": "784:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "775:10:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3815, + "name": "assert", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6998, + "src": "768:6:15", + "typeDescriptions": { + "typeIdentifier": "t_function_assert_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3821, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "768:18:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3822, + "nodeType": "ExpressionStatement", + "src": "768:18:15" + }, + { + "expression": { + "argumentTypes": null, + "id": 3823, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3810, + "src": "797:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 3801, + "id": 3824, + "nodeType": "Return", + "src": "790:8:15" + } + ] + }, + "documentation": null, + "id": 3826, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "mul", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3798, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3795, + "name": "a", + "nodeType": "VariableDeclaration", + "scope": 3826, + "src": "653:9:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3794, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "653:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3797, + "name": "b", + "nodeType": "VariableDeclaration", + "scope": 3826, + "src": "664:9:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3796, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "664:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "652:22:15" + }, + "payable": false, + "returnParameters": { + "id": 3801, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3800, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 3826, + "src": "698:7:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3799, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "698:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "697:9:15" + }, + "scope": 3924, + "src": "640:162:15", + "stateMutability": "pure", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 3843, + "nodeType": "Block", + "src": "873:189:15", + "statements": [ + { + "assignments": [ + 3836 + ], + "declarations": [ + { + "constant": false, + "id": 3836, + "name": "c", + "nodeType": "VariableDeclaration", + "scope": 3844, + "src": "949:9:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3835, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "949:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 3840, + "initialValue": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3839, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3837, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3828, + "src": "961:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "/", + "rightExpression": { + "argumentTypes": null, + "id": 3838, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3830, + "src": "965:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "961:5:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "949:17:15" + }, + { + "expression": { + "argumentTypes": null, + "id": 3841, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3836, + "src": "1057:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 3834, + "id": 3842, + "nodeType": "Return", + "src": "1050:8:15" + } + ] + }, + "documentation": null, + "id": 3844, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "div", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3831, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3828, + "name": "a", + "nodeType": "VariableDeclaration", + "scope": 3844, + "src": "818:9:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3827, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "818:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3830, + "name": "b", + "nodeType": "VariableDeclaration", + "scope": 3844, + "src": "829:9:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3829, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "829:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "817:22:15" + }, + "payable": false, + "returnParameters": { + "id": 3834, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3833, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 3844, + "src": "863:7:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3832, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "863:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "862:9:15" + }, + "scope": 3924, + "src": "805:257:15", + "stateMutability": "pure", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 3860, + "nodeType": "Block", + "src": "1133:29:15", + "statements": [ + { + "expression": { + "argumentTypes": null, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3855, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3853, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3846, + "src": "1144:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "id": 3854, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3848, + "src": "1149:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1144:6:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "argumentTypes": null, + "id": 3857, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3848, + "src": "1157:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3858, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "1144:14:15", + "trueExpression": { + "argumentTypes": null, + "id": 3856, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3846, + "src": "1153:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 3852, + "id": 3859, + "nodeType": "Return", + "src": "1137:21:15" + } + ] + }, + "documentation": null, + "id": 3861, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "max", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3849, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3846, + "name": "a", + "nodeType": "VariableDeclaration", + "scope": 3861, + "src": "1078:9:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3845, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1078:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3848, + "name": "b", + "nodeType": "VariableDeclaration", + "scope": 3861, + "src": "1089:9:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3847, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1089:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1077:22:15" + }, + "payable": false, + "returnParameters": { + "id": 3852, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3851, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 3861, + "src": "1123:7:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3850, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1123:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1122:9:15" + }, + "scope": 3924, + "src": "1065:97:15", + "stateMutability": "pure", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 3877, + "nodeType": "Block", + "src": "1233:28:15", + "statements": [ + { + "expression": { + "argumentTypes": null, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3872, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3870, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3863, + "src": "1244:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "id": 3871, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3865, + "src": "1248:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1244:5:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "argumentTypes": null, + "id": 3874, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3865, + "src": "1256:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3875, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "1244:13:15", + "trueExpression": { + "argumentTypes": null, + "id": 3873, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3863, + "src": "1252:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 3869, + "id": 3876, + "nodeType": "Return", + "src": "1237:20:15" + } + ] + }, + "documentation": null, + "id": 3878, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "min", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3866, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3863, + "name": "a", + "nodeType": "VariableDeclaration", + "scope": 3878, + "src": "1178:9:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3862, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1178:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3865, + "name": "b", + "nodeType": "VariableDeclaration", + "scope": 3878, + "src": "1189:9:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3864, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1189:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1177:22:15" + }, + "payable": false, + "returnParameters": { + "id": 3869, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3868, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 3878, + "src": "1223:7:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3867, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1223:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1222:9:15" + }, + "scope": 3924, + "src": "1165:96:15", + "stateMutability": "pure", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 3897, + "nodeType": "Block", + "src": "1353:32:15", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3891, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3880, + "src": "1372:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 3892, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3882, + "src": "1375:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3890, + "name": "mul", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3826, + "src": "1368:3:15", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 3893, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1368:9:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 3894, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3884, + "src": "1379:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3889, + "name": "div", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3844, + "src": "1364:3:15", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 3895, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1364:17:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 3888, + "id": 3896, + "nodeType": "Return", + "src": "1357:24:15" + } + ] + }, + "documentation": null, + "id": 3898, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "mulByFraction", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3885, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3880, + "name": "a", + "nodeType": "VariableDeclaration", + "scope": 3898, + "src": "1287:9:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3879, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1287:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3882, + "name": "b", + "nodeType": "VariableDeclaration", + "scope": 3898, + "src": "1298:9:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3881, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1298:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3884, + "name": "c", + "nodeType": "VariableDeclaration", + "scope": 3898, + "src": "1309:9:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3883, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1309:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1286:33:15" + }, + "payable": false, + "returnParameters": { + "id": 3888, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3887, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 3898, + "src": "1343:7:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3886, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1343:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1342:9:15" + }, + "scope": 3924, + "src": "1264:121:15", + "stateMutability": "pure", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 3913, + "nodeType": "Block", + "src": "1463:39:15", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3908, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3900, + "src": "1488:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 3909, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3902, + "src": "1491:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "313030", + "id": 3910, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1494:3:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_100_by_1", + "typeString": "int_const 100" + }, + "value": "100" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_rational_100_by_1", + "typeString": "int_const 100" + } + ], + "id": 3907, + "name": "mulByFraction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3898, + "src": "1474:13:15", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" + } + }, + "id": 3911, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1474:24:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 3906, + "id": 3912, + "nodeType": "Return", + "src": "1467:31:15" + } + ] + }, + "documentation": null, + "id": 3914, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "percentage", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3903, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3900, + "name": "a", + "nodeType": "VariableDeclaration", + "scope": 3914, + "src": "1408:9:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3899, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1408:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3902, + "name": "b", + "nodeType": "VariableDeclaration", + "scope": 3914, + "src": "1419:9:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3901, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1419:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1407:22:15" + }, + "payable": false, + "returnParameters": { + "id": 3906, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3905, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 3914, + "src": "1453:7:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3904, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1453:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1452:9:15" + }, + "scope": 3924, + "src": "1388:114:15", + "stateMutability": "pure", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 3922, + "nodeType": "Block", + "src": "1657:1486:15", + "statements": [ + { + "externalReferences": [ + { + "x": { + "declaration": 3916, + "isOffset": false, + "isSlot": false, + "src": "1991:1:15", + "valueSize": 1 + } + }, + { + "x": { + "declaration": 3916, + "isOffset": false, + "isSlot": false, + "src": "1932:1:15", + "valueSize": 1 + } + }, + { + "x": { + "declaration": 3916, + "isOffset": false, + "isSlot": false, + "src": "1688:1:15", + "valueSize": 1 + } + }, + { + "x": { + "declaration": 3916, + "isOffset": false, + "isSlot": false, + "src": "1718:1:15", + "valueSize": 1 + } + }, + { + "x": { + "declaration": 3916, + "isOffset": false, + "isSlot": false, + "src": "1693:1:15", + "valueSize": 1 + } + }, + { + "x": { + "declaration": 3916, + "isOffset": false, + "isSlot": false, + "src": "1710:1:15", + "valueSize": 1 + } + }, + { + "x": { + "declaration": 3916, + "isOffset": false, + "isSlot": false, + "src": "1702:1:15", + "valueSize": 1 + } + }, + { + "x": { + "declaration": 3916, + "isOffset": false, + "isSlot": false, + "src": "1738:1:15", + "valueSize": 1 + } + }, + { + "x": { + "declaration": 3916, + "isOffset": false, + "isSlot": false, + "src": "1766:1:15", + "valueSize": 1 + } + }, + { + "x": { + "declaration": 3916, + "isOffset": false, + "isSlot": false, + "src": "1823:1:15", + "valueSize": 1 + } + }, + { + "x": { + "declaration": 3916, + "isOffset": false, + "isSlot": false, + "src": "1862:1:15", + "valueSize": 1 + } + }, + { + "x": { + "declaration": 3916, + "isOffset": false, + "isSlot": false, + "src": "1725:1:15", + "valueSize": 1 + } + }, + { + "x": { + "declaration": 3916, + "isOffset": false, + "isSlot": false, + "src": "1854:1:15", + "valueSize": 1 + } + }, + { + "x": { + "declaration": 3916, + "isOffset": false, + "isSlot": false, + "src": "1889:1:15", + "valueSize": 1 + } + }, + { + "x": { + "declaration": 3916, + "isOffset": false, + "isSlot": false, + "src": "1802:1:15", + "valueSize": 1 + } + }, + { + "x": { + "declaration": 3916, + "isOffset": false, + "isSlot": false, + "src": "1809:1:15", + "valueSize": 1 + } + }, + { + "x": { + "declaration": 3916, + "isOffset": false, + "isSlot": false, + "src": "1794:1:15", + "valueSize": 1 + } + }, + { + "x": { + "declaration": 3916, + "isOffset": false, + "isSlot": false, + "src": "1746:1:15", + "valueSize": 1 + } + }, + { + "x": { + "declaration": 3916, + "isOffset": false, + "isSlot": false, + "src": "1753:1:15", + "valueSize": 1 + } + }, + { + "x": { + "declaration": 3916, + "isOffset": false, + "isSlot": false, + "src": "1774:1:15", + "valueSize": 1 + } + }, + { + "x": { + "declaration": 3916, + "isOffset": false, + "isSlot": false, + "src": "1781:1:15", + "valueSize": 1 + } + }, + { + "x": { + "declaration": 3916, + "isOffset": false, + "isSlot": false, + "src": "2000:1:15", + "valueSize": 1 + } + }, + { + "x": { + "declaration": 3916, + "isOffset": false, + "isSlot": false, + "src": "1940:1:15", + "valueSize": 1 + } + }, + { + "x": { + "declaration": 3916, + "isOffset": false, + "isSlot": false, + "src": "1947:1:15", + "valueSize": 1 + } + }, + { + "x": { + "declaration": 3916, + "isOffset": false, + "isSlot": false, + "src": "1831:1:15", + "valueSize": 1 + } + }, + { + "x": { + "declaration": 3916, + "isOffset": false, + "isSlot": false, + "src": "1838:1:15", + "valueSize": 1 + } + }, + { + "x": { + "declaration": 3916, + "isOffset": false, + "isSlot": false, + "src": "1897:1:15", + "valueSize": 1 + } + }, + { + "x": { + "declaration": 3916, + "isOffset": false, + "isSlot": false, + "src": "1869:1:15", + "valueSize": 1 + } + }, + { + "x": { + "declaration": 3916, + "isOffset": false, + "isSlot": false, + "src": "1904:1:15", + "valueSize": 1 + } + }, + { + "y": { + "declaration": 3919, + "isOffset": false, + "isSlot": false, + "src": "2993:1:15", + "valueSize": 1 + } + }, + { + "y": { + "declaration": 3919, + "isOffset": false, + "isSlot": false, + "src": "3047:1:15", + "valueSize": 1 + } + }, + { + "x": { + "declaration": 3916, + "isOffset": false, + "isSlot": false, + "src": "2972:1:15", + "valueSize": 1 + } + }, + { + "y": { + "declaration": 3919, + "isOffset": false, + "isSlot": false, + "src": "3038:1:15", + "valueSize": 1 + } + } + ], + "id": 3921, + "nodeType": "InlineAssembly", + "operations": "{\n let arg := x\n x := sub(x, 1)\n x := or(x, div(x, 0x02))\n x := or(x, div(x, 0x04))\n x := or(x, div(x, 0x10))\n x := or(x, div(x, 0x100))\n x := or(x, div(x, 0x10000))\n x := or(x, div(x, 0x100000000))\n x := or(x, div(x, 0x10000000000000000))\n x := or(x, div(x, 0x100000000000000000000000000000000))\n x := add(x, 1)\n let m := mload(0x40)\n mstore(m, 0xf8f9cbfae6cc78fbefe7cdc3a1793dfcf4f0e8bbd8cec470b6a28a7a5a3e1efd)\n mstore(add(m, 0x20), 0xf5ecf1b3e9debc68e1d9cfabc5997135bfb7a7a3938b7b606b5b4b3f2f1f0ffe)\n mstore(add(m, 0x40), 0xf6e4ed9ff2d6b458eadcdf97bd91692de2d4da8fd2d0ac50c6ae9a8272523616)\n mstore(add(m, 0x60), 0xc8c0b887b0a8a4489c948c7f847c6125746c645c544c444038302820181008ff)\n mstore(add(m, 0x80), 0xf7cae577eec2a03cf3bad76fb589591debb2dd67e0aa9834bea6925f6a4a2e0e)\n mstore(add(m, 0xa0), 0xe39ed557db96902cd38ed14fad815115c786af479b7e83247363534337271707)\n mstore(add(m, 0xc0), 0xc976c13bb96e881cb166a933a55e490d9d56952b8d4e801485467d2362422606)\n mstore(add(m, 0xe0), 0x753a6d1b65325d0c552a4d1345224105391a310b29122104190a110309020100)\n mstore(0x40, add(m, 0x100))\n let magic := 0x818283848586878898a8b8c8d8e8f929395969799a9b9d9e9faaeb6bedeeff\n let shift := 0x100000000000000000000000000000000000000000000000000000000000000\n let a := div(mul(x, magic), shift)\n y := div(mload(add(m, sub(255, a))), shift)\n y := add(y, mul(256, gt(arg, 0x8000000000000000000000000000000000000000000000000000000000000000)))\n}", + "src": "1661:1482:15" + } + ] + }, + "documentation": null, + "id": 3923, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "log", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3917, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3916, + "name": "x", + "nodeType": "VariableDeclaration", + "scope": 3923, + "src": "1617:6:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3915, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1617:4:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1616:8:15" + }, + "payable": false, + "returnParameters": { + "id": 3920, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3919, + "name": "y", + "nodeType": "VariableDeclaration", + "scope": 3923, + "src": "1648:6:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3918, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1648:4:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1647:8:15" + }, + "scope": 3924, + "src": "1604:1539:15", + "stateMutability": "pure", + "superFunction": null, + "visibility": "internal" + } + ], + "scope": 3925, + "src": "383:2762:15" + } + ], + "src": "0:3146:15" + }, + "compiler": { + "name": "solc", + "version": "0.4.21+commit.dfe3193c.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "2.0.0", + "updatedAt": "2018-06-12T14:56:21.150Z" +} \ No newline at end of file diff --git a/deployed/contracts/TestSha.json b/deployed/contracts/TestSha.json new file mode 100644 index 00000000..79462be2 --- /dev/null +++ b/deployed/contracts/TestSha.json @@ -0,0 +1,2782 @@ +{ + "contractName": "TestSha", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "result", + "type": "bytes32" + }, + { + "indexed": false, + "name": "input", + "type": "bytes32" + } + ], + "name": "SolidityKeccak256FromBytes", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "result", + "type": "bytes32" + }, + { + "indexed": false, + "name": "input", + "type": "string" + } + ], + "name": "SolidityKeccak256FromString", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "result", + "type": "bytes32" + }, + { + "indexed": false, + "name": "input", + "type": "address" + } + ], + "name": "SolidityKeccak256FromAddress", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "input", + "type": "bytes32" + }, + { + "indexed": false, + "name": "voter", + "type": "address" + }, + { + "indexed": false, + "name": "vote", + "type": "bytes32" + }, + { + "indexed": false, + "name": "sign", + "type": "bytes32" + } + ], + "name": "SignedVote", + "type": "event" + }, + { + "constant": false, + "inputs": [ + { + "name": "_input", + "type": "bytes32" + } + ], + "name": "testSolidityKeccak256FromBytes", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_input", + "type": "string" + } + ], + "name": "testSolidityKeccak256FromString", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_input", + "type": "address" + } + ], + "name": "testSolidityKeccak256FromAddress", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_result", + "type": "bytes32" + } + ], + "name": "testSignedVote", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x6060604052341561000f57600080fd5b6103e38061001e6000396000f3006060604052600436106100615763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663040c9c6581146100665780634c4bc901146100b9578063b4b5cae9146100cf578063d29da48c146100e5575b600080fd5b341561007157600080fd5b6100b760046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284375094965061011195505050505050565b005b34156100c457600080fd5b6100b760043561020f565b34156100da57600080fd5b6100b760043561025d565b34156100f057600080fd5b6100b773ffffffffffffffffffffffffffffffffffffffff6004351661032c565b7f3f5e68e2b6822310a06a920b9b73daa30286bba2c001fa2133308e55a1d2820c816040518082805190602001908083835b602083106101625780518252601f199092019160209182019101610143565b6001836020036101000a038019825116818451161790925250505091909101925060409150505180910390208260405182815260406020820181815290820183818151815260200191508051906020019080838360005b838110156101d15780820151838201526020016101b9565b50505050905090810190601f1680156101fe5780820380516001836020036101000a031916815260200191505b50935050505060405180910390a150565b7f5f9b0066ef1432686f95afb566285f26646659039499219f4e8db0f462e889738160405190815260200160405180910390208260405191825260208201526040908101905180910390a150565b60008082604051908152602001604051809103902091503360405173ffffffffffffffffffffffffffffffffffffffff919091166c0100000000000000000000000002815260140160405180910390208318604051908152602001604051809103902090507f01477555f917271446523927e2e1e6172851347fc25430923a78abc27ef37e978333848460405193845273ffffffffffffffffffffffffffffffffffffffff909216602084015260408084019190915260608301919091526080909101905180910390a1505050565b7fd44e9c0d833bb9a963228a03302f0599e829fc4c38a919695779a05c2f54fd4d8160405173ffffffffffffffffffffffffffffffffffffffff919091166c0100000000000000000000000002815260140160405180910390208260405191825273ffffffffffffffffffffffffffffffffffffffff1660208201526040908101905180910390a1505600a165627a7a723058200ea47c286a485d4a3d20f10ef3bab17afb01dceb7244b36bcf4748906d18a5470029", + "deployedBytecode": "0x6060604052600436106100615763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663040c9c6581146100665780634c4bc901146100b9578063b4b5cae9146100cf578063d29da48c146100e5575b600080fd5b341561007157600080fd5b6100b760046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284375094965061011195505050505050565b005b34156100c457600080fd5b6100b760043561020f565b34156100da57600080fd5b6100b760043561025d565b34156100f057600080fd5b6100b773ffffffffffffffffffffffffffffffffffffffff6004351661032c565b7f3f5e68e2b6822310a06a920b9b73daa30286bba2c001fa2133308e55a1d2820c816040518082805190602001908083835b602083106101625780518252601f199092019160209182019101610143565b6001836020036101000a038019825116818451161790925250505091909101925060409150505180910390208260405182815260406020820181815290820183818151815260200191508051906020019080838360005b838110156101d15780820151838201526020016101b9565b50505050905090810190601f1680156101fe5780820380516001836020036101000a031916815260200191505b50935050505060405180910390a150565b7f5f9b0066ef1432686f95afb566285f26646659039499219f4e8db0f462e889738160405190815260200160405180910390208260405191825260208201526040908101905180910390a150565b60008082604051908152602001604051809103902091503360405173ffffffffffffffffffffffffffffffffffffffff919091166c0100000000000000000000000002815260140160405180910390208318604051908152602001604051809103902090507f01477555f917271446523927e2e1e6172851347fc25430923a78abc27ef37e978333848460405193845273ffffffffffffffffffffffffffffffffffffffff909216602084015260408084019190915260608301919091526080909101905180910390a1505050565b7fd44e9c0d833bb9a963228a03302f0599e829fc4c38a919695779a05c2f54fd4d8160405173ffffffffffffffffffffffffffffffffffffffff919091166c0100000000000000000000000002815260140160405180910390208260405191825273ffffffffffffffffffffffffffffffffffffffff1660208201526040908101905180910390a1505600a165627a7a723058200ea47c286a485d4a3d20f10ef3bab17afb01dceb7244b36bcf4748906d18a5470029", + "sourceMap": "70:947:16:-;;;;;;;;;;;;;;;;;", + "deployedSourceMap": "70:947:16:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;517:131;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;517:131:16;;-1:-1:-1;517:131:16;;-1:-1:-1;;;;;;517:131:16;;;384:130;;;;;;;;;;;;;;788:227;;;;;;;;;;;;;;651:134;;;;;;;;;;;;;;;;517:131;590:54;628:6;618:17;;;;;;;;;;;;;36:153:-1;66:2;58:11;;36:153;;182:3;176:10;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;377:20;365:33;;;-1:-1;;;618:17:16;;;;;-1:-1:-1;618:17:16;;-1:-1:-1;;618:17:16;;;;;;637:6;590:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;590:54:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;517:131;:::o;384:130::-;457:53;494:6;484:17;;;;;;;;;;;;;;503:6;457:53;;;;;;;;;;;;;;;;;;;;384:130;:::o;788:227::-;841:12;902;866:7;856:42;;;;;;;;;;;;;;841:57;;947:10;937:21;;;;;;;;;;;;;;;;;;;;927:7;:31;917:42;;;;;;;;;;;;;;902:57;;968:43;979:7;988:10;1000:4;1006;968:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;788:227;;;:::o;651:134::-;726:55;765:6;755:17;;;;;;;;;;;;;;;;;;;;774:6;726:55;;;;;;;;;;;;;;;;;;;;;;651:134;:::o", + "source": "pragma solidity ^0.4.21;\n\n\n//smart contract for testing purpose only\n\ncontract TestSha\n{\n\tevent SolidityKeccak256FromBytes (bytes32 result, bytes32 input);\n\tevent SolidityKeccak256FromString (bytes32 result, string input);\n\tevent SolidityKeccak256FromAddress(bytes32 result, address input);\n\n\tevent SignedVote(\n\t\tbytes32 input,\n\t\taddress voter,\n\t\tbytes32 vote,\n\t\tbytes32 sign\n\t);\n\n\tfunction testSolidityKeccak256FromBytes(bytes32 _input) public\n\t{\n\t\temit SolidityKeccak256FromBytes(keccak256(_input), _input);\n\t}\n\n\tfunction testSolidityKeccak256FromString(string _input) public\n\t{\n\t\temit SolidityKeccak256FromString(keccak256(_input), _input);\n\t}\n\n\tfunction testSolidityKeccak256FromAddress(address _input) public\n\t{\n\t\temit SolidityKeccak256FromAddress(keccak256(_input), _input);\n\t}\n\n\tfunction testSignedVote(bytes32 _result) public\n\t{\n\t\tbytes32 vote = keccak256(_result );\n\t\tbytes32 sign = keccak256(_result ^ keccak256(msg.sender));\n\t\temit SignedVote(_result, msg.sender, vote, sign);\n\t}\n}\n", + "sourcePath": "/Users/fbranci/iexecdev/PoCo/contracts/TestSha.sol", + "ast": { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/TestSha.sol", + "exportedSymbols": { + "TestSha": [ + 4025 + ] + }, + "id": 4026, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 3926, + "literals": [ + "solidity", + "^", + "0.4", + ".21" + ], + "nodeType": "PragmaDirective", + "src": "0:24:16" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 4025, + "linearizedBaseContracts": [ + 4025 + ], + "name": "TestSha", + "nodeType": "ContractDefinition", + "nodes": [ + { + "anonymous": false, + "documentation": null, + "id": 3932, + "name": "SolidityKeccak256FromBytes", + "nodeType": "EventDefinition", + "parameters": { + "id": 3931, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3928, + "indexed": false, + "name": "result", + "nodeType": "VariableDeclaration", + "scope": 3932, + "src": "125:14:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3927, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "125:7:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3930, + "indexed": false, + "name": "input", + "nodeType": "VariableDeclaration", + "scope": 3932, + "src": "141:13:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3929, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "141:7:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "124:31:16" + }, + "src": "90:66:16" + }, + { + "anonymous": false, + "documentation": null, + "id": 3938, + "name": "SolidityKeccak256FromString", + "nodeType": "EventDefinition", + "parameters": { + "id": 3937, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3934, + "indexed": false, + "name": "result", + "nodeType": "VariableDeclaration", + "scope": 3938, + "src": "193:14:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3933, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "193:7:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3936, + "indexed": false, + "name": "input", + "nodeType": "VariableDeclaration", + "scope": 3938, + "src": "209:13:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 3935, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "209:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "192:31:16" + }, + "src": "158:66:16" + }, + { + "anonymous": false, + "documentation": null, + "id": 3944, + "name": "SolidityKeccak256FromAddress", + "nodeType": "EventDefinition", + "parameters": { + "id": 3943, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3940, + "indexed": false, + "name": "result", + "nodeType": "VariableDeclaration", + "scope": 3944, + "src": "261:14:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3939, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "261:7:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3942, + "indexed": false, + "name": "input", + "nodeType": "VariableDeclaration", + "scope": 3944, + "src": "277:13:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3941, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "277:7:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "260:31:16" + }, + "src": "226:66:16" + }, + { + "anonymous": false, + "documentation": null, + "id": 3954, + "name": "SignedVote", + "nodeType": "EventDefinition", + "parameters": { + "id": 3953, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3946, + "indexed": false, + "name": "input", + "nodeType": "VariableDeclaration", + "scope": 3954, + "src": "315:13:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3945, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "315:7:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3948, + "indexed": false, + "name": "voter", + "nodeType": "VariableDeclaration", + "scope": 3954, + "src": "332:13:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3947, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "332:7:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3950, + "indexed": false, + "name": "vote", + "nodeType": "VariableDeclaration", + "scope": 3954, + "src": "349:12:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3949, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "349:7:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3952, + "indexed": false, + "name": "sign", + "nodeType": "VariableDeclaration", + "scope": 3954, + "src": "365:12:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3951, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "365:7:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "311:69:16" + }, + "src": "295:86:16" + }, + { + "body": { + "id": 3966, + "nodeType": "Block", + "src": "448:66:16", + "statements": [ + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3961, + "name": "_input", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3956, + "src": "494:6:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 3960, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7002, + "src": "484:9:16", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 3962, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "484:17:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 3963, + "name": "_input", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3956, + "src": "503:6:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 3959, + "name": "SolidityKeccak256FromBytes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3932, + "src": "457:26:16", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$", + "typeString": "function (bytes32,bytes32)" + } + }, + "id": 3964, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "457:53:16", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3965, + "nodeType": "EmitStatement", + "src": "452:58:16" + } + ] + }, + "documentation": null, + "id": 3967, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "testSolidityKeccak256FromBytes", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3957, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3956, + "name": "_input", + "nodeType": "VariableDeclaration", + "scope": 3967, + "src": "424:14:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3955, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "424:7:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "423:16:16" + }, + "payable": false, + "returnParameters": { + "id": 3958, + "nodeType": "ParameterList", + "parameters": [], + "src": "448:0:16" + }, + "scope": 4025, + "src": "384:130:16", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 3979, + "nodeType": "Block", + "src": "581:67:16", + "statements": [ + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3974, + "name": "_input", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3969, + "src": "628:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 3973, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7002, + "src": "618:9:16", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 3975, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "618:17:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 3976, + "name": "_input", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3969, + "src": "637:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 3972, + "name": "SolidityKeccak256FromString", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3938, + "src": "590:27:16", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bytes32,string memory)" + } + }, + "id": 3977, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "590:54:16", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3978, + "nodeType": "EmitStatement", + "src": "585:59:16" + } + ] + }, + "documentation": null, + "id": 3980, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "testSolidityKeccak256FromString", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3970, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3969, + "name": "_input", + "nodeType": "VariableDeclaration", + "scope": 3980, + "src": "558:13:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 3968, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "558:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "557:15:16" + }, + "payable": false, + "returnParameters": { + "id": 3971, + "nodeType": "ParameterList", + "parameters": [], + "src": "581:0:16" + }, + "scope": 4025, + "src": "517:131:16", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 3992, + "nodeType": "Block", + "src": "717:68:16", + "statements": [ + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3987, + "name": "_input", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3982, + "src": "765:6:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 3986, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7002, + "src": "755:9:16", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 3988, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "755:17:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 3989, + "name": "_input", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3982, + "src": "774:6:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 3985, + "name": "SolidityKeccak256FromAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3944, + "src": "726:28:16", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,address)" + } + }, + "id": 3990, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "726:55:16", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3991, + "nodeType": "EmitStatement", + "src": "721:60:16" + } + ] + }, + "documentation": null, + "id": 3993, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "testSolidityKeccak256FromAddress", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3983, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3982, + "name": "_input", + "nodeType": "VariableDeclaration", + "scope": 3993, + "src": "693:14:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3981, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "693:7:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "692:16:16" + }, + "payable": false, + "returnParameters": { + "id": 3984, + "nodeType": "ParameterList", + "parameters": [], + "src": "717:0:16" + }, + "scope": 4025, + "src": "651:134:16", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 4023, + "nodeType": "Block", + "src": "837:178:16", + "statements": [ + { + "assignments": [ + 3999 + ], + "declarations": [ + { + "constant": false, + "id": 3999, + "name": "vote", + "nodeType": "VariableDeclaration", + "scope": 4024, + "src": "841:12:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3998, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "841:7:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 4003, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4001, + "name": "_result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3995, + "src": "866:7:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 4000, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7002, + "src": "856:9:16", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 4002, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "856:42:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "841:57:16" + }, + { + "assignments": [ + 4005 + ], + "declarations": [ + { + "constant": false, + "id": 4005, + "name": "sign", + "nodeType": "VariableDeclaration", + "scope": 4024, + "src": "902:12:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4004, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "902:7:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 4014, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 4012, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 4007, + "name": "_result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3995, + "src": "927:7:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "^", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4009, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "947:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 4010, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "947:10:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 4008, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7002, + "src": "937:9:16", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 4011, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "937:21:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "927:31:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 4006, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7002, + "src": "917:9:16", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 4013, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "917:42:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "902:57:16" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4016, + "name": "_result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3995, + "src": "979:7:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4017, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "988:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 4018, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "988:10:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 4019, + "name": "vote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3999, + "src": "1000:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 4020, + "name": "sign", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4005, + "src": "1006:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 4015, + "name": "SignedVote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3954, + "src": "968:10:16", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_bytes32_$_t_bytes32_$returns$__$", + "typeString": "function (bytes32,address,bytes32,bytes32)" + } + }, + "id": 4021, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "968:43:16", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4022, + "nodeType": "EmitStatement", + "src": "963:48:16" + } + ] + }, + "documentation": null, + "id": 4024, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "testSignedVote", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3996, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3995, + "name": "_result", + "nodeType": "VariableDeclaration", + "scope": 4024, + "src": "812:15:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3994, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "812:7:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "811:17:16" + }, + "payable": false, + "returnParameters": { + "id": 3997, + "nodeType": "ParameterList", + "parameters": [], + "src": "837:0:16" + }, + "scope": 4025, + "src": "788:227:16", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 4026, + "src": "70:947:16" + } + ], + "src": "0:1018:16" + }, + "legacyAST": { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/TestSha.sol", + "exportedSymbols": { + "TestSha": [ + 4025 + ] + }, + "id": 4026, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 3926, + "literals": [ + "solidity", + "^", + "0.4", + ".21" + ], + "nodeType": "PragmaDirective", + "src": "0:24:16" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 4025, + "linearizedBaseContracts": [ + 4025 + ], + "name": "TestSha", + "nodeType": "ContractDefinition", + "nodes": [ + { + "anonymous": false, + "documentation": null, + "id": 3932, + "name": "SolidityKeccak256FromBytes", + "nodeType": "EventDefinition", + "parameters": { + "id": 3931, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3928, + "indexed": false, + "name": "result", + "nodeType": "VariableDeclaration", + "scope": 3932, + "src": "125:14:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3927, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "125:7:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3930, + "indexed": false, + "name": "input", + "nodeType": "VariableDeclaration", + "scope": 3932, + "src": "141:13:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3929, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "141:7:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "124:31:16" + }, + "src": "90:66:16" + }, + { + "anonymous": false, + "documentation": null, + "id": 3938, + "name": "SolidityKeccak256FromString", + "nodeType": "EventDefinition", + "parameters": { + "id": 3937, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3934, + "indexed": false, + "name": "result", + "nodeType": "VariableDeclaration", + "scope": 3938, + "src": "193:14:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3933, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "193:7:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3936, + "indexed": false, + "name": "input", + "nodeType": "VariableDeclaration", + "scope": 3938, + "src": "209:13:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 3935, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "209:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "192:31:16" + }, + "src": "158:66:16" + }, + { + "anonymous": false, + "documentation": null, + "id": 3944, + "name": "SolidityKeccak256FromAddress", + "nodeType": "EventDefinition", + "parameters": { + "id": 3943, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3940, + "indexed": false, + "name": "result", + "nodeType": "VariableDeclaration", + "scope": 3944, + "src": "261:14:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3939, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "261:7:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3942, + "indexed": false, + "name": "input", + "nodeType": "VariableDeclaration", + "scope": 3944, + "src": "277:13:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3941, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "277:7:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "260:31:16" + }, + "src": "226:66:16" + }, + { + "anonymous": false, + "documentation": null, + "id": 3954, + "name": "SignedVote", + "nodeType": "EventDefinition", + "parameters": { + "id": 3953, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3946, + "indexed": false, + "name": "input", + "nodeType": "VariableDeclaration", + "scope": 3954, + "src": "315:13:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3945, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "315:7:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3948, + "indexed": false, + "name": "voter", + "nodeType": "VariableDeclaration", + "scope": 3954, + "src": "332:13:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3947, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "332:7:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3950, + "indexed": false, + "name": "vote", + "nodeType": "VariableDeclaration", + "scope": 3954, + "src": "349:12:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3949, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "349:7:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3952, + "indexed": false, + "name": "sign", + "nodeType": "VariableDeclaration", + "scope": 3954, + "src": "365:12:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3951, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "365:7:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "311:69:16" + }, + "src": "295:86:16" + }, + { + "body": { + "id": 3966, + "nodeType": "Block", + "src": "448:66:16", + "statements": [ + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3961, + "name": "_input", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3956, + "src": "494:6:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 3960, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7002, + "src": "484:9:16", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 3962, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "484:17:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 3963, + "name": "_input", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3956, + "src": "503:6:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 3959, + "name": "SolidityKeccak256FromBytes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3932, + "src": "457:26:16", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$", + "typeString": "function (bytes32,bytes32)" + } + }, + "id": 3964, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "457:53:16", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3965, + "nodeType": "EmitStatement", + "src": "452:58:16" + } + ] + }, + "documentation": null, + "id": 3967, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "testSolidityKeccak256FromBytes", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3957, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3956, + "name": "_input", + "nodeType": "VariableDeclaration", + "scope": 3967, + "src": "424:14:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3955, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "424:7:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "423:16:16" + }, + "payable": false, + "returnParameters": { + "id": 3958, + "nodeType": "ParameterList", + "parameters": [], + "src": "448:0:16" + }, + "scope": 4025, + "src": "384:130:16", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 3979, + "nodeType": "Block", + "src": "581:67:16", + "statements": [ + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3974, + "name": "_input", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3969, + "src": "628:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 3973, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7002, + "src": "618:9:16", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 3975, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "618:17:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 3976, + "name": "_input", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3969, + "src": "637:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 3972, + "name": "SolidityKeccak256FromString", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3938, + "src": "590:27:16", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bytes32,string memory)" + } + }, + "id": 3977, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "590:54:16", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3978, + "nodeType": "EmitStatement", + "src": "585:59:16" + } + ] + }, + "documentation": null, + "id": 3980, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "testSolidityKeccak256FromString", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3970, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3969, + "name": "_input", + "nodeType": "VariableDeclaration", + "scope": 3980, + "src": "558:13:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 3968, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "558:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "557:15:16" + }, + "payable": false, + "returnParameters": { + "id": 3971, + "nodeType": "ParameterList", + "parameters": [], + "src": "581:0:16" + }, + "scope": 4025, + "src": "517:131:16", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 3992, + "nodeType": "Block", + "src": "717:68:16", + "statements": [ + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3987, + "name": "_input", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3982, + "src": "765:6:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 3986, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7002, + "src": "755:9:16", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 3988, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "755:17:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 3989, + "name": "_input", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3982, + "src": "774:6:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 3985, + "name": "SolidityKeccak256FromAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3944, + "src": "726:28:16", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,address)" + } + }, + "id": 3990, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "726:55:16", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3991, + "nodeType": "EmitStatement", + "src": "721:60:16" + } + ] + }, + "documentation": null, + "id": 3993, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "testSolidityKeccak256FromAddress", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3983, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3982, + "name": "_input", + "nodeType": "VariableDeclaration", + "scope": 3993, + "src": "693:14:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3981, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "693:7:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "692:16:16" + }, + "payable": false, + "returnParameters": { + "id": 3984, + "nodeType": "ParameterList", + "parameters": [], + "src": "717:0:16" + }, + "scope": 4025, + "src": "651:134:16", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 4023, + "nodeType": "Block", + "src": "837:178:16", + "statements": [ + { + "assignments": [ + 3999 + ], + "declarations": [ + { + "constant": false, + "id": 3999, + "name": "vote", + "nodeType": "VariableDeclaration", + "scope": 4024, + "src": "841:12:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3998, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "841:7:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 4003, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4001, + "name": "_result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3995, + "src": "866:7:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 4000, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7002, + "src": "856:9:16", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 4002, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "856:42:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "841:57:16" + }, + { + "assignments": [ + 4005 + ], + "declarations": [ + { + "constant": false, + "id": 4005, + "name": "sign", + "nodeType": "VariableDeclaration", + "scope": 4024, + "src": "902:12:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4004, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "902:7:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 4014, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 4012, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 4007, + "name": "_result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3995, + "src": "927:7:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "^", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4009, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "947:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 4010, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "947:10:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 4008, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7002, + "src": "937:9:16", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 4011, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "937:21:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "927:31:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 4006, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7002, + "src": "917:9:16", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 4013, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "917:42:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "902:57:16" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4016, + "name": "_result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3995, + "src": "979:7:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4017, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "988:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 4018, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "988:10:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 4019, + "name": "vote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3999, + "src": "1000:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 4020, + "name": "sign", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4005, + "src": "1006:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 4015, + "name": "SignedVote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3954, + "src": "968:10:16", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_bytes32_$_t_bytes32_$returns$__$", + "typeString": "function (bytes32,address,bytes32,bytes32)" + } + }, + "id": 4021, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "968:43:16", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4022, + "nodeType": "EmitStatement", + "src": "963:48:16" + } + ] + }, + "documentation": null, + "id": 4024, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "testSignedVote", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3996, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3995, + "name": "_result", + "nodeType": "VariableDeclaration", + "scope": 4024, + "src": "812:15:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3994, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "812:7:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "811:17:16" + }, + "payable": false, + "returnParameters": { + "id": 3997, + "nodeType": "ParameterList", + "parameters": [], + "src": "837:0:16" + }, + "scope": 4025, + "src": "788:227:16", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 4026, + "src": "70:947:16" + } + ], + "src": "0:1018:16" + }, + "compiler": { + "name": "solc", + "version": "0.4.21+commit.dfe3193c.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "2.0.0", + "updatedAt": "2018-06-12T14:56:21.151Z" +} \ No newline at end of file diff --git a/deployed/contracts/TokenSpender.json b/deployed/contracts/TokenSpender.json new file mode 100644 index 00000000..8679d565 --- /dev/null +++ b/deployed/contracts/TokenSpender.json @@ -0,0 +1,394 @@ +{ + "contractName": "TokenSpender", + "abi": [ + { + "constant": false, + "inputs": [ + { + "name": "_from", + "type": "address" + }, + { + "name": "_value", + "type": "uint256" + }, + { + "name": "_token", + "type": "address" + }, + { + "name": "_extraData", + "type": "bytes" + } + ], + "name": "receiveApproval", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "sourceMap": "", + "deployedSourceMap": "", + "source": "pragma solidity ^0.4.8;\n\ncontract TokenSpender {\n function receiveApproval(address _from, uint256 _value, address _token, bytes _extraData);\n}", + "sourcePath": "rlc-token/contracts/TokenSpender.sol", + "ast": { + "absolutePath": "rlc-token/contracts/TokenSpender.sol", + "exportedSymbols": { + "TokenSpender": [ + 6995 + ] + }, + "id": 6996, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 6983, + "literals": [ + "solidity", + "^", + "0.4", + ".8" + ], + "nodeType": "PragmaDirective", + "src": "0:23:24" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": false, + "id": 6995, + "linearizedBaseContracts": [ + 6995 + ], + "name": "TokenSpender", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": null, + "documentation": null, + "id": 6994, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "receiveApproval", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6992, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6985, + "name": "_from", + "nodeType": "VariableDeclaration", + "scope": 6994, + "src": "78:13:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6984, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "78:7:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6987, + "name": "_value", + "nodeType": "VariableDeclaration", + "scope": 6994, + "src": "93:14:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6986, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "93:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6989, + "name": "_token", + "nodeType": "VariableDeclaration", + "scope": 6994, + "src": "109:14:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6988, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "109:7:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6991, + "name": "_extraData", + "nodeType": "VariableDeclaration", + "scope": 6994, + "src": "125:16:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + "typeName": { + "id": 6990, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "125:5:24", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "77:65:24" + }, + "payable": false, + "returnParameters": { + "id": 6993, + "nodeType": "ParameterList", + "parameters": [], + "src": "142:0:24" + }, + "scope": 6995, + "src": "53:90:24", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 6996, + "src": "25:120:24" + } + ], + "src": "0:145:24" + }, + "legacyAST": { + "absolutePath": "rlc-token/contracts/TokenSpender.sol", + "exportedSymbols": { + "TokenSpender": [ + 6995 + ] + }, + "id": 6996, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 6983, + "literals": [ + "solidity", + "^", + "0.4", + ".8" + ], + "nodeType": "PragmaDirective", + "src": "0:23:24" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": false, + "id": 6995, + "linearizedBaseContracts": [ + 6995 + ], + "name": "TokenSpender", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": null, + "documentation": null, + "id": 6994, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "receiveApproval", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6992, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6985, + "name": "_from", + "nodeType": "VariableDeclaration", + "scope": 6994, + "src": "78:13:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6984, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "78:7:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6987, + "name": "_value", + "nodeType": "VariableDeclaration", + "scope": 6994, + "src": "93:14:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6986, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "93:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6989, + "name": "_token", + "nodeType": "VariableDeclaration", + "scope": 6994, + "src": "109:14:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6988, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "109:7:24", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6991, + "name": "_extraData", + "nodeType": "VariableDeclaration", + "scope": 6994, + "src": "125:16:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + "typeName": { + "id": 6990, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "125:5:24", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "77:65:24" + }, + "payable": false, + "returnParameters": { + "id": 6993, + "nodeType": "ParameterList", + "parameters": [], + "src": "142:0:24" + }, + "scope": 6995, + "src": "53:90:24", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 6996, + "src": "25:120:24" + } + ], + "src": "0:145:24" + }, + "compiler": { + "name": "solc", + "version": "0.4.21+commit.dfe3193c.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "2.0.0", + "updatedAt": "2018-06-12T14:56:21.167Z" +} \ No newline at end of file diff --git a/deployed/contracts/WorkOrder.json b/deployed/contracts/WorkOrder.json new file mode 100644 index 00000000..b3f8baa1 --- /dev/null +++ b/deployed/contracts/WorkOrder.json @@ -0,0 +1,7228 @@ +{ + "contractName": "WorkOrder", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "m_workerpool", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "m_params", + "outputs": [ + { + "name": "", + "type": "string" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "m_requester", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "m_app", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "m_dataset", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "m_emitcost", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "m_uri", + "outputs": [ + { + "name": "", + "type": "string" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "m_stdout", + "outputs": [ + { + "name": "", + "type": "string" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "m_resultCallbackProof", + "outputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "m_iexecHubAddress", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "m_callback", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "m_status", + "outputs": [ + { + "name": "", + "type": "uint8" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "m_marketorderIdx", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "m_stderr", + "outputs": [ + { + "name": "", + "type": "string" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "m_beneficiary", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "name": "_marketorderIdx", + "type": "uint256" + }, + { + "name": "_requester", + "type": "address" + }, + { + "name": "_app", + "type": "address" + }, + { + "name": "_dataset", + "type": "address" + }, + { + "name": "_workerpool", + "type": "address" + }, + { + "name": "_emitcost", + "type": "uint256" + }, + { + "name": "_params", + "type": "string" + }, + { + "name": "_callback", + "type": "address" + }, + { + "name": "_beneficiary", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [], + "name": "WorkOrderActivated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [], + "name": "WorkOrderReActivated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [], + "name": "WorkOrderRevealing", + "type": "event" + }, + { + "anonymous": false, + "inputs": [], + "name": "WorkOrderClaimed", + "type": "event" + }, + { + "anonymous": false, + "inputs": [], + "name": "WorkOrderCompleted", + "type": "event" + }, + { + "constant": false, + "inputs": [], + "name": "startRevealingPhase", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "reActivate", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "claim", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_stdout", + "type": "string" + }, + { + "name": "_stderr", + "type": "string" + }, + { + "name": "_uri", + "type": "string" + } + ], + "name": "setResult", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x6060604052341561000f57600080fd5b604051610c5a380380610c5a8339810160405280805191906020018051919060200180519190602001805191906020018051919060200180519190602001805182019190602001805191906020018051600e8054600160a060020a03191633600160a060020a039081169190911790915590925089161515905061009257600080fd5b6000805460ff1916600190811790915589905560028054600160a060020a0319908116600160a060020a038a81169190911790925560038054821689841617905560048054821688841617905560058054909116918a1691909117905560068490556007838051610107929160200190610141565b5060088054600160a060020a03938416600160a060020a03199182161790915560098054929093169116179055506101dc95505050505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061018257805160ff19168380011785556101af565b828001600101855582156101af579182015b828111156101af578251825591602001919060010190610194565b506101bb9291506101bf565b5090565b6101d991905b808211156101bb57600081556001016101c5565b90565b610a6f806101eb6000396000f3006060604052600436106101065763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630690e5b8811461010b57806315298c771461013a5780631a514d97146101c45780632d4d671f146101eb5780634e71d92d146101fe5780635f44910c146102135780636946f6921461022657806371a599ca146102395780638628aaff1461024c5780639c4a856114610271578063cc3a2dfa14610284578063d3281fd614610297578063d3a69e01146102aa578063d5fdfdbc146102bd578063da1fea2814610392578063e329c478146103a5578063ecc40f64146103dc578063f3859f57146103ef578063f6a5b13e14610402575b600080fd5b341561011657600080fd5b61011e610415565b604051600160a060020a03909116815260200160405180910390f35b341561014557600080fd5b61014d610424565b60405160208082528190810183818151815260200191508051906020019080838360005b83811015610189578082015183820152602001610171565b50505050905090810190601f1680156101b65780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156101cf57600080fd5b6101d76104c2565b604051901515815260200160405180910390f35b34156101f657600080fd5b6101d761053d565b341561020957600080fd5b6102116105b7565b005b341561021e57600080fd5b61011e610647565b341561023157600080fd5b61011e610656565b341561024457600080fd5b61011e610665565b341561025757600080fd5b61025f610674565b60405190815260200160405180910390f35b341561027c57600080fd5b61014d61067a565b341561028f57600080fd5b61014d6106e5565b34156102a257600080fd5b61025f610750565b34156102b557600080fd5b61011e610756565b34156102c857600080fd5b61021160046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052818152929190602084018383808284375094965061076595505050505050565b341561039d57600080fd5b61011e610913565b34156103b057600080fd5b6103b8610922565b604051808260048111156103c857fe5b60ff16815260200191505060405180910390f35b34156103e757600080fd5b61025f61092b565b34156103fa57600080fd5b61014d610931565b341561040d57600080fd5b61011e61099c565b600454600160a060020a031681565b60078054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156104ba5780601f1061048f576101008083540402835291602001916104ba565b820191906000526020600020905b81548152906001019060200180831161049d57829003601f168201915b505050505081565b60045460009033600160a060020a039081169116146104e057600080fd5b600260005460ff1660048111156104f357fe5b146104fd57600080fd5b6000805460ff191660011790557f06c42818c4ab74dff6aec55942f601c2e9b7f2aa4321ee71690b125eacfe465460405160405180910390a15060015b90565b60045460009033600160a060020a0390811691161461055b57600080fd5b600160005460ff16600481111561056e57fe5b1461057857600080fd5b6000805460ff191660021790557f2b0cab0be6d82b2661b3b789c540ec9c7223aac635ac8e59a1e71e1137f2dd7760405160405180910390a150600190565b600e5433600160a060020a039081169116146105d257600080fd5b600160005460ff1660048111156105e557fe5b14806106015750600260005460ff1660048111156105ff57fe5b145b151561060c57600080fd5b6000805460ff191660031790557f1938697ee29e363ecda49e464c6d2aae25f0974bd1f2c81a91c21e13ad8dbf7760405160405180910390a1565b600554600160a060020a031681565b600254600160a060020a031681565b600354600160a060020a031681565b60065481565b600d8054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156104ba5780601f1061048f576101008083540402835291602001916104ba565b600b8054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156104ba5780601f1061048f576101008083540402835291602001916104ba565b600a5481565b600e54600160a060020a031681565b600e5433600160a060020a0390811691161461078057600080fd5b600260005460ff16600481111561079357fe5b1461079d57600080fd5b6000805460ff19166004179055600b8380516107bd9291602001906109ab565b50600c8280516107d19291602001906109ab565b50600d8180516107e59291602001906109ab565b508282826040518084805190602001908083835b602083106108185780518252601f1990920191602091820191016107f9565b6001836020036101000a038019825116818451161790925250505091909101905083805190602001908083835b602083106108645780518252601f199092019160209182019101610845565b6001836020036101000a038019825116818451161790925250505091909101905082805190602001908083835b602083106108b05780518252601f199092019160209182019101610891565b6001836020036101000a03801982511681845116179092525050509190910194506040935050505051908190039020600a557f777f59509d985349c80271b657d2649b218bc6f075a4625821b64448cc235b8660405160405180910390a1505050565b600854600160a060020a031681565b60005460ff1681565b60015481565b600c8054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156104ba5780601f1061048f576101008083540402835291602001916104ba565b600954600160a060020a031681565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106109ec57805160ff1916838001178555610a19565b82800160010185558215610a19579182015b82811115610a195782518255916020019190600101906109fe565b50610a25929150610a29565b5090565b61053a91905b80821115610a255760008155600101610a2f5600a165627a7a72305820aab9d309bae837f3417f3dc81c0f650543365c210e440786b5dfc09f1981eba70029", + "deployedBytecode": "0x6060604052600436106101065763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630690e5b8811461010b57806315298c771461013a5780631a514d97146101c45780632d4d671f146101eb5780634e71d92d146101fe5780635f44910c146102135780636946f6921461022657806371a599ca146102395780638628aaff1461024c5780639c4a856114610271578063cc3a2dfa14610284578063d3281fd614610297578063d3a69e01146102aa578063d5fdfdbc146102bd578063da1fea2814610392578063e329c478146103a5578063ecc40f64146103dc578063f3859f57146103ef578063f6a5b13e14610402575b600080fd5b341561011657600080fd5b61011e610415565b604051600160a060020a03909116815260200160405180910390f35b341561014557600080fd5b61014d610424565b60405160208082528190810183818151815260200191508051906020019080838360005b83811015610189578082015183820152602001610171565b50505050905090810190601f1680156101b65780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156101cf57600080fd5b6101d76104c2565b604051901515815260200160405180910390f35b34156101f657600080fd5b6101d761053d565b341561020957600080fd5b6102116105b7565b005b341561021e57600080fd5b61011e610647565b341561023157600080fd5b61011e610656565b341561024457600080fd5b61011e610665565b341561025757600080fd5b61025f610674565b60405190815260200160405180910390f35b341561027c57600080fd5b61014d61067a565b341561028f57600080fd5b61014d6106e5565b34156102a257600080fd5b61025f610750565b34156102b557600080fd5b61011e610756565b34156102c857600080fd5b61021160046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052818152929190602084018383808284375094965061076595505050505050565b341561039d57600080fd5b61011e610913565b34156103b057600080fd5b6103b8610922565b604051808260048111156103c857fe5b60ff16815260200191505060405180910390f35b34156103e757600080fd5b61025f61092b565b34156103fa57600080fd5b61014d610931565b341561040d57600080fd5b61011e61099c565b600454600160a060020a031681565b60078054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156104ba5780601f1061048f576101008083540402835291602001916104ba565b820191906000526020600020905b81548152906001019060200180831161049d57829003601f168201915b505050505081565b60045460009033600160a060020a039081169116146104e057600080fd5b600260005460ff1660048111156104f357fe5b146104fd57600080fd5b6000805460ff191660011790557f06c42818c4ab74dff6aec55942f601c2e9b7f2aa4321ee71690b125eacfe465460405160405180910390a15060015b90565b60045460009033600160a060020a0390811691161461055b57600080fd5b600160005460ff16600481111561056e57fe5b1461057857600080fd5b6000805460ff191660021790557f2b0cab0be6d82b2661b3b789c540ec9c7223aac635ac8e59a1e71e1137f2dd7760405160405180910390a150600190565b600e5433600160a060020a039081169116146105d257600080fd5b600160005460ff1660048111156105e557fe5b14806106015750600260005460ff1660048111156105ff57fe5b145b151561060c57600080fd5b6000805460ff191660031790557f1938697ee29e363ecda49e464c6d2aae25f0974bd1f2c81a91c21e13ad8dbf7760405160405180910390a1565b600554600160a060020a031681565b600254600160a060020a031681565b600354600160a060020a031681565b60065481565b600d8054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156104ba5780601f1061048f576101008083540402835291602001916104ba565b600b8054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156104ba5780601f1061048f576101008083540402835291602001916104ba565b600a5481565b600e54600160a060020a031681565b600e5433600160a060020a0390811691161461078057600080fd5b600260005460ff16600481111561079357fe5b1461079d57600080fd5b6000805460ff19166004179055600b8380516107bd9291602001906109ab565b50600c8280516107d19291602001906109ab565b50600d8180516107e59291602001906109ab565b508282826040518084805190602001908083835b602083106108185780518252601f1990920191602091820191016107f9565b6001836020036101000a038019825116818451161790925250505091909101905083805190602001908083835b602083106108645780518252601f199092019160209182019101610845565b6001836020036101000a038019825116818451161790925250505091909101905082805190602001908083835b602083106108b05780518252601f199092019160209182019101610891565b6001836020036101000a03801982511681845116179092525050509190910194506040935050505051908190039020600a557f777f59509d985349c80271b657d2649b218bc6f075a4625821b64448cc235b8660405160405180910390a1505050565b600854600160a060020a031681565b60005460ff1681565b60015481565b600c8054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156104ba5780601f1061048f576101008083540402835291602001916104ba565b600954600160a060020a031681565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106109ec57805160ff1916838001178555610a19565b82800160010185558215610a19579182015b82811115610a195782518255916020019190600101906109fe565b50610a25929150610a29565b5090565b61053a91905b80821115610a255760008155600101610a2f5600a165627a7a72305820aab9d309bae837f3417f3dc81c0f650543365c210e440786b5dfc09f1981eba70029", + "sourceMap": "51:2643:17:-;;;810:777;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1036:17;:30;;-1:-1:-1;;;;;;1036:30:17;1056:10;-1:-1:-1;;;;;1036:30:17;;;;;;;;;;810:777;;-1:-1:-1;1078:24:17;;;;;-1:-1:-1;1070:33:17;;;;;;1107:8;:54;;-1:-1:-1;;1107:54:17;1126:35;1107:54;;;;;;1165:34;;;1203:5;:23;;-1:-1:-1;;;;;;1203:23:17;;;-1:-1:-1;;;;;1203:23:17;;;;;;;;;;1230:9;:27;;;;;;;;;;1261:12;:30;;;;;;;;;;1295:11;:29;;;;;;;;;;;;;;1328:10;:28;;;1360:8;1379:7;;1360:26;;;;;;;;:::i;:::-;-1:-1:-1;1390:10:17;:28;;-1:-1:-1;;;;;1390:28:17;;;-1:-1:-1;;;;;;1390:28:17;;;;;;;1422:13;:31;;;;;;;;;;;-1:-1:-1;51:2643:17;;-1:-1:-1;;;;;;51:2643:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;51:2643:17;;;-1:-1:-1;51:2643:17;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;", + "deployedSourceMap": "51:2643:17:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;378:27;;;;;;;;;;;;;;;-1:-1:-1;;;;;378:27:17;;;;;;;;;;;;;;;466:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;466:23:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1847:247;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1590:254;;;;;;;;;;;;2098:234;;;;;;;;;;;;;;408:26;;;;;;;;;;;;328:20;;;;;;;;;;;;351:24;;;;;;;;;;;;438:25;;;;;;;;;;;;;;;;;;;;;;;;;;;643:20;;;;;;;;;;;;591:23;;;;;;;;;;;;552:36;;;;;;;;;;;;667:32;;;;;;;;;;;;2336:355;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2336:355:17;;-1:-1:-1;2336:355:17;;-1:-1:-1;;;;;;2336:355:17;492:25;;;;;;;;;;;;245:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;293:31;;;;;;;;;;;;617:23;;;;;;;;;;;;520:28;;;;;;;;;;;;378:27;;;-1:-1:-1;;;;;378:27:17;;:::o;466:23::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1847:247::-;1904:12;;1885:4;;1920:10;-1:-1:-1;;;;;1904:26:17;;;:12;;:26;1896:35;;;;;;1955:38;1943:8;;;;:50;;;;;;;;;1935:59;;;;;;1998:8;:46;;-1:-1:-1;;1998:46:17;2009:35;1998:46;;;2053:22;;;;;;;;;;-1:-1:-1;2086:4:17;1847:247;;:::o;1590:254::-;1656:12;;1637:4;;1672:10;-1:-1:-1;;;;;1656:26:17;;;:12;;:26;1648:35;;;;;;1707;1695:8;;;;:47;;;;;;;;;1687:56;;;;;;1747:8;:49;;-1:-1:-1;;1747:49:17;1758:38;1747:49;;;1805:20;;;;;;;;;;-1:-1:-1;1836:4:17;1590:254;:::o;2098:234::-;754:17;;740:10;-1:-1:-1;;;;;740:31:17;;;754:17;;740:31;732:40;;;;;;2160:35;2148:8;;;;:47;;;;;;;;;:101;;;-1:-1:-1;2211:38:17;2199:8;;;;:50;;;;;;;;;2148:101;2140:110;;;;;;;;2254:8;:47;;-1:-1:-1;;2254:47:17;2265:36;2254:47;;;2310:18;;;;;;;;;;2098:234::o;408:26::-;;;-1:-1:-1;;;;;408:26:17;;:::o;328:20::-;;;-1:-1:-1;;;;;328:20:17;;:::o;351:24::-;;;-1:-1:-1;;;;;351:24:17;;:::o;438:25::-;;;;:::o;643:20::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;591:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;552:36;;;;:::o;667:32::-;;;-1:-1:-1;;;;;667:32:17;;:::o;2336:355::-;754:17;;740:10;-1:-1:-1;;;;;740:31:17;;;754:17;;740:31;732:40;;;;;;2445:38;2433:8;;;;:50;;;;;;;;;2425:59;;;;;;2488:8;:49;;-1:-1:-1;;2488:49:17;2499:38;2488:49;;;2541:8;2552:7;;2541:18;;;;;;;;:::i;:::-;-1:-1:-1;2563:8:17;2574:7;;2563:18;;;;;;;;:::i;:::-;-1:-1:-1;2585:5:17;2596:4;;2585:15;;;;;;;;:::i;:::-;;2637:7;2645;2653:4;2627:31;;;;;;;;;;;;;36:153:-1;66:2;58:11;;36:153;;182:3;176:10;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;377:20;365:33;;;-1:-1;;;2627:31:17;;;;;-1:-1:-1;2627:31:17;;;;;;;;;;36:153:-1;66:2;58:11;;36:153;;182:3;176:10;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;377:20;365:33;;;-1:-1;;;2627:31:17;;;;;-1:-1:-1;2627:31:17;;;;;;;;;;36:153:-1;66:2;58:11;;36:153;;182:3;176:10;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;377:20;365:33;;;-1:-1;;;2627:31:17;;;;;-1:-1:-1;2627:31:17;;-1:-1:-1;;;;2627:31:17;;;;;;;2604:21;:54;2667:20;;;;;;;;;;2336:355;;;:::o;492:25::-;;;-1:-1:-1;;;;;492:25:17;;:::o;245:44::-;;;;;;:::o;293:31::-;;;;:::o;617:23::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;520:28;;;-1:-1:-1;;;;;520:28:17;;:::o;51:2643::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;51:2643:17;;;-1:-1:-1;51:2643:17;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;", + "source": "pragma solidity ^0.4.21;\n\nimport './IexecLib.sol';\ncontract WorkOrder\n{\n\n\n\tevent WorkOrderActivated();\n\tevent WorkOrderReActivated();\n\tevent WorkOrderRevealing();\n\tevent WorkOrderClaimed ();\n\tevent WorkOrderCompleted();\n\n\t/**\n\t * Members\n\t */\n\tIexecLib.WorkOrderStatusEnum public m_status;\n\n\tuint256 public m_marketorderIdx;\n\n\taddress public m_app;\n\taddress public m_dataset;\n\taddress public m_workerpool;\n\taddress public m_requester;\n\n\tuint256 public m_emitcost;\n\tstring public m_params;\n\taddress public m_callback;\n\taddress public m_beneficiary;\n\n\tbytes32 public m_resultCallbackProof;\n\tstring public m_stdout;\n\tstring public m_stderr;\n\tstring public m_uri;\n\n\taddress public m_iexecHubAddress;\n\n\tmodifier onlyIexecHub()\n\t{\n\t\trequire(msg.sender == m_iexecHubAddress);\n\t\t_;\n\t}\n\n\t/**\n\t * Constructor\n\t */\n\tfunction WorkOrder(\n\t\tuint256 _marketorderIdx,\n\t\taddress _requester,\n\t\taddress _app,\n\t\taddress _dataset,\n\t\taddress _workerpool,\n\t\tuint256 _emitcost,\n\t\tstring _params,\n\t\taddress _callback,\n\t\taddress _beneficiary)\n\tpublic\n\t{\n\t\tm_iexecHubAddress = msg.sender;\n\t\trequire(_requester != address(0));\n\t\tm_status = IexecLib.WorkOrderStatusEnum.ACTIVE;\n\t\tm_marketorderIdx = _marketorderIdx;\n\t\tm_app = _app;\n\t\tm_dataset = _dataset;\n\t\tm_workerpool = _workerpool;\n\t\tm_requester = _requester;\n\t\tm_emitcost = _emitcost;\n\t\tm_params = _params;\n\t\tm_callback = _callback;\n\t\tm_beneficiary = _beneficiary;\n\t\t// needed for the scheduler to authorize api token access on this m_beneficiary address in case _requester is a smart contract.\n\t}\n\n\tfunction startRevealingPhase() public returns (bool)\n\t{\n\t\trequire(m_workerpool == msg.sender);\n\t\trequire(m_status == IexecLib.WorkOrderStatusEnum.ACTIVE);\n\t\tm_status = IexecLib.WorkOrderStatusEnum.REVEALING;\n\t\temit WorkOrderRevealing();\n\t\treturn true;\n\t}\n\n\tfunction reActivate() public returns (bool)\n\t{\n\t\trequire(m_workerpool == msg.sender);\n\t\trequire(m_status == IexecLib.WorkOrderStatusEnum.REVEALING);\n\t\tm_status = IexecLib.WorkOrderStatusEnum.ACTIVE;\n\t\temit WorkOrderReActivated();\n\t\treturn true;\n\t}\n\n\n\tfunction claim() public onlyIexecHub\n\t{\n\t\trequire(m_status == IexecLib.WorkOrderStatusEnum.ACTIVE || m_status == IexecLib.WorkOrderStatusEnum.REVEALING);\n\t\tm_status = IexecLib.WorkOrderStatusEnum.CLAIMED;\n\t\temit WorkOrderClaimed();\n\t}\n\n\n\tfunction setResult(string _stdout, string _stderr, string _uri) public onlyIexecHub\n\t{\n\t\trequire(m_status == IexecLib.WorkOrderStatusEnum.REVEALING);\n\t\tm_status = IexecLib.WorkOrderStatusEnum.COMPLETED;\n\t\tm_stdout = _stdout;\n\t\tm_stderr = _stderr;\n\t\tm_uri = _uri;\n\t\tm_resultCallbackProof =keccak256(_stdout,_stderr,_uri);\n\t\temit WorkOrderCompleted();\n\t}\n\n}\n", + "sourcePath": "/Users/fbranci/iexecdev/PoCo/contracts/WorkOrder.sol", + "ast": { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/WorkOrder.sol", + "exportedSymbols": { + "WorkOrder": [ + 4299 + ] + }, + "id": 4300, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 4027, + "literals": [ + "solidity", + "^", + "0.4", + ".21" + ], + "nodeType": "PragmaDirective", + "src": "0:24:17" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/IexecLib.sol", + "file": "./IexecLib.sol", + "id": 4028, + "nodeType": "ImportDirective", + "scope": 4300, + "sourceUnit": 2894, + "src": "26:24:17", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 4299, + "linearizedBaseContracts": [ + 4299 + ], + "name": "WorkOrder", + "nodeType": "ContractDefinition", + "nodes": [ + { + "anonymous": false, + "documentation": null, + "id": 4030, + "name": "WorkOrderActivated", + "nodeType": "EventDefinition", + "parameters": { + "id": 4029, + "nodeType": "ParameterList", + "parameters": [], + "src": "99:2:17" + }, + "src": "75:27:17" + }, + { + "anonymous": false, + "documentation": null, + "id": 4032, + "name": "WorkOrderReActivated", + "nodeType": "EventDefinition", + "parameters": { + "id": 4031, + "nodeType": "ParameterList", + "parameters": [], + "src": "130:2:17" + }, + "src": "104:29:17" + }, + { + "anonymous": false, + "documentation": null, + "id": 4034, + "name": "WorkOrderRevealing", + "nodeType": "EventDefinition", + "parameters": { + "id": 4033, + "nodeType": "ParameterList", + "parameters": [], + "src": "159:2:17" + }, + "src": "135:27:17" + }, + { + "anonymous": false, + "documentation": null, + "id": 4036, + "name": "WorkOrderClaimed", + "nodeType": "EventDefinition", + "parameters": { + "id": 4035, + "nodeType": "ParameterList", + "parameters": [], + "src": "188:2:17" + }, + "src": "164:27:17" + }, + { + "anonymous": false, + "documentation": null, + "id": 4038, + "name": "WorkOrderCompleted", + "nodeType": "EventDefinition", + "parameters": { + "id": 4037, + "nodeType": "ParameterList", + "parameters": [], + "src": "217:2:17" + }, + "src": "193:27:17" + }, + { + "constant": false, + "id": 4040, + "name": "m_status", + "nodeType": "VariableDeclaration", + "scope": 4299, + "src": "245:44:17", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + }, + "typeName": { + "contractScope": null, + "id": 4039, + "name": "IexecLib.WorkOrderStatusEnum", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2832, + "src": "245:28:17", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 4042, + "name": "m_marketorderIdx", + "nodeType": "VariableDeclaration", + "scope": 4299, + "src": "293:31:17", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4041, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "293:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 4044, + "name": "m_app", + "nodeType": "VariableDeclaration", + "scope": 4299, + "src": "328:20:17", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4043, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "328:7:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 4046, + "name": "m_dataset", + "nodeType": "VariableDeclaration", + "scope": 4299, + "src": "351:24:17", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4045, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "351:7:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 4048, + "name": "m_workerpool", + "nodeType": "VariableDeclaration", + "scope": 4299, + "src": "378:27:17", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4047, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "378:7:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 4050, + "name": "m_requester", + "nodeType": "VariableDeclaration", + "scope": 4299, + "src": "408:26:17", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4049, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "408:7:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 4052, + "name": "m_emitcost", + "nodeType": "VariableDeclaration", + "scope": 4299, + "src": "438:25:17", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4051, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "438:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 4054, + "name": "m_params", + "nodeType": "VariableDeclaration", + "scope": 4299, + "src": "466:23:17", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + }, + "typeName": { + "id": 4053, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "466:6:17", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 4056, + "name": "m_callback", + "nodeType": "VariableDeclaration", + "scope": 4299, + "src": "492:25:17", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4055, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "492:7:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 4058, + "name": "m_beneficiary", + "nodeType": "VariableDeclaration", + "scope": 4299, + "src": "520:28:17", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4057, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "520:7:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 4060, + "name": "m_resultCallbackProof", + "nodeType": "VariableDeclaration", + "scope": 4299, + "src": "552:36:17", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4059, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "552:7:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 4062, + "name": "m_stdout", + "nodeType": "VariableDeclaration", + "scope": 4299, + "src": "591:23:17", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + }, + "typeName": { + "id": 4061, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "591:6:17", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 4064, + "name": "m_stderr", + "nodeType": "VariableDeclaration", + "scope": 4299, + "src": "617:23:17", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + }, + "typeName": { + "id": 4063, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "617:6:17", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 4066, + "name": "m_uri", + "nodeType": "VariableDeclaration", + "scope": 4299, + "src": "643:20:17", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + }, + "typeName": { + "id": 4065, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "643:6:17", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 4068, + "name": "m_iexecHubAddress", + "nodeType": "VariableDeclaration", + "scope": 4299, + "src": "667:32:17", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4067, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "667:7:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "body": { + "id": 4078, + "nodeType": "Block", + "src": "728:53:17", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 4074, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4071, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "740:3:17", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 4072, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "740:10:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 4073, + "name": "m_iexecHubAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4068, + "src": "754:17:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "740:31:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 4070, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "732:7:17", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 4075, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "732:40:17", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4076, + "nodeType": "ExpressionStatement", + "src": "732:40:17" + }, + { + "id": 4077, + "nodeType": "PlaceholderStatement", + "src": "776:1:17" + } + ] + }, + "documentation": null, + "id": 4079, + "name": "onlyIexecHub", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 4069, + "nodeType": "ParameterList", + "parameters": [], + "src": "724:2:17" + }, + "src": "703:78:17", + "visibility": "internal" + }, + { + "body": { + "id": 4155, + "nodeType": "Block", + "src": "1032:555:17", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 4103, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 4100, + "name": "m_iexecHubAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4068, + "src": "1036:17:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4101, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "1056:3:17", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 4102, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1056:10:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1036:30:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 4104, + "nodeType": "ExpressionStatement", + "src": "1036:30:17" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 4110, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 4106, + "name": "_requester", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4083, + "src": "1078:10:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 4108, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1100:1:17", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 4107, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1092:7:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 4109, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1092:10:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1078:24:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 4105, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "1070:7:17", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 4111, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1070:33:17", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4112, + "nodeType": "ExpressionStatement", + "src": "1070:33:17" + }, + { + "expression": { + "argumentTypes": null, + "id": 4117, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 4113, + "name": "m_status", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4040, + "src": "1107:8:17", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4114, + "name": "IexecLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2893, + "src": "1126:8:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecLib_$2893_$", + "typeString": "type(library IexecLib)" + } + }, + "id": 4115, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "WorkOrderStatusEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 2832, + "src": "1126:28:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_WorkOrderStatusEnum_$2832_$", + "typeString": "type(enum IexecLib.WorkOrderStatusEnum)" + } + }, + "id": 4116, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "ACTIVE", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1126:35:17", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "src": "1107:54:17", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "id": 4118, + "nodeType": "ExpressionStatement", + "src": "1107:54:17" + }, + { + "expression": { + "argumentTypes": null, + "id": 4121, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 4119, + "name": "m_marketorderIdx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4042, + "src": "1165:16:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 4120, + "name": "_marketorderIdx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4081, + "src": "1184:15:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1165:34:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4122, + "nodeType": "ExpressionStatement", + "src": "1165:34:17" + }, + { + "expression": { + "argumentTypes": null, + "id": 4125, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 4123, + "name": "m_app", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4044, + "src": "1203:5:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 4124, + "name": "_app", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4085, + "src": "1222:4:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1203:23:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 4126, + "nodeType": "ExpressionStatement", + "src": "1203:23:17" + }, + { + "expression": { + "argumentTypes": null, + "id": 4129, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 4127, + "name": "m_dataset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4046, + "src": "1230:9:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 4128, + "name": "_dataset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4087, + "src": "1249:8:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1230:27:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 4130, + "nodeType": "ExpressionStatement", + "src": "1230:27:17" + }, + { + "expression": { + "argumentTypes": null, + "id": 4133, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 4131, + "name": "m_workerpool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4048, + "src": "1261:12:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 4132, + "name": "_workerpool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4089, + "src": "1280:11:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1261:30:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 4134, + "nodeType": "ExpressionStatement", + "src": "1261:30:17" + }, + { + "expression": { + "argumentTypes": null, + "id": 4137, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 4135, + "name": "m_requester", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4050, + "src": "1295:11:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 4136, + "name": "_requester", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4083, + "src": "1314:10:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1295:29:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 4138, + "nodeType": "ExpressionStatement", + "src": "1295:29:17" + }, + { + "expression": { + "argumentTypes": null, + "id": 4141, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 4139, + "name": "m_emitcost", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4052, + "src": "1328:10:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 4140, + "name": "_emitcost", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4091, + "src": "1347:9:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1328:28:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4142, + "nodeType": "ExpressionStatement", + "src": "1328:28:17" + }, + { + "expression": { + "argumentTypes": null, + "id": 4145, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 4143, + "name": "m_params", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4054, + "src": "1360:8:17", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 4144, + "name": "_params", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4093, + "src": "1379:7:17", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "1360:26:17", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 4146, + "nodeType": "ExpressionStatement", + "src": "1360:26:17" + }, + { + "expression": { + "argumentTypes": null, + "id": 4149, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 4147, + "name": "m_callback", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4056, + "src": "1390:10:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 4148, + "name": "_callback", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4095, + "src": "1409:9:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1390:28:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 4150, + "nodeType": "ExpressionStatement", + "src": "1390:28:17" + }, + { + "expression": { + "argumentTypes": null, + "id": 4153, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 4151, + "name": "m_beneficiary", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4058, + "src": "1422:13:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 4152, + "name": "_beneficiary", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4097, + "src": "1441:12:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1422:31:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 4154, + "nodeType": "ExpressionStatement", + "src": "1422:31:17" + } + ] + }, + "documentation": "Constructor", + "id": 4156, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "WorkOrder", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4098, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4081, + "name": "_marketorderIdx", + "nodeType": "VariableDeclaration", + "scope": 4156, + "src": "832:23:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4080, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "832:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4083, + "name": "_requester", + "nodeType": "VariableDeclaration", + "scope": 4156, + "src": "859:18:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4082, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "859:7:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4085, + "name": "_app", + "nodeType": "VariableDeclaration", + "scope": 4156, + "src": "881:12:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4084, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "881:7:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4087, + "name": "_dataset", + "nodeType": "VariableDeclaration", + "scope": 4156, + "src": "897:16:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4086, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "897:7:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4089, + "name": "_workerpool", + "nodeType": "VariableDeclaration", + "scope": 4156, + "src": "917:19:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4088, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "917:7:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4091, + "name": "_emitcost", + "nodeType": "VariableDeclaration", + "scope": 4156, + "src": "940:17:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4090, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "940:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4093, + "name": "_params", + "nodeType": "VariableDeclaration", + "scope": 4156, + "src": "961:15:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 4092, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "961:6:17", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4095, + "name": "_callback", + "nodeType": "VariableDeclaration", + "scope": 4156, + "src": "980:17:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4094, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "980:7:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4097, + "name": "_beneficiary", + "nodeType": "VariableDeclaration", + "scope": 4156, + "src": "1001:20:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4096, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1001:7:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "828:194:17" + }, + "payable": false, + "returnParameters": { + "id": 4099, + "nodeType": "ParameterList", + "parameters": [], + "src": "1032:0:17" + }, + "scope": 4299, + "src": "810:777:17", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 4187, + "nodeType": "Block", + "src": "1644:200:17", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 4165, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 4162, + "name": "m_workerpool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4048, + "src": "1656:12:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4163, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "1672:3:17", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 4164, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1672:10:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1656:26:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 4161, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "1648:7:17", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 4166, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1648:35:17", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4167, + "nodeType": "ExpressionStatement", + "src": "1648:35:17" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + }, + "id": 4173, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 4169, + "name": "m_status", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4040, + "src": "1695:8:17", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4170, + "name": "IexecLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2893, + "src": "1707:8:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecLib_$2893_$", + "typeString": "type(library IexecLib)" + } + }, + "id": 4171, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "WorkOrderStatusEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 2832, + "src": "1707:28:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_WorkOrderStatusEnum_$2832_$", + "typeString": "type(enum IexecLib.WorkOrderStatusEnum)" + } + }, + "id": 4172, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "ACTIVE", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1707:35:17", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "src": "1695:47:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 4168, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "1687:7:17", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 4174, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1687:56:17", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4175, + "nodeType": "ExpressionStatement", + "src": "1687:56:17" + }, + { + "expression": { + "argumentTypes": null, + "id": 4180, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 4176, + "name": "m_status", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4040, + "src": "1747:8:17", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4177, + "name": "IexecLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2893, + "src": "1758:8:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecLib_$2893_$", + "typeString": "type(library IexecLib)" + } + }, + "id": 4178, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "WorkOrderStatusEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 2832, + "src": "1758:28:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_WorkOrderStatusEnum_$2832_$", + "typeString": "type(enum IexecLib.WorkOrderStatusEnum)" + } + }, + "id": 4179, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "REVEALING", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1758:38:17", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "src": "1747:49:17", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "id": 4181, + "nodeType": "ExpressionStatement", + "src": "1747:49:17" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4182, + "name": "WorkOrderRevealing", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4034, + "src": "1805:18:17", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 4183, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1805:20:17", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4184, + "nodeType": "EmitStatement", + "src": "1800:25:17" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 4185, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1836:4:17", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 4160, + "id": 4186, + "nodeType": "Return", + "src": "1829:11:17" + } + ] + }, + "documentation": null, + "id": 4188, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "startRevealingPhase", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4157, + "nodeType": "ParameterList", + "parameters": [], + "src": "1618:2:17" + }, + "payable": false, + "returnParameters": { + "id": 4160, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4159, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 4188, + "src": "1637:4:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 4158, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1637:4:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1636:6:17" + }, + "scope": 4299, + "src": "1590:254:17", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 4219, + "nodeType": "Block", + "src": "1892:202:17", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 4197, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 4194, + "name": "m_workerpool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4048, + "src": "1904:12:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4195, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "1920:3:17", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 4196, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1920:10:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1904:26:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 4193, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "1896:7:17", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 4198, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1896:35:17", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4199, + "nodeType": "ExpressionStatement", + "src": "1896:35:17" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + }, + "id": 4205, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 4201, + "name": "m_status", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4040, + "src": "1943:8:17", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4202, + "name": "IexecLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2893, + "src": "1955:8:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecLib_$2893_$", + "typeString": "type(library IexecLib)" + } + }, + "id": 4203, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "WorkOrderStatusEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 2832, + "src": "1955:28:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_WorkOrderStatusEnum_$2832_$", + "typeString": "type(enum IexecLib.WorkOrderStatusEnum)" + } + }, + "id": 4204, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "REVEALING", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1955:38:17", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "src": "1943:50:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 4200, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "1935:7:17", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 4206, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1935:59:17", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4207, + "nodeType": "ExpressionStatement", + "src": "1935:59:17" + }, + { + "expression": { + "argumentTypes": null, + "id": 4212, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 4208, + "name": "m_status", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4040, + "src": "1998:8:17", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4209, + "name": "IexecLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2893, + "src": "2009:8:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecLib_$2893_$", + "typeString": "type(library IexecLib)" + } + }, + "id": 4210, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "WorkOrderStatusEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 2832, + "src": "2009:28:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_WorkOrderStatusEnum_$2832_$", + "typeString": "type(enum IexecLib.WorkOrderStatusEnum)" + } + }, + "id": 4211, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "ACTIVE", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2009:35:17", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "src": "1998:46:17", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "id": 4213, + "nodeType": "ExpressionStatement", + "src": "1998:46:17" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4214, + "name": "WorkOrderReActivated", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4032, + "src": "2053:20:17", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 4215, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2053:22:17", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4216, + "nodeType": "EmitStatement", + "src": "2048:27:17" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 4217, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2086:4:17", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 4192, + "id": 4218, + "nodeType": "Return", + "src": "2079:11:17" + } + ] + }, + "documentation": null, + "id": 4220, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "reActivate", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4189, + "nodeType": "ParameterList", + "parameters": [], + "src": "1866:2:17" + }, + "payable": false, + "returnParameters": { + "id": 4192, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4191, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 4220, + "src": "1885:4:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 4190, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1885:4:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1884:6:17" + }, + "scope": 4299, + "src": "1847:247:17", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 4248, + "nodeType": "Block", + "src": "2136:196:17", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 4236, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + }, + "id": 4230, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 4226, + "name": "m_status", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4040, + "src": "2148:8:17", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4227, + "name": "IexecLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2893, + "src": "2160:8:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecLib_$2893_$", + "typeString": "type(library IexecLib)" + } + }, + "id": 4228, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "WorkOrderStatusEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 2832, + "src": "2160:28:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_WorkOrderStatusEnum_$2832_$", + "typeString": "type(enum IexecLib.WorkOrderStatusEnum)" + } + }, + "id": 4229, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "ACTIVE", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2160:35:17", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "src": "2148:47:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + }, + "id": 4235, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 4231, + "name": "m_status", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4040, + "src": "2199:8:17", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4232, + "name": "IexecLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2893, + "src": "2211:8:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecLib_$2893_$", + "typeString": "type(library IexecLib)" + } + }, + "id": 4233, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "WorkOrderStatusEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 2832, + "src": "2211:28:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_WorkOrderStatusEnum_$2832_$", + "typeString": "type(enum IexecLib.WorkOrderStatusEnum)" + } + }, + "id": 4234, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "REVEALING", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2211:38:17", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "src": "2199:50:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "2148:101:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 4225, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "2140:7:17", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 4237, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2140:110:17", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4238, + "nodeType": "ExpressionStatement", + "src": "2140:110:17" + }, + { + "expression": { + "argumentTypes": null, + "id": 4243, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 4239, + "name": "m_status", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4040, + "src": "2254:8:17", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4240, + "name": "IexecLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2893, + "src": "2265:8:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecLib_$2893_$", + "typeString": "type(library IexecLib)" + } + }, + "id": 4241, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "WorkOrderStatusEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 2832, + "src": "2265:28:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_WorkOrderStatusEnum_$2832_$", + "typeString": "type(enum IexecLib.WorkOrderStatusEnum)" + } + }, + "id": 4242, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "CLAIMED", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2265:36:17", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "src": "2254:47:17", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "id": 4244, + "nodeType": "ExpressionStatement", + "src": "2254:47:17" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4245, + "name": "WorkOrderClaimed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4036, + "src": "2310:16:17", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 4246, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2310:18:17", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4247, + "nodeType": "EmitStatement", + "src": "2305:23:17" + } + ] + }, + "documentation": null, + "id": 4249, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 4223, + "modifierName": { + "argumentTypes": null, + "id": 4222, + "name": "onlyIexecHub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4079, + "src": "2122:12:17", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "2122:12:17" + } + ], + "name": "claim", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4221, + "nodeType": "ParameterList", + "parameters": [], + "src": "2112:2:17" + }, + "payable": false, + "returnParameters": { + "id": 4224, + "nodeType": "ParameterList", + "parameters": [], + "src": "2136:0:17" + }, + "scope": 4299, + "src": "2098:234:17", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 4297, + "nodeType": "Block", + "src": "2421:270:17", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + }, + "id": 4265, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 4261, + "name": "m_status", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4040, + "src": "2433:8:17", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4262, + "name": "IexecLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2893, + "src": "2445:8:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecLib_$2893_$", + "typeString": "type(library IexecLib)" + } + }, + "id": 4263, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "WorkOrderStatusEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 2832, + "src": "2445:28:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_WorkOrderStatusEnum_$2832_$", + "typeString": "type(enum IexecLib.WorkOrderStatusEnum)" + } + }, + "id": 4264, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "REVEALING", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2445:38:17", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "src": "2433:50:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 4260, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "2425:7:17", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 4266, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2425:59:17", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4267, + "nodeType": "ExpressionStatement", + "src": "2425:59:17" + }, + { + "expression": { + "argumentTypes": null, + "id": 4272, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 4268, + "name": "m_status", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4040, + "src": "2488:8:17", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4269, + "name": "IexecLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2893, + "src": "2499:8:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecLib_$2893_$", + "typeString": "type(library IexecLib)" + } + }, + "id": 4270, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "WorkOrderStatusEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 2832, + "src": "2499:28:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_WorkOrderStatusEnum_$2832_$", + "typeString": "type(enum IexecLib.WorkOrderStatusEnum)" + } + }, + "id": 4271, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "COMPLETED", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2499:38:17", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "src": "2488:49:17", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "id": 4273, + "nodeType": "ExpressionStatement", + "src": "2488:49:17" + }, + { + "expression": { + "argumentTypes": null, + "id": 4276, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 4274, + "name": "m_stdout", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4062, + "src": "2541:8:17", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 4275, + "name": "_stdout", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4251, + "src": "2552:7:17", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "2541:18:17", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 4277, + "nodeType": "ExpressionStatement", + "src": "2541:18:17" + }, + { + "expression": { + "argumentTypes": null, + "id": 4280, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 4278, + "name": "m_stderr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4064, + "src": "2563:8:17", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 4279, + "name": "_stderr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4253, + "src": "2574:7:17", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "2563:18:17", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 4281, + "nodeType": "ExpressionStatement", + "src": "2563:18:17" + }, + { + "expression": { + "argumentTypes": null, + "id": 4284, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 4282, + "name": "m_uri", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4066, + "src": "2585:5:17", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 4283, + "name": "_uri", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4255, + "src": "2596:4:17", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "2585:15:17", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 4285, + "nodeType": "ExpressionStatement", + "src": "2585:15:17" + }, + { + "expression": { + "argumentTypes": null, + "id": 4292, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 4286, + "name": "m_resultCallbackProof", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4060, + "src": "2604:21:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4288, + "name": "_stdout", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4251, + "src": "2637:7:17", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "id": 4289, + "name": "_stderr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4253, + "src": "2645:7:17", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "id": 4290, + "name": "_uri", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4255, + "src": "2653:4:17", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 4287, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7002, + "src": "2627:9:17", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 4291, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2627:31:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "2604:54:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 4293, + "nodeType": "ExpressionStatement", + "src": "2604:54:17" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4294, + "name": "WorkOrderCompleted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4038, + "src": "2667:18:17", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 4295, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2667:20:17", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4296, + "nodeType": "EmitStatement", + "src": "2662:25:17" + } + ] + }, + "documentation": null, + "id": 4298, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 4258, + "modifierName": { + "argumentTypes": null, + "id": 4257, + "name": "onlyIexecHub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4079, + "src": "2407:12:17", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "2407:12:17" + } + ], + "name": "setResult", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4256, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4251, + "name": "_stdout", + "nodeType": "VariableDeclaration", + "scope": 4298, + "src": "2355:14:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 4250, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2355:6:17", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4253, + "name": "_stderr", + "nodeType": "VariableDeclaration", + "scope": 4298, + "src": "2371:14:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 4252, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2371:6:17", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4255, + "name": "_uri", + "nodeType": "VariableDeclaration", + "scope": 4298, + "src": "2387:11:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 4254, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2387:6:17", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2354:45:17" + }, + "payable": false, + "returnParameters": { + "id": 4259, + "nodeType": "ParameterList", + "parameters": [], + "src": "2421:0:17" + }, + "scope": 4299, + "src": "2336:355:17", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 4300, + "src": "51:2643:17" + } + ], + "src": "0:2695:17" + }, + "legacyAST": { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/WorkOrder.sol", + "exportedSymbols": { + "WorkOrder": [ + 4299 + ] + }, + "id": 4300, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 4027, + "literals": [ + "solidity", + "^", + "0.4", + ".21" + ], + "nodeType": "PragmaDirective", + "src": "0:24:17" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/IexecLib.sol", + "file": "./IexecLib.sol", + "id": 4028, + "nodeType": "ImportDirective", + "scope": 4300, + "sourceUnit": 2894, + "src": "26:24:17", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 4299, + "linearizedBaseContracts": [ + 4299 + ], + "name": "WorkOrder", + "nodeType": "ContractDefinition", + "nodes": [ + { + "anonymous": false, + "documentation": null, + "id": 4030, + "name": "WorkOrderActivated", + "nodeType": "EventDefinition", + "parameters": { + "id": 4029, + "nodeType": "ParameterList", + "parameters": [], + "src": "99:2:17" + }, + "src": "75:27:17" + }, + { + "anonymous": false, + "documentation": null, + "id": 4032, + "name": "WorkOrderReActivated", + "nodeType": "EventDefinition", + "parameters": { + "id": 4031, + "nodeType": "ParameterList", + "parameters": [], + "src": "130:2:17" + }, + "src": "104:29:17" + }, + { + "anonymous": false, + "documentation": null, + "id": 4034, + "name": "WorkOrderRevealing", + "nodeType": "EventDefinition", + "parameters": { + "id": 4033, + "nodeType": "ParameterList", + "parameters": [], + "src": "159:2:17" + }, + "src": "135:27:17" + }, + { + "anonymous": false, + "documentation": null, + "id": 4036, + "name": "WorkOrderClaimed", + "nodeType": "EventDefinition", + "parameters": { + "id": 4035, + "nodeType": "ParameterList", + "parameters": [], + "src": "188:2:17" + }, + "src": "164:27:17" + }, + { + "anonymous": false, + "documentation": null, + "id": 4038, + "name": "WorkOrderCompleted", + "nodeType": "EventDefinition", + "parameters": { + "id": 4037, + "nodeType": "ParameterList", + "parameters": [], + "src": "217:2:17" + }, + "src": "193:27:17" + }, + { + "constant": false, + "id": 4040, + "name": "m_status", + "nodeType": "VariableDeclaration", + "scope": 4299, + "src": "245:44:17", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + }, + "typeName": { + "contractScope": null, + "id": 4039, + "name": "IexecLib.WorkOrderStatusEnum", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2832, + "src": "245:28:17", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 4042, + "name": "m_marketorderIdx", + "nodeType": "VariableDeclaration", + "scope": 4299, + "src": "293:31:17", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4041, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "293:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 4044, + "name": "m_app", + "nodeType": "VariableDeclaration", + "scope": 4299, + "src": "328:20:17", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4043, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "328:7:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 4046, + "name": "m_dataset", + "nodeType": "VariableDeclaration", + "scope": 4299, + "src": "351:24:17", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4045, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "351:7:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 4048, + "name": "m_workerpool", + "nodeType": "VariableDeclaration", + "scope": 4299, + "src": "378:27:17", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4047, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "378:7:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 4050, + "name": "m_requester", + "nodeType": "VariableDeclaration", + "scope": 4299, + "src": "408:26:17", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4049, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "408:7:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 4052, + "name": "m_emitcost", + "nodeType": "VariableDeclaration", + "scope": 4299, + "src": "438:25:17", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4051, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "438:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 4054, + "name": "m_params", + "nodeType": "VariableDeclaration", + "scope": 4299, + "src": "466:23:17", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + }, + "typeName": { + "id": 4053, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "466:6:17", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 4056, + "name": "m_callback", + "nodeType": "VariableDeclaration", + "scope": 4299, + "src": "492:25:17", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4055, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "492:7:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 4058, + "name": "m_beneficiary", + "nodeType": "VariableDeclaration", + "scope": 4299, + "src": "520:28:17", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4057, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "520:7:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 4060, + "name": "m_resultCallbackProof", + "nodeType": "VariableDeclaration", + "scope": 4299, + "src": "552:36:17", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4059, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "552:7:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 4062, + "name": "m_stdout", + "nodeType": "VariableDeclaration", + "scope": 4299, + "src": "591:23:17", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + }, + "typeName": { + "id": 4061, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "591:6:17", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 4064, + "name": "m_stderr", + "nodeType": "VariableDeclaration", + "scope": 4299, + "src": "617:23:17", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + }, + "typeName": { + "id": 4063, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "617:6:17", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 4066, + "name": "m_uri", + "nodeType": "VariableDeclaration", + "scope": 4299, + "src": "643:20:17", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + }, + "typeName": { + "id": 4065, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "643:6:17", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 4068, + "name": "m_iexecHubAddress", + "nodeType": "VariableDeclaration", + "scope": 4299, + "src": "667:32:17", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4067, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "667:7:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "body": { + "id": 4078, + "nodeType": "Block", + "src": "728:53:17", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 4074, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4071, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "740:3:17", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 4072, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "740:10:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 4073, + "name": "m_iexecHubAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4068, + "src": "754:17:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "740:31:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 4070, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "732:7:17", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 4075, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "732:40:17", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4076, + "nodeType": "ExpressionStatement", + "src": "732:40:17" + }, + { + "id": 4077, + "nodeType": "PlaceholderStatement", + "src": "776:1:17" + } + ] + }, + "documentation": null, + "id": 4079, + "name": "onlyIexecHub", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 4069, + "nodeType": "ParameterList", + "parameters": [], + "src": "724:2:17" + }, + "src": "703:78:17", + "visibility": "internal" + }, + { + "body": { + "id": 4155, + "nodeType": "Block", + "src": "1032:555:17", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 4103, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 4100, + "name": "m_iexecHubAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4068, + "src": "1036:17:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4101, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "1056:3:17", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 4102, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1056:10:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1036:30:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 4104, + "nodeType": "ExpressionStatement", + "src": "1036:30:17" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 4110, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 4106, + "name": "_requester", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4083, + "src": "1078:10:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 4108, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1100:1:17", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 4107, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1092:7:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 4109, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1092:10:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1078:24:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 4105, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "1070:7:17", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 4111, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1070:33:17", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4112, + "nodeType": "ExpressionStatement", + "src": "1070:33:17" + }, + { + "expression": { + "argumentTypes": null, + "id": 4117, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 4113, + "name": "m_status", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4040, + "src": "1107:8:17", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4114, + "name": "IexecLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2893, + "src": "1126:8:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecLib_$2893_$", + "typeString": "type(library IexecLib)" + } + }, + "id": 4115, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "WorkOrderStatusEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 2832, + "src": "1126:28:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_WorkOrderStatusEnum_$2832_$", + "typeString": "type(enum IexecLib.WorkOrderStatusEnum)" + } + }, + "id": 4116, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "ACTIVE", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1126:35:17", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "src": "1107:54:17", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "id": 4118, + "nodeType": "ExpressionStatement", + "src": "1107:54:17" + }, + { + "expression": { + "argumentTypes": null, + "id": 4121, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 4119, + "name": "m_marketorderIdx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4042, + "src": "1165:16:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 4120, + "name": "_marketorderIdx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4081, + "src": "1184:15:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1165:34:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4122, + "nodeType": "ExpressionStatement", + "src": "1165:34:17" + }, + { + "expression": { + "argumentTypes": null, + "id": 4125, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 4123, + "name": "m_app", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4044, + "src": "1203:5:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 4124, + "name": "_app", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4085, + "src": "1222:4:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1203:23:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 4126, + "nodeType": "ExpressionStatement", + "src": "1203:23:17" + }, + { + "expression": { + "argumentTypes": null, + "id": 4129, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 4127, + "name": "m_dataset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4046, + "src": "1230:9:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 4128, + "name": "_dataset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4087, + "src": "1249:8:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1230:27:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 4130, + "nodeType": "ExpressionStatement", + "src": "1230:27:17" + }, + { + "expression": { + "argumentTypes": null, + "id": 4133, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 4131, + "name": "m_workerpool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4048, + "src": "1261:12:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 4132, + "name": "_workerpool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4089, + "src": "1280:11:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1261:30:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 4134, + "nodeType": "ExpressionStatement", + "src": "1261:30:17" + }, + { + "expression": { + "argumentTypes": null, + "id": 4137, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 4135, + "name": "m_requester", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4050, + "src": "1295:11:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 4136, + "name": "_requester", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4083, + "src": "1314:10:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1295:29:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 4138, + "nodeType": "ExpressionStatement", + "src": "1295:29:17" + }, + { + "expression": { + "argumentTypes": null, + "id": 4141, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 4139, + "name": "m_emitcost", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4052, + "src": "1328:10:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 4140, + "name": "_emitcost", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4091, + "src": "1347:9:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1328:28:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4142, + "nodeType": "ExpressionStatement", + "src": "1328:28:17" + }, + { + "expression": { + "argumentTypes": null, + "id": 4145, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 4143, + "name": "m_params", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4054, + "src": "1360:8:17", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 4144, + "name": "_params", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4093, + "src": "1379:7:17", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "1360:26:17", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 4146, + "nodeType": "ExpressionStatement", + "src": "1360:26:17" + }, + { + "expression": { + "argumentTypes": null, + "id": 4149, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 4147, + "name": "m_callback", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4056, + "src": "1390:10:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 4148, + "name": "_callback", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4095, + "src": "1409:9:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1390:28:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 4150, + "nodeType": "ExpressionStatement", + "src": "1390:28:17" + }, + { + "expression": { + "argumentTypes": null, + "id": 4153, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 4151, + "name": "m_beneficiary", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4058, + "src": "1422:13:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 4152, + "name": "_beneficiary", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4097, + "src": "1441:12:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1422:31:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 4154, + "nodeType": "ExpressionStatement", + "src": "1422:31:17" + } + ] + }, + "documentation": "Constructor", + "id": 4156, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "WorkOrder", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4098, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4081, + "name": "_marketorderIdx", + "nodeType": "VariableDeclaration", + "scope": 4156, + "src": "832:23:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4080, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "832:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4083, + "name": "_requester", + "nodeType": "VariableDeclaration", + "scope": 4156, + "src": "859:18:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4082, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "859:7:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4085, + "name": "_app", + "nodeType": "VariableDeclaration", + "scope": 4156, + "src": "881:12:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4084, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "881:7:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4087, + "name": "_dataset", + "nodeType": "VariableDeclaration", + "scope": 4156, + "src": "897:16:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4086, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "897:7:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4089, + "name": "_workerpool", + "nodeType": "VariableDeclaration", + "scope": 4156, + "src": "917:19:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4088, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "917:7:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4091, + "name": "_emitcost", + "nodeType": "VariableDeclaration", + "scope": 4156, + "src": "940:17:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4090, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "940:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4093, + "name": "_params", + "nodeType": "VariableDeclaration", + "scope": 4156, + "src": "961:15:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 4092, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "961:6:17", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4095, + "name": "_callback", + "nodeType": "VariableDeclaration", + "scope": 4156, + "src": "980:17:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4094, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "980:7:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4097, + "name": "_beneficiary", + "nodeType": "VariableDeclaration", + "scope": 4156, + "src": "1001:20:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4096, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1001:7:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "828:194:17" + }, + "payable": false, + "returnParameters": { + "id": 4099, + "nodeType": "ParameterList", + "parameters": [], + "src": "1032:0:17" + }, + "scope": 4299, + "src": "810:777:17", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 4187, + "nodeType": "Block", + "src": "1644:200:17", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 4165, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 4162, + "name": "m_workerpool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4048, + "src": "1656:12:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4163, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "1672:3:17", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 4164, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1672:10:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1656:26:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 4161, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "1648:7:17", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 4166, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1648:35:17", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4167, + "nodeType": "ExpressionStatement", + "src": "1648:35:17" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + }, + "id": 4173, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 4169, + "name": "m_status", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4040, + "src": "1695:8:17", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4170, + "name": "IexecLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2893, + "src": "1707:8:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecLib_$2893_$", + "typeString": "type(library IexecLib)" + } + }, + "id": 4171, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "WorkOrderStatusEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 2832, + "src": "1707:28:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_WorkOrderStatusEnum_$2832_$", + "typeString": "type(enum IexecLib.WorkOrderStatusEnum)" + } + }, + "id": 4172, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "ACTIVE", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1707:35:17", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "src": "1695:47:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 4168, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "1687:7:17", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 4174, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1687:56:17", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4175, + "nodeType": "ExpressionStatement", + "src": "1687:56:17" + }, + { + "expression": { + "argumentTypes": null, + "id": 4180, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 4176, + "name": "m_status", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4040, + "src": "1747:8:17", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4177, + "name": "IexecLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2893, + "src": "1758:8:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecLib_$2893_$", + "typeString": "type(library IexecLib)" + } + }, + "id": 4178, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "WorkOrderStatusEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 2832, + "src": "1758:28:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_WorkOrderStatusEnum_$2832_$", + "typeString": "type(enum IexecLib.WorkOrderStatusEnum)" + } + }, + "id": 4179, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "REVEALING", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1758:38:17", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "src": "1747:49:17", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "id": 4181, + "nodeType": "ExpressionStatement", + "src": "1747:49:17" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4182, + "name": "WorkOrderRevealing", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4034, + "src": "1805:18:17", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 4183, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1805:20:17", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4184, + "nodeType": "EmitStatement", + "src": "1800:25:17" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 4185, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1836:4:17", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 4160, + "id": 4186, + "nodeType": "Return", + "src": "1829:11:17" + } + ] + }, + "documentation": null, + "id": 4188, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "startRevealingPhase", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4157, + "nodeType": "ParameterList", + "parameters": [], + "src": "1618:2:17" + }, + "payable": false, + "returnParameters": { + "id": 4160, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4159, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 4188, + "src": "1637:4:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 4158, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1637:4:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1636:6:17" + }, + "scope": 4299, + "src": "1590:254:17", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 4219, + "nodeType": "Block", + "src": "1892:202:17", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 4197, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 4194, + "name": "m_workerpool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4048, + "src": "1904:12:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4195, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "1920:3:17", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 4196, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1920:10:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1904:26:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 4193, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "1896:7:17", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 4198, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1896:35:17", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4199, + "nodeType": "ExpressionStatement", + "src": "1896:35:17" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + }, + "id": 4205, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 4201, + "name": "m_status", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4040, + "src": "1943:8:17", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4202, + "name": "IexecLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2893, + "src": "1955:8:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecLib_$2893_$", + "typeString": "type(library IexecLib)" + } + }, + "id": 4203, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "WorkOrderStatusEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 2832, + "src": "1955:28:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_WorkOrderStatusEnum_$2832_$", + "typeString": "type(enum IexecLib.WorkOrderStatusEnum)" + } + }, + "id": 4204, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "REVEALING", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1955:38:17", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "src": "1943:50:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 4200, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "1935:7:17", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 4206, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1935:59:17", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4207, + "nodeType": "ExpressionStatement", + "src": "1935:59:17" + }, + { + "expression": { + "argumentTypes": null, + "id": 4212, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 4208, + "name": "m_status", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4040, + "src": "1998:8:17", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4209, + "name": "IexecLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2893, + "src": "2009:8:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecLib_$2893_$", + "typeString": "type(library IexecLib)" + } + }, + "id": 4210, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "WorkOrderStatusEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 2832, + "src": "2009:28:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_WorkOrderStatusEnum_$2832_$", + "typeString": "type(enum IexecLib.WorkOrderStatusEnum)" + } + }, + "id": 4211, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "ACTIVE", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2009:35:17", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "src": "1998:46:17", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "id": 4213, + "nodeType": "ExpressionStatement", + "src": "1998:46:17" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4214, + "name": "WorkOrderReActivated", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4032, + "src": "2053:20:17", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 4215, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2053:22:17", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4216, + "nodeType": "EmitStatement", + "src": "2048:27:17" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 4217, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2086:4:17", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 4192, + "id": 4218, + "nodeType": "Return", + "src": "2079:11:17" + } + ] + }, + "documentation": null, + "id": 4220, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "reActivate", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4189, + "nodeType": "ParameterList", + "parameters": [], + "src": "1866:2:17" + }, + "payable": false, + "returnParameters": { + "id": 4192, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4191, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 4220, + "src": "1885:4:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 4190, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1885:4:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1884:6:17" + }, + "scope": 4299, + "src": "1847:247:17", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 4248, + "nodeType": "Block", + "src": "2136:196:17", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 4236, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + }, + "id": 4230, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 4226, + "name": "m_status", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4040, + "src": "2148:8:17", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4227, + "name": "IexecLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2893, + "src": "2160:8:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecLib_$2893_$", + "typeString": "type(library IexecLib)" + } + }, + "id": 4228, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "WorkOrderStatusEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 2832, + "src": "2160:28:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_WorkOrderStatusEnum_$2832_$", + "typeString": "type(enum IexecLib.WorkOrderStatusEnum)" + } + }, + "id": 4229, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "ACTIVE", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2160:35:17", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "src": "2148:47:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + }, + "id": 4235, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 4231, + "name": "m_status", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4040, + "src": "2199:8:17", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4232, + "name": "IexecLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2893, + "src": "2211:8:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecLib_$2893_$", + "typeString": "type(library IexecLib)" + } + }, + "id": 4233, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "WorkOrderStatusEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 2832, + "src": "2211:28:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_WorkOrderStatusEnum_$2832_$", + "typeString": "type(enum IexecLib.WorkOrderStatusEnum)" + } + }, + "id": 4234, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "REVEALING", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2211:38:17", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "src": "2199:50:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "2148:101:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 4225, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "2140:7:17", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 4237, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2140:110:17", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4238, + "nodeType": "ExpressionStatement", + "src": "2140:110:17" + }, + { + "expression": { + "argumentTypes": null, + "id": 4243, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 4239, + "name": "m_status", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4040, + "src": "2254:8:17", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4240, + "name": "IexecLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2893, + "src": "2265:8:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecLib_$2893_$", + "typeString": "type(library IexecLib)" + } + }, + "id": 4241, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "WorkOrderStatusEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 2832, + "src": "2265:28:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_WorkOrderStatusEnum_$2832_$", + "typeString": "type(enum IexecLib.WorkOrderStatusEnum)" + } + }, + "id": 4242, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "CLAIMED", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2265:36:17", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "src": "2254:47:17", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "id": 4244, + "nodeType": "ExpressionStatement", + "src": "2254:47:17" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4245, + "name": "WorkOrderClaimed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4036, + "src": "2310:16:17", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 4246, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2310:18:17", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4247, + "nodeType": "EmitStatement", + "src": "2305:23:17" + } + ] + }, + "documentation": null, + "id": 4249, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 4223, + "modifierName": { + "argumentTypes": null, + "id": 4222, + "name": "onlyIexecHub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4079, + "src": "2122:12:17", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "2122:12:17" + } + ], + "name": "claim", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4221, + "nodeType": "ParameterList", + "parameters": [], + "src": "2112:2:17" + }, + "payable": false, + "returnParameters": { + "id": 4224, + "nodeType": "ParameterList", + "parameters": [], + "src": "2136:0:17" + }, + "scope": 4299, + "src": "2098:234:17", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 4297, + "nodeType": "Block", + "src": "2421:270:17", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + }, + "id": 4265, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 4261, + "name": "m_status", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4040, + "src": "2433:8:17", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4262, + "name": "IexecLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2893, + "src": "2445:8:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecLib_$2893_$", + "typeString": "type(library IexecLib)" + } + }, + "id": 4263, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "WorkOrderStatusEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 2832, + "src": "2445:28:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_WorkOrderStatusEnum_$2832_$", + "typeString": "type(enum IexecLib.WorkOrderStatusEnum)" + } + }, + "id": 4264, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "REVEALING", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2445:38:17", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "src": "2433:50:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 4260, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "2425:7:17", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 4266, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2425:59:17", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4267, + "nodeType": "ExpressionStatement", + "src": "2425:59:17" + }, + { + "expression": { + "argumentTypes": null, + "id": 4272, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 4268, + "name": "m_status", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4040, + "src": "2488:8:17", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4269, + "name": "IexecLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2893, + "src": "2499:8:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecLib_$2893_$", + "typeString": "type(library IexecLib)" + } + }, + "id": 4270, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "WorkOrderStatusEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 2832, + "src": "2499:28:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_WorkOrderStatusEnum_$2832_$", + "typeString": "type(enum IexecLib.WorkOrderStatusEnum)" + } + }, + "id": 4271, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "COMPLETED", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2499:38:17", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "src": "2488:49:17", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "id": 4273, + "nodeType": "ExpressionStatement", + "src": "2488:49:17" + }, + { + "expression": { + "argumentTypes": null, + "id": 4276, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 4274, + "name": "m_stdout", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4062, + "src": "2541:8:17", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 4275, + "name": "_stdout", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4251, + "src": "2552:7:17", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "2541:18:17", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 4277, + "nodeType": "ExpressionStatement", + "src": "2541:18:17" + }, + { + "expression": { + "argumentTypes": null, + "id": 4280, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 4278, + "name": "m_stderr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4064, + "src": "2563:8:17", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 4279, + "name": "_stderr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4253, + "src": "2574:7:17", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "2563:18:17", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 4281, + "nodeType": "ExpressionStatement", + "src": "2563:18:17" + }, + { + "expression": { + "argumentTypes": null, + "id": 4284, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 4282, + "name": "m_uri", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4066, + "src": "2585:5:17", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 4283, + "name": "_uri", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4255, + "src": "2596:4:17", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "2585:15:17", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 4285, + "nodeType": "ExpressionStatement", + "src": "2585:15:17" + }, + { + "expression": { + "argumentTypes": null, + "id": 4292, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 4286, + "name": "m_resultCallbackProof", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4060, + "src": "2604:21:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4288, + "name": "_stdout", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4251, + "src": "2637:7:17", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "id": 4289, + "name": "_stderr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4253, + "src": "2645:7:17", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "id": 4290, + "name": "_uri", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4255, + "src": "2653:4:17", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 4287, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7002, + "src": "2627:9:17", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 4291, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2627:31:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "2604:54:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 4293, + "nodeType": "ExpressionStatement", + "src": "2604:54:17" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4294, + "name": "WorkOrderCompleted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4038, + "src": "2667:18:17", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 4295, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2667:20:17", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4296, + "nodeType": "EmitStatement", + "src": "2662:25:17" + } + ] + }, + "documentation": null, + "id": 4298, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 4258, + "modifierName": { + "argumentTypes": null, + "id": 4257, + "name": "onlyIexecHub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4079, + "src": "2407:12:17", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "2407:12:17" + } + ], + "name": "setResult", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4256, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4251, + "name": "_stdout", + "nodeType": "VariableDeclaration", + "scope": 4298, + "src": "2355:14:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 4250, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2355:6:17", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4253, + "name": "_stderr", + "nodeType": "VariableDeclaration", + "scope": 4298, + "src": "2371:14:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 4252, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2371:6:17", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4255, + "name": "_uri", + "nodeType": "VariableDeclaration", + "scope": 4298, + "src": "2387:11:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 4254, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2387:6:17", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2354:45:17" + }, + "payable": false, + "returnParameters": { + "id": 4259, + "nodeType": "ParameterList", + "parameters": [], + "src": "2421:0:17" + }, + "scope": 4299, + "src": "2336:355:17", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 4300, + "src": "51:2643:17" + } + ], + "src": "0:2695:17" + }, + "compiler": { + "name": "solc", + "version": "0.4.21+commit.dfe3193c.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "2.0.0", + "updatedAt": "2018-06-12T14:56:21.151Z" +} \ No newline at end of file diff --git a/deployed/contracts/WorkerPool.json b/deployed/contracts/WorkerPool.json new file mode 100644 index 00000000..93728c7a --- /dev/null +++ b/deployed/contracts/WorkerPool.json @@ -0,0 +1,48222 @@ +{ + "contractName": "WorkerPool", + "abi": [ + { + "constant": true, + "inputs": [ + { + "name": "", + "type": "address" + } + ], + "name": "m_consensus", + "outputs": [ + { + "name": "poolReward", + "type": "uint256" + }, + { + "name": "stakeAmount", + "type": "uint256" + }, + { + "name": "consensus", + "type": "bytes32" + }, + { + "name": "revealDate", + "type": "uint256" + }, + { + "name": "revealCounter", + "type": "uint256" + }, + { + "name": "consensusTimeout", + "type": "uint256" + }, + { + "name": "winnerCount", + "type": "uint256" + }, + { + "name": "workerpoolOwner", + "type": "address" + }, + { + "name": "schedulerRewardRatioPolicy", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "", + "type": "uint256" + } + ], + "name": "m_workers", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "", + "type": "address" + } + ], + "name": "m_workerIndex", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "CONSENSUS_DURATION_RATIO", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "m_subscriptionMinimumStakePolicy", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "", + "type": "address" + }, + { + "name": "", + "type": "address" + } + ], + "name": "m_contributions", + "outputs": [ + { + "name": "status", + "type": "uint8" + }, + { + "name": "resultHash", + "type": "bytes32" + }, + { + "name": "resultSign", + "type": "bytes32" + }, + { + "name": "enclaveChallenge", + "type": "address" + }, + { + "name": "score", + "type": "uint256" + }, + { + "name": "weight", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "m_schedulerRewardRatioPolicy", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "m_description", + "outputs": [ + { + "name": "", + "type": "string" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "m_workerPoolHubAddress", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_newOwner", + "type": "address" + } + ], + "name": "setImmutableOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "m_stakeRatioPolicy", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "m_subscriptionMinimumScorePolicy", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "m_owner", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "m_changeable", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "m_subscriptionLockStakePolicy", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "REVEAL_PERIOD_DURATION_RATIO", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "name": "_iexecHubAddress", + "type": "address" + }, + { + "name": "_description", + "type": "string" + }, + { + "name": "_subscriptionLockStakePolicy", + "type": "uint256" + }, + { + "name": "_subscriptionMinimumStakePolicy", + "type": "uint256" + }, + { + "name": "_subscriptionMinimumScorePolicy", + "type": "uint256" + }, + { + "name": "_marketplaceAddress", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "oldStakeRatioPolicy", + "type": "uint256" + }, + { + "indexed": false, + "name": "newStakeRatioPolicy", + "type": "uint256" + }, + { + "indexed": false, + "name": "oldSchedulerRewardRatioPolicy", + "type": "uint256" + }, + { + "indexed": false, + "name": "newSchedulerRewardRatioPolicy", + "type": "uint256" + }, + { + "indexed": false, + "name": "oldSubscriptionMinimumStakePolicy", + "type": "uint256" + }, + { + "indexed": false, + "name": "newSubscriptionMinimumStakePolicy", + "type": "uint256" + }, + { + "indexed": false, + "name": "oldSubscriptionMinimumScorePolicy", + "type": "uint256" + }, + { + "indexed": false, + "name": "newSubscriptionMinimumScorePolicy", + "type": "uint256" + } + ], + "name": "WorkerPoolPolicyUpdate", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "woid", + "type": "address" + } + ], + "name": "WorkOrderActive", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "woid", + "type": "address" + } + ], + "name": "WorkOrderClaimed", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "woid", + "type": "address" + }, + { + "indexed": true, + "name": "worker", + "type": "address" + }, + { + "indexed": false, + "name": "workerScore", + "type": "uint256" + } + ], + "name": "AllowWorkerToContribute", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "woid", + "type": "address" + }, + { + "indexed": true, + "name": "worker", + "type": "address" + }, + { + "indexed": false, + "name": "resultHash", + "type": "bytes32" + } + ], + "name": "Contribute", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "woid", + "type": "address" + }, + { + "indexed": false, + "name": "consensus", + "type": "bytes32" + } + ], + "name": "RevealConsensus", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "woid", + "type": "address" + }, + { + "indexed": true, + "name": "worker", + "type": "address" + }, + { + "indexed": false, + "name": "result", + "type": "bytes32" + } + ], + "name": "Reveal", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "woid", + "type": "address" + } + ], + "name": "Reopen", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "woid", + "type": "address" + }, + { + "indexed": false, + "name": "stdout", + "type": "string" + }, + { + "indexed": false, + "name": "stderr", + "type": "string" + }, + { + "indexed": false, + "name": "uri", + "type": "string" + } + ], + "name": "FinalizeWork", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "worker", + "type": "address" + } + ], + "name": "WorkerSubscribe", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "worker", + "type": "address" + } + ], + "name": "WorkerUnsubscribe", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "worker", + "type": "address" + } + ], + "name": "WorkerEviction", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "constant": false, + "inputs": [ + { + "name": "_newStakeRatioPolicy", + "type": "uint256" + }, + { + "name": "_newSchedulerRewardRatioPolicy", + "type": "uint256" + }, + { + "name": "_newSubscriptionMinimumStakePolicy", + "type": "uint256" + }, + { + "name": "_newSubscriptionMinimumScorePolicy", + "type": "uint256" + } + ], + "name": "changeWorkerPoolPolicy", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_index", + "type": "uint256" + } + ], + "name": "getWorkerAddress", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_worker", + "type": "address" + } + ], + "name": "getWorkerIndex", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "getWorkersCount", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "subscribeToPool", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "unsubscribeFromPool", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_worker", + "type": "address" + } + ], + "name": "evictWorker", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_woid", + "type": "address" + } + ], + "name": "getConsensusDetails", + "outputs": [ + { + "name": "c_poolReward", + "type": "uint256" + }, + { + "name": "c_stakeAmount", + "type": "uint256" + }, + { + "name": "c_consensus", + "type": "bytes32" + }, + { + "name": "c_revealDate", + "type": "uint256" + }, + { + "name": "c_revealCounter", + "type": "uint256" + }, + { + "name": "c_consensusTimeout", + "type": "uint256" + }, + { + "name": "c_winnerCount", + "type": "uint256" + }, + { + "name": "c_workerpoolOwner", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_woid", + "type": "address" + } + ], + "name": "getContributorsCount", + "outputs": [ + { + "name": "contributorsCount", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_woid", + "type": "address" + }, + { + "name": "index", + "type": "uint256" + } + ], + "name": "getContributor", + "outputs": [ + { + "name": "contributor", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_woid", + "type": "address" + }, + { + "name": "_worker", + "type": "address" + } + ], + "name": "existingContribution", + "outputs": [ + { + "name": "contributionExist", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_woid", + "type": "address" + }, + { + "name": "_worker", + "type": "address" + } + ], + "name": "getContribution", + "outputs": [ + { + "name": "status", + "type": "uint8" + }, + { + "name": "resultHash", + "type": "bytes32" + }, + { + "name": "resultSign", + "type": "bytes32" + }, + { + "name": "enclaveChallenge", + "type": "address" + }, + { + "name": "score", + "type": "uint256" + }, + { + "name": "weight", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_woid", + "type": "address" + }, + { + "name": "_marketorderIdx", + "type": "uint256" + } + ], + "name": "emitWorkOrder", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_woid", + "type": "address" + } + ], + "name": "claimFailedConsensus", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_woid", + "type": "address" + }, + { + "name": "_workers", + "type": "address[]" + }, + { + "name": "_enclaveChallenge", + "type": "address" + } + ], + "name": "allowWorkersToContribute", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_woid", + "type": "address" + }, + { + "name": "_worker", + "type": "address" + }, + { + "name": "_enclaveChallenge", + "type": "address" + } + ], + "name": "allowWorkerToContribute", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_woid", + "type": "address" + }, + { + "name": "_resultHash", + "type": "bytes32" + }, + { + "name": "_resultSign", + "type": "bytes32" + }, + { + "name": "_v", + "type": "uint8" + }, + { + "name": "_r", + "type": "bytes32" + }, + { + "name": "_s", + "type": "bytes32" + } + ], + "name": "contribute", + "outputs": [ + { + "name": "workerStake", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_woid", + "type": "address" + }, + { + "name": "_consensus", + "type": "bytes32" + } + ], + "name": "revealConsensus", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_woid", + "type": "address" + }, + { + "name": "_result", + "type": "bytes32" + } + ], + "name": "reveal", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_woid", + "type": "address" + } + ], + "name": "reopen", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_woid", + "type": "address" + }, + { + "name": "_stdout", + "type": "string" + }, + { + "name": "_stderr", + "type": "string" + }, + { + "name": "_uri", + "type": "string" + } + ], + "name": "finalizeWork", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x606060405234156200001057600080fd5b604051620033a1380380620033a183398101604052808051919060200180518201919060200180519190602001805191906020018051919060200180516000805460a060020a60ff0219600160a060020a03338116600160a060020a031990931692909217167401000000000000000000000000000000000000000017909155909250829150879081161515620000a657600080fd5b60018054600160a060020a031916600160a060020a0392831617905581161515620000d057600080fd5b60028054600160a060020a03928316600160a060020a031991821681179092556003805490911690911790553281163390911614156200010f57600080fd5b6200012832640100000000620020476200017882021704565b60048580516200013d9291602001906200023c565b5050601e60055560016006556007929092556008556009555050600e8054600160a060020a03191633600160a060020a0316179055620002e1565b60005433600160a060020a039081169116146200019457600080fd5b60005474010000000000000000000000000000000000000000900460ff161515620001be57600080fd5b600160a060020a0381161515620001d457600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008054600160a060020a031916600160a060020a03929092169190911760a060020a60ff0219169055565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200027f57805160ff1916838001178555620002af565b82800160010185558215620002af579182015b82811115620002af57825182559160200191906001019062000292565b50620002bd929150620002c1565b5090565b620002de91905b80821115620002bd5760008155600101620002c8565b90565b6130b080620002f16000396000f3006060604052600436106101b35763ffffffff60e060020a600035041663031ee1c881146101b857806306021e7e146101fb5780630c6e29e3146102f2578063126eac431461030557806316ebf77d146103795780631f1e74061461039b5780632b8fd18a146104105780633ec6a4c41461044257806340f036051461046157806341cb01ad1461048657806345b99d28146104a55780635a628525146104b85780636ab6936a146104da5780637919233f146104ed5780637bd220bb1461050f5780637c60988514610534578063835436b41461059c57806387639c68146105bb57806389869163146105ce5780638d7db2f7146105ed578063900b7b6214610677578063b32ca9c51461068d578063bb7fb08b146106a0578063bbac78a9146106c2578063c6c5b072146106e3578063c6ced32b146106f6578063cc6f06a314610709578063dc988b401461071c578063deff41c114610747578063e21b9d081461075a578063e2d36ef51461076d578063e653ec6a14610780578063ec1847b614610793578063ef9cb474146107b2578063f20e56ec146107d1578063f4efa24c146107e4578063ff266d2614610852575b600080fd5b34156101c357600080fd5b6101e9600160a060020a036004351660243560443560ff6064351660843560a435610871565b60405190815260200160405180910390f35b341561020657600080fd5b6102de60048035600160a060020a03169060446024803590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528181529291906020840183838082843750949650610c4a95505050505050565b604051901515815260200160405180910390f35b34156102fd57600080fd5b6102de611168565b341561031057600080fd5b61032a600160a060020a0360043581169060243516611275565b6040518087600481111561033a57fe5b60ff168152602081019690965250604080860194909452600160a060020a039092166060850152608084015260a083015260c090910191505180910390f35b341561038457600080fd5b6102de600160a060020a03600435166024356112f1565b34156103a657600080fd5b6103ba600160a060020a036004351661166d565b60405198895260208901979097526040808901969096526060880194909452608087019290925260a086015260c0850152600160a060020a031660e0840152610100830191909152610120909101905180910390f35b341561041b57600080fd5b6104266004356116c1565b604051600160a060020a03909116815260200160405180910390f35b341561044d57600080fd5b6101e9600160a060020a03600435166116e9565b341561046c57600080fd5b6102de600160a060020a0360043581169060243516611707565b341561049157600080fd5b6101e9600160a060020a0360043516611747565b34156104b057600080fd5b6101e9611759565b34156104c357600080fd5b6102de600160a060020a036004351660243561175e565b34156104e557600080fd5b6101e96119b3565b34156104f857600080fd5b6102de600160a060020a03600435166024356119b9565b341561051a57600080fd5b61032a600160a060020a0360043581169060243516611bf1565b341561053f57600080fd5b6102de60048035600160a060020a031690604460248035908101908301358060208082020160405190810160405280939291908181526020018383602002808284375094965050509235600160a060020a03169250611c3f915050565b34156105a757600080fd5b6102de600160a060020a0360043516611ca8565b34156105c657600080fd5b6101e9611d88565b34156105d957600080fd5b6102de600160a060020a0360043516611d8e565b34156105f857600080fd5b610600611f2b565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561063c578082015183820152602001610624565b50505050905090810190601f1680156106695780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561068257600080fd5b610426600435611fc9565b341561069857600080fd5b610426611ff5565b34156106ab57600080fd5b610426600160a060020a0360043516602435612004565b34156106cd57600080fd5b6106e1600160a060020a0360043516612047565b005b34156106ee57600080fd5b6101e9612116565b341561070157600080fd5b6101e961211c565b341561071457600080fd5b6101e9612123565b341561072757600080fd5b6102de600160a060020a0360043581169060243581169060443516612129565b341561075257600080fd5b61042661238e565b341561076557600080fd5b6102de61239d565b341561077857600080fd5b6101e96123be565b341561078b57600080fd5b6102de6123c4565b341561079e57600080fd5b6101e9600160a060020a0360043516612489565b34156107bd57600080fd5b6106e16004356024356044356064356124d9565b34156107dc57600080fd5b6101e961258d565b34156107ef57600080fd5b610803600160a060020a0360043516612592565b60405197885260208801969096526040808801959095526060870193909352608086019190915260a085015260c0840152600160a060020a0390911660e0830152610100909101905180910390f35b341561085d57600080fd5b6102de600160a060020a03600435166125e4565b60015460009081908190600160a060020a03166332ca55878a60405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b15156108c857600080fd5b5af115156108d557600080fd5b5050506040518051905015156108ea57600080fd5b600160a060020a0389166000908152600c60205260409020600581015490925042111561091657600080fd5b600189600160a060020a031663e329c4786040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561095557600080fd5b5af1151561096257600080fd5b50505060405180519050600481111561097757fe5b1461098157600080fd5b50600160a060020a038089166000908152600d60209081526040808320339094168352929052208715156109b457600080fd5b8615156109c057600080fd5b6003810154600160a060020a031615610a8f57600188886040517f19457468657265756d205369676e6564204d6573736167653a0a3634000000008152601c810192909252603c820152605c0160405180910390208787876040516000815260200160405260405193845260ff9092166020808501919091526040808501929092526060840192909252608090920191516020810390808403906000865af11515610a6a57600080fd5b5050602060405103516003820154600160a060020a03908116911614610a8f57600080fd5b6001815460ff166004811115610aa157fe5b14610aab57600080fd5b805460ff19166002908117825560018083018a905590820188905554600160a060020a0316638c0f8e113360405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515610b1457600080fd5b5af11515610b2157600080fd5b505050604051805160048301555060078201805460018101610b43838261302f565b5060009182526020909120018054600160a060020a03191633600160a060020a03818116929092179092556001805490850154911691638981d077918c919060405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b1515610bd157600080fd5b5af11515610bde57600080fd5b505050604051805190501515610bf357600080fd5b33600160a060020a031689600160a060020a03167f1593a9a000265660fd299c9f8c9bbacfeb4d428861542e6c44b68615324225d48a60405190815260200160405180910390a35060010154979650505050505050565b60008054819033600160a060020a03908116911614610c6857600080fd5b600154600160a060020a03166332ca55878760405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515610cb857600080fd5b5af11515610cc557600080fd5b505050604051805190501515610cda57600080fd5b50600160a060020a0385166000908152600c602052604090206005810154421115610d0457600080fd5b42816003015411158015610d1c575060008160040154115b80610d2e575080600601548160040154145b1515610d3957600080fd5b610e1e8682610140604051908101604052908160008201548152602001600182015481526020016002820154600019166000191681526020016003820154815260200160048201548152602001600582015481526020016006820154815260200160078201805480602002602001604051908101604052809291908181526020018280548015610df257602002820191906000526020600020905b8154600160a060020a03168152600190910190602001808311610dd4575b50505091835250506008820154600160a060020a03166020820152600990910154604090910152612818565b1515610e2957600080fd5b600154600160a060020a031663b6b57ebd878787876040518563ffffffff1660e060020a0281526004018085600160a060020a0316600160a060020a03168152602001806020018060200180602001848103845287818151815260200191508051906020019080838360005b83811015610ead578082015183820152602001610e95565b50505050905090810190601f168015610eda5780820380516001836020036101000a031916815260200191505b50848103835286818151815260200191508051906020019080838360005b83811015610f10578082015183820152602001610ef8565b50505050905090810190601f168015610f3d5780820380516001836020036101000a031916815260200191505b50848103825285818151815260200191508051906020019080838360005b83811015610f73578082015183820152602001610f5b565b50505050905090810190601f168015610fa05780820380516001836020036101000a031916815260200191505b50975050505050505050602060405180830381600087803b1515610fc357600080fd5b5af11515610fd057600080fd5b505050604051805190501515610fe557600080fd5b85600160a060020a03167f4bfecaabd22e1b95e9aa9eb161b19f645b3460e7533d5e0f6349faf8dc0a724486868660405180806020018060200180602001848103845287818151815260200191508051906020019080838360005b83811015611058578082015183820152602001611040565b50505050905090810190601f1680156110855780820380516001836020036101000a031916815260200191505b50848103835286818151815260200191508051906020019080838360005b838110156110bb5780820151838201526020016110a3565b50505050905090810190601f1680156110e85780820380516001836020036101000a031916815260200191505b50848103825285818151815260200191508051906020019080838360005b8381101561111e578082015183820152602001611106565b50505050905090810190601f16801561114b5780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390a250600195945050505050565b6001546000908190600160a060020a031663b218cf153360405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b15156111bd57600080fd5b5af115156111ca57600080fd5b5050506040518051905015156111df57600080fd5b600a8054600181016111f1838261302f565b60009283526020909220018054600160a060020a03191633600160a060020a03161790559050611222816001612c92565b600160a060020a0333166000818152600b60205260409081902092909255907f67799bb3ec4a3491a0c1c4e6d02ec99927df7ba7fa268c216672c0c5ecc1e8f8905160405180910390a2600191505b5090565b600080600080600080600061128a8989611707565b151561129557600080fd5b50505050600160a060020a039485166000908152600d602090815260408083209688168352959052939093208054600182015460028301546003840154600485015460059095015460ff90941699929891975016945091925090565b6000805481908190819033600160a060020a0390811691161461131357600080fd5b600154600160a060020a03166332ca55878760405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151561136357600080fd5b5af1151561137057600080fd5b50505060405180519050151561138557600080fd5b600160a060020a0386166000908152600c6020526040902060058101549093504211156113b157600080fd5b85600160a060020a0316632d4d671f6040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156113ee57600080fd5b5af115156113fb57600080fd5b50505060405180519050151561141057600080fd5b60006006840181905591505b60078301548210156114dc576007830180548390811061143857fe5b6000918252602080832090910154600160a060020a038981168452600d8352604080852091909216808552925290912060010154909150851480156114b057506002600160a060020a038088166000908152600d602090815260408083209386168352929052205460ff1660048111156114ae57fe5b145b156114d15760068301546114cb90600163ffffffff612ca416565b60068401555b81600101915061141c565b6006830154600090116114ee57600080fd5b600280840186905560015460035461161f92429261161392600160a060020a0391821691631f87172691811690634cfddcfb908e1663ecc40f646040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561155657600080fd5b5af1151561156357600080fd5b5050506040518051905060405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b15156115a357600080fd5b5af115156115b057600080fd5b5050506040518051905060405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b15156115f057600080fd5b5af115156115fd57600080fd5b505050604051805191905063ffffffff612cbe16565b9063ffffffff612ca416565b6003840155600160a060020a0386167fa1b9f527f9799a46d54103401c99dc62f3744afe1d095a1c53620758dc38b2868660405190815260200160405180910390a250600195945050505050565b600c602052600090815260409020805460018201546002830154600384015460048501546005860154600687015460088801546009909801549697959694959394929391929091600160a060020a03169089565b600a8054829081106116cf57fe5b600091825260209091200154600160a060020a0316905081565b600160a060020a03166000908152600c602052604090206007015490565b600080600160a060020a038085166000908152600d602090815260408083209387168352929052205460ff16600481111561173e57fe5b14159392505050565b600b6020526000908152604090205481565b600a81565b60015460009081908190600160a060020a03166332ca55878660405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b15156117b557600080fd5b5af115156117c257600080fd5b5050506040518051905015156117d757600080fd5b600160a060020a0385166000908152600c60205260409020600581015490925042111561180357600080fd5b50600160a060020a038085166000908152600d6020908152604080832033909416835292905220600285600160a060020a031663e329c4786040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561186957600080fd5b5af1151561187657600080fd5b50505060405180519050600481111561188b57fe5b1461189557600080fd5b60038201544290116118a657600080fd5b6002815460ff1660048111156118b857fe5b146118c257600080fd5b60028201546001820154146118d657600080fd5b836040519081526020016040519081900390206001820154146118f857600080fd5b33604051600160a060020a03919091166c010000000000000000000000000281526014016040518091039020841860405190815260200160405190819003902060028201541461194757600080fd5b805460ff191660031781556004820154611962906001612ca4565b6004830155600160a060020a033381169086167f4f5df7005a83b6f11e90ead1268eb534656169a5034e8d239c763471294be3d58660405190815260200160405180910390a3506001949350505050565b60085481565b60015460009081908190819033600160a060020a039081169116146119dd57600080fd5b600354600160a060020a0316634cfddcfb8660405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b1515611a2557600080fd5b5af11515611a3257600080fd5b5050506040518051600154909450611a939150429061161390600a90600160a060020a0316631f8717268860405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b15156115f057600080fd5b600160a060020a038088166000908152600c60205260409081902060035493955093509116906338c4090b9087905160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b1515611af557600080fd5b5af11515611b0257600080fd5b5050506040518051825550600354600160a060020a03166355d66c3e8660405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b1515611b5557600080fd5b5af11515611b6257600080fd5b5050506040518051600883018054600160a060020a031916600160a060020a0392909216919091179055506005548154611b9b91612ce9565b6001820155600581018290556006546009820155600160a060020a0386167f9c081174ce28e85a62530b1102b0df58428b8da5027e81fbb4984aa1dc03310760405160405180910390a250600195945050505050565b600d60209081526000928352604080842090915290825290208054600182015460028301546003840154600485015460059095015460ff9094169492939192600160a060020a039091169186565b60008054819033600160a060020a03908116911614611c5d57600080fd5b5060005b8351811015611c9d57611c8a85858381518110611c7a57fe5b9060200190602002015185612129565b1515611c9557600080fd5b600101611c61565b506001949350505050565b6000805433600160a060020a03908116911614611cc457600080fd5b600154600160a060020a031663835436b48360405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515611d1457600080fd5b5af11515611d2157600080fd5b505050604051805190501515611d3657600080fd5b611d3f82612cfe565b1515611d4a57600080fd5b81600160a060020a03167fb22288215ec8cbd28148d7ffa053c6e6e23c62b58d0eb71a6387b59fad33a01960405160405180910390a2506001919050565b60065481565b60015460009081908190819033600160a060020a03908116911614611db257600080fd5b600160a060020a0385166000908152600c6020526040902060058101549093504211611ddd57600080fd5b600091505b6007830154821015611eea5760078301805483908110611dfe57fe5b600091825260209091200154600160a060020a031690506001600160a060020a038087166000908152600d602090815260408083209386168352929052205460ff166004811115611e4b57fe5b14611edf576001805490840154600160a060020a0390911690636b4f6865908790849060405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b1515611ebd57600080fd5b5af11515611eca57600080fd5b505050604051805190501515611edf57600080fd5b816001019150611de2565b84600160a060020a03167f8d8d47a5d5034ce9c01a2308543fdaa83d60863e4b735b7d57361987cdc8ed9460405160405180910390a2506001949350505050565b60048054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611fc15780601f10611f9657610100808354040283529160200191611fc1565b820191906000526020600020905b815481529060010190602001808311611fa457829003601f168201915b505050505081565b6000600a82815481101515611fda57fe5b600091825260209091200154600160a060020a031692915050565b600e54600160a060020a031681565b600160a060020a0382166000908152600c6020526040812060070180548390811061202b57fe5b600091825260209091200154600160a060020a03169392505050565b60005433600160a060020a0390811691161461206257600080fd5b60005474010000000000000000000000000000000000000000900460ff16151561208b57600080fd5b600160a060020a03811615156120a057600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008054600160a060020a031916600160a060020a03929092169190911774ff000000000000000000000000000000000000000019169055565b60055481565b600a545b90565b60095481565b60008054819081908190819033600160a060020a0390811691161461214d57600080fd5b600154600160a060020a03166332ca55878960405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151561219d57600080fd5b5af115156121aa57600080fd5b5050506040518051905015156121bf57600080fd5b600188600160a060020a031663e329c4786040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156121fe57600080fd5b5af1151561220b57600080fd5b50505060405180519050600481111561222057fe5b1461222a57600080fd5b600160a060020a038089166000818152600d60209081526040808320948c168352938152838220928252600c9052919091206005810154919550935042111561227257600080fd5b600154600160a060020a031663f69f190c8860405160e060020a63ffffffff8416028152600160a060020a0390911660048201526024016040805180830381600087803b15156122c157600080fd5b5af115156122ce57600080fd5b50505060405180519060200180519193509091505030600160a060020a03908116908316146122fc57600080fd5b6000845460ff16600481111561230e57fe5b1461231857600080fd5b835460ff19166001178455600384018054600160a060020a03888116600160a060020a0319909216919091179091558781169089167f9cade22a92ceb705fefd1c03e9ac4dbbf787cd493ec63a9f2b078cbc859c06298360405190815260200160405180910390a3506001979650505050505050565b600054600160a060020a031681565b60005474010000000000000000000000000000000000000000900460ff1681565b60075481565b600154600090600160a060020a0316631708d7253360405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151561241757600080fd5b5af1151561242457600080fd5b50505060405180519050151561243957600080fd5b61244233612cfe565b151561244d57600080fd5b33600160a060020a03167fd08d61a9c25ada3385d23554bae10e5d15c9518d4bfd27571c190558f7030f6e60405160405180910390a250600190565b600160a060020a0381166000818152600b6020526040812054600a805492939192839081106124b457fe5b600091825260209091200154600160a060020a0316146124d357600080fd5b92915050565b60005433600160a060020a039081169116146124f457600080fd5b7f52bb55d3097463659f724f9b420d259719787a8563b48eb82368680999bfea0760055485600654866008548760095488604051808981526020018881526020018781526020018681526020018581526020018481526020018381526020018281526020019850505050505050505060405180910390a1606483111561257957600080fd5b600593909355600691909155600855600955565b600281565b600160a060020a039081166000908152600c6020526040902080546001820154600283015460038401546004850154600586015460068701546008909701549598949793969295919490939190911690565b6000805481908190819033600160a060020a0390811691161461260657600080fd5b600154600160a060020a03166332ca55878660405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151561265657600080fd5b5af1151561266357600080fd5b50505060405180519050151561267857600080fd5b600160a060020a0385166000908152600c6020526040902060058101549093504211156126a457600080fd5b428360030154111580156126ba57506004830154155b15156126c557600080fd5b84600160a060020a0316631a514d976040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561270257600080fd5b5af1151561270f57600080fd5b50505060405180519050151561272457600080fd5b600091505b60078301548210156127c2576007830180548390811061274557fe5b60009182526020808320909101546002860154600160a060020a038981168552600d8452604080862091909316808652935292206001015490925014156127b757600160a060020a038581166000908152600d60209081526040808320938516835292905220805460ff191660041790555b816001019150612729565b600060068401819055600284018190556003840155600160a060020a0385167f631055693b4cbe13143279bc507432c42de858b6d04b3ba4e1ff3d2c88a7e52b60405160405180910390a2506001949350505050565b60008060008060008060008061282c613058565b6000808b5193508b60e001519250600099505b82518a101561292857828a8151811061285457fe5b90602001906020020151600160a060020a03808f166000908152600d6020908152604080832093851683529290522090995091506003825460ff16600481111561289a57fe5b1415612905576003820154600160a060020a031615156128bb5760016128be565b60035b60ff1697506128e26128dd898460040154612cbe90919063ffffffff16565b612de2565b60010196506128f7868863ffffffff612ca416565b60058301889055955061291d565b61291a8c60200151859063ffffffff612ca416565b93505b89600101995061283f565b6000861161293557600080fd5b61295c61294f8d610120015160649063ffffffff612c9216565b859063ffffffff612ce916565b9050600099505b82518a1015612bee57828a8151811061297857fe5b9060200190602002015198506003600160a060020a03808f166000908152600d60209081526040808320938e168352929052205460ff1660048111156129ba57fe5b1415612b4057600160a060020a03808e166000908152600d60209081526040808320938d16835292905220600501546129fb9082908863ffffffff612ffb16565b9450612a0d848663ffffffff612c9216565b9350600160009054906101000a9004600160a060020a0316600160a060020a0316636b4f68658e8b8f6020015160405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b1515612a8957600080fd5b5af11515612a9657600080fd5b505050604051805190501515612aab57600080fd5b60018054600160a060020a031690630c91f2d0908f908c90899060405160e060020a63ffffffff8716028152600160a060020a03948516600482015292909316602483015260448201529015156064820152608401602060405180830381600087803b1515612b1957600080fd5b5af11515612b2657600080fd5b505050604051805190501515612b3b57600080fd5b612be3565b600160009054906101000a9004600160a060020a0316600160a060020a0316639fdf96258e8b8f60200151600160405160e060020a63ffffffff8716028152600160a060020a03948516600482015292909316602483015260448201529015156064820152608401602060405180830381600087803b1515612bc157600080fd5b5af11515612bce57600080fd5b505050604051805190501515612be357600080fd5b896001019950612963565b600154600160a060020a0316630c91f2d08e6101008f015187600060405160e060020a63ffffffff8716028152600160a060020a03948516600482015292909316602483015260448201529015156064820152608401602060405180830381600087803b1515612c5d57600080fd5b5af11515612c6a57600080fd5b505050604051805190501515612c7f57600080fd5b5060019c9b505050505050505050505050565b600082821115612c9e57fe5b50900390565b600082820183811015612cb357fe5b8091505b5092915050565b600080831515612cd15760009150612cb7565b50828202828482811515612ce157fe5b0414612cb357fe5b6000612cf783836064612ffb565b9392505050565b6000806000612d0c84612489565b600a805491935090612d2590600163ffffffff612c9216565b81548110612d2f57fe5b600091825260209091200154600a8054600160a060020a039092169250829184908110612d5857fe5b60009182526020808320919091018054600160a060020a031916600160a060020a039485161790559183168152600b90915260409020829055600a8054612da0906001612c92565b81548110612daa57fe5b60009182526020909120018054600160a060020a0319169055600a54612dd790600163ffffffff612c9216565b611c9d600a8261302f565b700100000000000000000000000000000000680100000000000000006401000000006201000061010060106004600260001989019081041790810417908104179081041790810417908104179081041790810417600101906000906040517ff8f9cbfae6cc78fbefe7cdc3a1793dfcf4f0e8bbd8cec470b6a28a7a5a3e1efd81527ff5ecf1b3e9debc68e1d9cfabc5997135bfb7a7a3938b7b606b5b4b3f2f1f0ffe60208201527ff6e4ed9ff2d6b458eadcdf97bd91692de2d4da8fd2d0ac50c6ae9a827252361660408201527fc8c0b887b0a8a4489c948c7f847c6125746c645c544c444038302820181008ff60608201527ff7cae577eec2a03cf3bad76fb589591debb2dd67e0aa9834bea6925f6a4a2e0e60808201527fe39ed557db96902cd38ed14fad815115c786af479b7e8324736353433727170760a08201527fc976c13bb96e881cb166a933a55e490d9d56952b8d4e801485467d236242260660c08201527f753a6d1b65325d0c552a4d1345224105391a310b29122104190a11030902010060e082015261010081016040527e818283848586878898a8b8c8d8e8f929395969799a9b9d9e9faaeb6bedeeff7f01000000000000000000000000000000000000000000000000000000000000008082870204818160ff038501510495507f8000000000000000000000000000000000000000000000000000000000000000851161010002860195505050505050919050565b600061301061300a8585612cbe565b83613018565b949350505050565b600080828481151561302657fe5b04949350505050565b8154818355818115116130535760008381526020902061305391810190830161306a565b505050565b60206040519081016040526000815290565b61212091905b8082111561127157600081556001016130705600a165627a7a723058204bd60a5d84290b2bdfc72f3d4d9633b5c868e69c228c5d05ceb5053f697380d00029", + "deployedBytecode": "0x6060604052600436106101b35763ffffffff60e060020a600035041663031ee1c881146101b857806306021e7e146101fb5780630c6e29e3146102f2578063126eac431461030557806316ebf77d146103795780631f1e74061461039b5780632b8fd18a146104105780633ec6a4c41461044257806340f036051461046157806341cb01ad1461048657806345b99d28146104a55780635a628525146104b85780636ab6936a146104da5780637919233f146104ed5780637bd220bb1461050f5780637c60988514610534578063835436b41461059c57806387639c68146105bb57806389869163146105ce5780638d7db2f7146105ed578063900b7b6214610677578063b32ca9c51461068d578063bb7fb08b146106a0578063bbac78a9146106c2578063c6c5b072146106e3578063c6ced32b146106f6578063cc6f06a314610709578063dc988b401461071c578063deff41c114610747578063e21b9d081461075a578063e2d36ef51461076d578063e653ec6a14610780578063ec1847b614610793578063ef9cb474146107b2578063f20e56ec146107d1578063f4efa24c146107e4578063ff266d2614610852575b600080fd5b34156101c357600080fd5b6101e9600160a060020a036004351660243560443560ff6064351660843560a435610871565b60405190815260200160405180910390f35b341561020657600080fd5b6102de60048035600160a060020a03169060446024803590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528181529291906020840183838082843750949650610c4a95505050505050565b604051901515815260200160405180910390f35b34156102fd57600080fd5b6102de611168565b341561031057600080fd5b61032a600160a060020a0360043581169060243516611275565b6040518087600481111561033a57fe5b60ff168152602081019690965250604080860194909452600160a060020a039092166060850152608084015260a083015260c090910191505180910390f35b341561038457600080fd5b6102de600160a060020a03600435166024356112f1565b34156103a657600080fd5b6103ba600160a060020a036004351661166d565b60405198895260208901979097526040808901969096526060880194909452608087019290925260a086015260c0850152600160a060020a031660e0840152610100830191909152610120909101905180910390f35b341561041b57600080fd5b6104266004356116c1565b604051600160a060020a03909116815260200160405180910390f35b341561044d57600080fd5b6101e9600160a060020a03600435166116e9565b341561046c57600080fd5b6102de600160a060020a0360043581169060243516611707565b341561049157600080fd5b6101e9600160a060020a0360043516611747565b34156104b057600080fd5b6101e9611759565b34156104c357600080fd5b6102de600160a060020a036004351660243561175e565b34156104e557600080fd5b6101e96119b3565b34156104f857600080fd5b6102de600160a060020a03600435166024356119b9565b341561051a57600080fd5b61032a600160a060020a0360043581169060243516611bf1565b341561053f57600080fd5b6102de60048035600160a060020a031690604460248035908101908301358060208082020160405190810160405280939291908181526020018383602002808284375094965050509235600160a060020a03169250611c3f915050565b34156105a757600080fd5b6102de600160a060020a0360043516611ca8565b34156105c657600080fd5b6101e9611d88565b34156105d957600080fd5b6102de600160a060020a0360043516611d8e565b34156105f857600080fd5b610600611f2b565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561063c578082015183820152602001610624565b50505050905090810190601f1680156106695780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561068257600080fd5b610426600435611fc9565b341561069857600080fd5b610426611ff5565b34156106ab57600080fd5b610426600160a060020a0360043516602435612004565b34156106cd57600080fd5b6106e1600160a060020a0360043516612047565b005b34156106ee57600080fd5b6101e9612116565b341561070157600080fd5b6101e961211c565b341561071457600080fd5b6101e9612123565b341561072757600080fd5b6102de600160a060020a0360043581169060243581169060443516612129565b341561075257600080fd5b61042661238e565b341561076557600080fd5b6102de61239d565b341561077857600080fd5b6101e96123be565b341561078b57600080fd5b6102de6123c4565b341561079e57600080fd5b6101e9600160a060020a0360043516612489565b34156107bd57600080fd5b6106e16004356024356044356064356124d9565b34156107dc57600080fd5b6101e961258d565b34156107ef57600080fd5b610803600160a060020a0360043516612592565b60405197885260208801969096526040808801959095526060870193909352608086019190915260a085015260c0840152600160a060020a0390911660e0830152610100909101905180910390f35b341561085d57600080fd5b6102de600160a060020a03600435166125e4565b60015460009081908190600160a060020a03166332ca55878a60405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b15156108c857600080fd5b5af115156108d557600080fd5b5050506040518051905015156108ea57600080fd5b600160a060020a0389166000908152600c60205260409020600581015490925042111561091657600080fd5b600189600160a060020a031663e329c4786040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561095557600080fd5b5af1151561096257600080fd5b50505060405180519050600481111561097757fe5b1461098157600080fd5b50600160a060020a038089166000908152600d60209081526040808320339094168352929052208715156109b457600080fd5b8615156109c057600080fd5b6003810154600160a060020a031615610a8f57600188886040517f19457468657265756d205369676e6564204d6573736167653a0a3634000000008152601c810192909252603c820152605c0160405180910390208787876040516000815260200160405260405193845260ff9092166020808501919091526040808501929092526060840192909252608090920191516020810390808403906000865af11515610a6a57600080fd5b5050602060405103516003820154600160a060020a03908116911614610a8f57600080fd5b6001815460ff166004811115610aa157fe5b14610aab57600080fd5b805460ff19166002908117825560018083018a905590820188905554600160a060020a0316638c0f8e113360405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515610b1457600080fd5b5af11515610b2157600080fd5b505050604051805160048301555060078201805460018101610b43838261302f565b5060009182526020909120018054600160a060020a03191633600160a060020a03818116929092179092556001805490850154911691638981d077918c919060405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b1515610bd157600080fd5b5af11515610bde57600080fd5b505050604051805190501515610bf357600080fd5b33600160a060020a031689600160a060020a03167f1593a9a000265660fd299c9f8c9bbacfeb4d428861542e6c44b68615324225d48a60405190815260200160405180910390a35060010154979650505050505050565b60008054819033600160a060020a03908116911614610c6857600080fd5b600154600160a060020a03166332ca55878760405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515610cb857600080fd5b5af11515610cc557600080fd5b505050604051805190501515610cda57600080fd5b50600160a060020a0385166000908152600c602052604090206005810154421115610d0457600080fd5b42816003015411158015610d1c575060008160040154115b80610d2e575080600601548160040154145b1515610d3957600080fd5b610e1e8682610140604051908101604052908160008201548152602001600182015481526020016002820154600019166000191681526020016003820154815260200160048201548152602001600582015481526020016006820154815260200160078201805480602002602001604051908101604052809291908181526020018280548015610df257602002820191906000526020600020905b8154600160a060020a03168152600190910190602001808311610dd4575b50505091835250506008820154600160a060020a03166020820152600990910154604090910152612818565b1515610e2957600080fd5b600154600160a060020a031663b6b57ebd878787876040518563ffffffff1660e060020a0281526004018085600160a060020a0316600160a060020a03168152602001806020018060200180602001848103845287818151815260200191508051906020019080838360005b83811015610ead578082015183820152602001610e95565b50505050905090810190601f168015610eda5780820380516001836020036101000a031916815260200191505b50848103835286818151815260200191508051906020019080838360005b83811015610f10578082015183820152602001610ef8565b50505050905090810190601f168015610f3d5780820380516001836020036101000a031916815260200191505b50848103825285818151815260200191508051906020019080838360005b83811015610f73578082015183820152602001610f5b565b50505050905090810190601f168015610fa05780820380516001836020036101000a031916815260200191505b50975050505050505050602060405180830381600087803b1515610fc357600080fd5b5af11515610fd057600080fd5b505050604051805190501515610fe557600080fd5b85600160a060020a03167f4bfecaabd22e1b95e9aa9eb161b19f645b3460e7533d5e0f6349faf8dc0a724486868660405180806020018060200180602001848103845287818151815260200191508051906020019080838360005b83811015611058578082015183820152602001611040565b50505050905090810190601f1680156110855780820380516001836020036101000a031916815260200191505b50848103835286818151815260200191508051906020019080838360005b838110156110bb5780820151838201526020016110a3565b50505050905090810190601f1680156110e85780820380516001836020036101000a031916815260200191505b50848103825285818151815260200191508051906020019080838360005b8381101561111e578082015183820152602001611106565b50505050905090810190601f16801561114b5780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390a250600195945050505050565b6001546000908190600160a060020a031663b218cf153360405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b15156111bd57600080fd5b5af115156111ca57600080fd5b5050506040518051905015156111df57600080fd5b600a8054600181016111f1838261302f565b60009283526020909220018054600160a060020a03191633600160a060020a03161790559050611222816001612c92565b600160a060020a0333166000818152600b60205260409081902092909255907f67799bb3ec4a3491a0c1c4e6d02ec99927df7ba7fa268c216672c0c5ecc1e8f8905160405180910390a2600191505b5090565b600080600080600080600061128a8989611707565b151561129557600080fd5b50505050600160a060020a039485166000908152600d602090815260408083209688168352959052939093208054600182015460028301546003840154600485015460059095015460ff90941699929891975016945091925090565b6000805481908190819033600160a060020a0390811691161461131357600080fd5b600154600160a060020a03166332ca55878760405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151561136357600080fd5b5af1151561137057600080fd5b50505060405180519050151561138557600080fd5b600160a060020a0386166000908152600c6020526040902060058101549093504211156113b157600080fd5b85600160a060020a0316632d4d671f6040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156113ee57600080fd5b5af115156113fb57600080fd5b50505060405180519050151561141057600080fd5b60006006840181905591505b60078301548210156114dc576007830180548390811061143857fe5b6000918252602080832090910154600160a060020a038981168452600d8352604080852091909216808552925290912060010154909150851480156114b057506002600160a060020a038088166000908152600d602090815260408083209386168352929052205460ff1660048111156114ae57fe5b145b156114d15760068301546114cb90600163ffffffff612ca416565b60068401555b81600101915061141c565b6006830154600090116114ee57600080fd5b600280840186905560015460035461161f92429261161392600160a060020a0391821691631f87172691811690634cfddcfb908e1663ecc40f646040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561155657600080fd5b5af1151561156357600080fd5b5050506040518051905060405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b15156115a357600080fd5b5af115156115b057600080fd5b5050506040518051905060405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b15156115f057600080fd5b5af115156115fd57600080fd5b505050604051805191905063ffffffff612cbe16565b9063ffffffff612ca416565b6003840155600160a060020a0386167fa1b9f527f9799a46d54103401c99dc62f3744afe1d095a1c53620758dc38b2868660405190815260200160405180910390a250600195945050505050565b600c602052600090815260409020805460018201546002830154600384015460048501546005860154600687015460088801546009909801549697959694959394929391929091600160a060020a03169089565b600a8054829081106116cf57fe5b600091825260209091200154600160a060020a0316905081565b600160a060020a03166000908152600c602052604090206007015490565b600080600160a060020a038085166000908152600d602090815260408083209387168352929052205460ff16600481111561173e57fe5b14159392505050565b600b6020526000908152604090205481565b600a81565b60015460009081908190600160a060020a03166332ca55878660405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b15156117b557600080fd5b5af115156117c257600080fd5b5050506040518051905015156117d757600080fd5b600160a060020a0385166000908152600c60205260409020600581015490925042111561180357600080fd5b50600160a060020a038085166000908152600d6020908152604080832033909416835292905220600285600160a060020a031663e329c4786040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561186957600080fd5b5af1151561187657600080fd5b50505060405180519050600481111561188b57fe5b1461189557600080fd5b60038201544290116118a657600080fd5b6002815460ff1660048111156118b857fe5b146118c257600080fd5b60028201546001820154146118d657600080fd5b836040519081526020016040519081900390206001820154146118f857600080fd5b33604051600160a060020a03919091166c010000000000000000000000000281526014016040518091039020841860405190815260200160405190819003902060028201541461194757600080fd5b805460ff191660031781556004820154611962906001612ca4565b6004830155600160a060020a033381169086167f4f5df7005a83b6f11e90ead1268eb534656169a5034e8d239c763471294be3d58660405190815260200160405180910390a3506001949350505050565b60085481565b60015460009081908190819033600160a060020a039081169116146119dd57600080fd5b600354600160a060020a0316634cfddcfb8660405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b1515611a2557600080fd5b5af11515611a3257600080fd5b5050506040518051600154909450611a939150429061161390600a90600160a060020a0316631f8717268860405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b15156115f057600080fd5b600160a060020a038088166000908152600c60205260409081902060035493955093509116906338c4090b9087905160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b1515611af557600080fd5b5af11515611b0257600080fd5b5050506040518051825550600354600160a060020a03166355d66c3e8660405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b1515611b5557600080fd5b5af11515611b6257600080fd5b5050506040518051600883018054600160a060020a031916600160a060020a0392909216919091179055506005548154611b9b91612ce9565b6001820155600581018290556006546009820155600160a060020a0386167f9c081174ce28e85a62530b1102b0df58428b8da5027e81fbb4984aa1dc03310760405160405180910390a250600195945050505050565b600d60209081526000928352604080842090915290825290208054600182015460028301546003840154600485015460059095015460ff9094169492939192600160a060020a039091169186565b60008054819033600160a060020a03908116911614611c5d57600080fd5b5060005b8351811015611c9d57611c8a85858381518110611c7a57fe5b9060200190602002015185612129565b1515611c9557600080fd5b600101611c61565b506001949350505050565b6000805433600160a060020a03908116911614611cc457600080fd5b600154600160a060020a031663835436b48360405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515611d1457600080fd5b5af11515611d2157600080fd5b505050604051805190501515611d3657600080fd5b611d3f82612cfe565b1515611d4a57600080fd5b81600160a060020a03167fb22288215ec8cbd28148d7ffa053c6e6e23c62b58d0eb71a6387b59fad33a01960405160405180910390a2506001919050565b60065481565b60015460009081908190819033600160a060020a03908116911614611db257600080fd5b600160a060020a0385166000908152600c6020526040902060058101549093504211611ddd57600080fd5b600091505b6007830154821015611eea5760078301805483908110611dfe57fe5b600091825260209091200154600160a060020a031690506001600160a060020a038087166000908152600d602090815260408083209386168352929052205460ff166004811115611e4b57fe5b14611edf576001805490840154600160a060020a0390911690636b4f6865908790849060405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b1515611ebd57600080fd5b5af11515611eca57600080fd5b505050604051805190501515611edf57600080fd5b816001019150611de2565b84600160a060020a03167f8d8d47a5d5034ce9c01a2308543fdaa83d60863e4b735b7d57361987cdc8ed9460405160405180910390a2506001949350505050565b60048054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611fc15780601f10611f9657610100808354040283529160200191611fc1565b820191906000526020600020905b815481529060010190602001808311611fa457829003601f168201915b505050505081565b6000600a82815481101515611fda57fe5b600091825260209091200154600160a060020a031692915050565b600e54600160a060020a031681565b600160a060020a0382166000908152600c6020526040812060070180548390811061202b57fe5b600091825260209091200154600160a060020a03169392505050565b60005433600160a060020a0390811691161461206257600080fd5b60005474010000000000000000000000000000000000000000900460ff16151561208b57600080fd5b600160a060020a03811615156120a057600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008054600160a060020a031916600160a060020a03929092169190911774ff000000000000000000000000000000000000000019169055565b60055481565b600a545b90565b60095481565b60008054819081908190819033600160a060020a0390811691161461214d57600080fd5b600154600160a060020a03166332ca55878960405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151561219d57600080fd5b5af115156121aa57600080fd5b5050506040518051905015156121bf57600080fd5b600188600160a060020a031663e329c4786040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156121fe57600080fd5b5af1151561220b57600080fd5b50505060405180519050600481111561222057fe5b1461222a57600080fd5b600160a060020a038089166000818152600d60209081526040808320948c168352938152838220928252600c9052919091206005810154919550935042111561227257600080fd5b600154600160a060020a031663f69f190c8860405160e060020a63ffffffff8416028152600160a060020a0390911660048201526024016040805180830381600087803b15156122c157600080fd5b5af115156122ce57600080fd5b50505060405180519060200180519193509091505030600160a060020a03908116908316146122fc57600080fd5b6000845460ff16600481111561230e57fe5b1461231857600080fd5b835460ff19166001178455600384018054600160a060020a03888116600160a060020a0319909216919091179091558781169089167f9cade22a92ceb705fefd1c03e9ac4dbbf787cd493ec63a9f2b078cbc859c06298360405190815260200160405180910390a3506001979650505050505050565b600054600160a060020a031681565b60005474010000000000000000000000000000000000000000900460ff1681565b60075481565b600154600090600160a060020a0316631708d7253360405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151561241757600080fd5b5af1151561242457600080fd5b50505060405180519050151561243957600080fd5b61244233612cfe565b151561244d57600080fd5b33600160a060020a03167fd08d61a9c25ada3385d23554bae10e5d15c9518d4bfd27571c190558f7030f6e60405160405180910390a250600190565b600160a060020a0381166000818152600b6020526040812054600a805492939192839081106124b457fe5b600091825260209091200154600160a060020a0316146124d357600080fd5b92915050565b60005433600160a060020a039081169116146124f457600080fd5b7f52bb55d3097463659f724f9b420d259719787a8563b48eb82368680999bfea0760055485600654866008548760095488604051808981526020018881526020018781526020018681526020018581526020018481526020018381526020018281526020019850505050505050505060405180910390a1606483111561257957600080fd5b600593909355600691909155600855600955565b600281565b600160a060020a039081166000908152600c6020526040902080546001820154600283015460038401546004850154600586015460068701546008909701549598949793969295919490939190911690565b6000805481908190819033600160a060020a0390811691161461260657600080fd5b600154600160a060020a03166332ca55878660405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151561265657600080fd5b5af1151561266357600080fd5b50505060405180519050151561267857600080fd5b600160a060020a0385166000908152600c6020526040902060058101549093504211156126a457600080fd5b428360030154111580156126ba57506004830154155b15156126c557600080fd5b84600160a060020a0316631a514d976040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561270257600080fd5b5af1151561270f57600080fd5b50505060405180519050151561272457600080fd5b600091505b60078301548210156127c2576007830180548390811061274557fe5b60009182526020808320909101546002860154600160a060020a038981168552600d8452604080862091909316808652935292206001015490925014156127b757600160a060020a038581166000908152600d60209081526040808320938516835292905220805460ff191660041790555b816001019150612729565b600060068401819055600284018190556003840155600160a060020a0385167f631055693b4cbe13143279bc507432c42de858b6d04b3ba4e1ff3d2c88a7e52b60405160405180910390a2506001949350505050565b60008060008060008060008061282c613058565b6000808b5193508b60e001519250600099505b82518a101561292857828a8151811061285457fe5b90602001906020020151600160a060020a03808f166000908152600d6020908152604080832093851683529290522090995091506003825460ff16600481111561289a57fe5b1415612905576003820154600160a060020a031615156128bb5760016128be565b60035b60ff1697506128e26128dd898460040154612cbe90919063ffffffff16565b612de2565b60010196506128f7868863ffffffff612ca416565b60058301889055955061291d565b61291a8c60200151859063ffffffff612ca416565b93505b89600101995061283f565b6000861161293557600080fd5b61295c61294f8d610120015160649063ffffffff612c9216565b859063ffffffff612ce916565b9050600099505b82518a1015612bee57828a8151811061297857fe5b9060200190602002015198506003600160a060020a03808f166000908152600d60209081526040808320938e168352929052205460ff1660048111156129ba57fe5b1415612b4057600160a060020a03808e166000908152600d60209081526040808320938d16835292905220600501546129fb9082908863ffffffff612ffb16565b9450612a0d848663ffffffff612c9216565b9350600160009054906101000a9004600160a060020a0316600160a060020a0316636b4f68658e8b8f6020015160405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b1515612a8957600080fd5b5af11515612a9657600080fd5b505050604051805190501515612aab57600080fd5b60018054600160a060020a031690630c91f2d0908f908c90899060405160e060020a63ffffffff8716028152600160a060020a03948516600482015292909316602483015260448201529015156064820152608401602060405180830381600087803b1515612b1957600080fd5b5af11515612b2657600080fd5b505050604051805190501515612b3b57600080fd5b612be3565b600160009054906101000a9004600160a060020a0316600160a060020a0316639fdf96258e8b8f60200151600160405160e060020a63ffffffff8716028152600160a060020a03948516600482015292909316602483015260448201529015156064820152608401602060405180830381600087803b1515612bc157600080fd5b5af11515612bce57600080fd5b505050604051805190501515612be357600080fd5b896001019950612963565b600154600160a060020a0316630c91f2d08e6101008f015187600060405160e060020a63ffffffff8716028152600160a060020a03948516600482015292909316602483015260448201529015156064820152608401602060405180830381600087803b1515612c5d57600080fd5b5af11515612c6a57600080fd5b505050604051805190501515612c7f57600080fd5b5060019c9b505050505050505050505050565b600082821115612c9e57fe5b50900390565b600082820183811015612cb357fe5b8091505b5092915050565b600080831515612cd15760009150612cb7565b50828202828482811515612ce157fe5b0414612cb357fe5b6000612cf783836064612ffb565b9392505050565b6000806000612d0c84612489565b600a805491935090612d2590600163ffffffff612c9216565b81548110612d2f57fe5b600091825260209091200154600a8054600160a060020a039092169250829184908110612d5857fe5b60009182526020808320919091018054600160a060020a031916600160a060020a039485161790559183168152600b90915260409020829055600a8054612da0906001612c92565b81548110612daa57fe5b60009182526020909120018054600160a060020a0319169055600a54612dd790600163ffffffff612c9216565b611c9d600a8261302f565b700100000000000000000000000000000000680100000000000000006401000000006201000061010060106004600260001989019081041790810417908104179081041790810417908104179081041790810417600101906000906040517ff8f9cbfae6cc78fbefe7cdc3a1793dfcf4f0e8bbd8cec470b6a28a7a5a3e1efd81527ff5ecf1b3e9debc68e1d9cfabc5997135bfb7a7a3938b7b606b5b4b3f2f1f0ffe60208201527ff6e4ed9ff2d6b458eadcdf97bd91692de2d4da8fd2d0ac50c6ae9a827252361660408201527fc8c0b887b0a8a4489c948c7f847c6125746c645c544c444038302820181008ff60608201527ff7cae577eec2a03cf3bad76fb589591debb2dd67e0aa9834bea6925f6a4a2e0e60808201527fe39ed557db96902cd38ed14fad815115c786af479b7e8324736353433727170760a08201527fc976c13bb96e881cb166a933a55e490d9d56952b8d4e801485467d236242260660c08201527f753a6d1b65325d0c552a4d1345224105391a310b29122104190a11030902010060e082015261010081016040527e818283848586878898a8b8c8d8e8f929395969799a9b9d9e9faaeb6bedeeff7f01000000000000000000000000000000000000000000000000000000000000008082870204818160ff038501510495507f8000000000000000000000000000000000000000000000000000000000000000851161010002860195505050505050919050565b600061301061300a8585612cbe565b83613018565b949350505050565b600080828481151561302657fe5b04949350505050565b8154818355818115116130535760008381526020902061305391810190830161306a565b505050565b60206040519081016040526000815290565b61212091905b8082111561127157600081556001016130705600a165627a7a723058204bd60a5d84290b2bdfc72f3d4d9633b5c868e69c228c5d05ceb5053f697380d00029", + "sourceMap": "253:17693:18:-;;;2782:1041;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;667:7:14;:25;;-1:-1:-1;;;;;;;;;;;682:10:14;667:25;;-1:-1:-1;;;;;;667:25:14;;;;;;;696:19;;;;;;2782:1041:18;;-1:-1:-1;2782:1041:18;;-1:-1:-1;3030:16:18;;300:30:7;;;;292:39;;;;;;335:17;:55;;-1:-1:-1;;;;;;335:55:7;-1:-1:-1;;;;;335:55:7;;;;;;377:33:11;;;;369:42;;;;;;415:18;:42;;-1:-1:-1;;;;;415:42:11;;;-1:-1:-1;;;;;;415:42:11;;;;;;;;461:20;:64;;;;;;;;;;3169:9:18;:23;;3182:10;3169:23;;;;;3161:32;;;;;;3197;3219:9;3197:21;;;;;;:32;:::i;:::-;3257:13;3292:12;;3257:47;;;;;;;;:::i;:::-;-1:-1:-1;;3343:2:18;3308:18;:37;3422:1;3387:28;:36;3489:29;:63;;;;3633:32;:66;3703:32;:66;-1:-1:-1;;3773:22:18;:45;;-1:-1:-1;;;;;;3773:45:18;3808:10;-1:-1:-1;;;;;3773:45:18;;;;253:17693;;876:234:14;502:7;;488:10;-1:-1:-1;;;;;488:21:14;;;502:7;;488:21;480:30;;;;;;956:12;;;;;;;948:21;;;;;;;;-1:-1:-1;;;;;981:23:14;;;;973:32;;;;;;1035:7;;-1:-1:-1;;;;;1014:40:14;;;;1035:7;1014:40;;;;;;;;;;1058:7;:24;;-1:-1:-1;;;;;;1058:24:14;-1:-1:-1;;;;;1058:24:14;;;;;;;;-1:-1:-1;;;;;;1086:20:14;;;876:234::o;253:17693:18:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;253:17693:18;;;-1:-1:-1;253:17693:18;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;", + "deployedSourceMap": "253:17693:18:-;;;;;;;;-1:-1:-1;;;253:17693:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10616:1346;;;;;;;;;;;;-1:-1:-1;;;;;10616:1346:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15164:744;;;;;;;;;;;;;-1:-1:-1;;;;;15164:744:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;15164:744:18;;-1:-1:-1;15164:744:18;;-1:-1:-1;;;;;;15164:744:18;;;;;;;;;;;;;;;;;;5126:274;;;;;;;;;;;;7349:567;;;;;;;;;;-1:-1:-1;;;;;7349:567:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7349:567:18;;;;;;;;-1:-1:-1;;;;;7349:567:18;;;;;;;;;;;;-1:-1:-1;7349:567:18;;;;;;;;-1:-1:-1;7349:567:18;;;;;;11965:1174;;;;;;;;;;;;-1:-1:-1;;;;;11965:1174:18;;;;;1127:57;;;;;;;;;;;;-1:-1:-1;;;;;1127:57:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1127:57:18;;;;;;;;;;;;;;;;;;;;;;;988:44;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;988:44:18;;;;;;;;;;;;;;;6840:147;;;;;;;;;;;;-1:-1:-1;;;;;6840:147:18;;;7143:203;;;;;;;;;;-1:-1:-1;;;;;7143:203:18;;;;;;;;;;1035:48;;;;;;;;;;;;-1:-1:-1;;;;;1035:48:18;;;1388:58;;;;;;;;;;;;13142:1035;;;;;;;;;;;;-1:-1:-1;;;;;13142:1035:18;;;;;782:67;;;;;;;;;;;;7999:834;;;;;;;;;;;;-1:-1:-1;;;;;7999:834:18;;;;;1240:84;;;;;;;;;;-1:-1:-1;;;;;1240:84:18;;;;;;;;;;9376:294;;;;;;;;;;;;;-1:-1:-1;;;;;9376:294:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9376:294:18;;-1:-1:-1;;;9376:294:18;;-1:-1:-1;;;;;9376:294:18;;-1:-1:-1;9376:294:18;;-1:-1:-1;;9376:294:18;5641:235;;;;;;;;;;;;-1:-1:-1;;;;;5641:235:18;;;528:63;;;;;;;;;;;;8836:537;;;;;;;;;;;;-1:-1:-1;;;;;8836:537:18;;;383:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;383:48:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4763:102;;;;;;;;;;;;;;1499:45;;;;;;;;;;;;6990:150;;;;;;;;;;;;-1:-1:-1;;;;;6990:150:18;;;;;876:234:14;;;;;;;;;;;;-1:-1:-1;;;;;876:234:14;;;;;434:53:18;;;;;;;;;;;;5037:86;;;;;;;;;;;;885:67;;;;;;;;;;;;9673:940;;;;;;;;;;-1:-1:-1;;;;;9673:940:18;;;;;;;;;;;;;;;238:22:14;;;;;;;;;;;;263:27;;;;;;;;;;;;632:64:18;;;;;;;;;;;;5403:235;;;;;;;;;;;;4867:168;;;;;;;;;;;;-1:-1:-1;;;;;4867:168:18;;;3826:855;;;;;;;;;;;;;;;;;;;;1328:57;;;;;;;;;;;;6268:569;;;;;;;;;;;;-1:-1:-1;;;;;6268:569:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6268:569:18;;;;;;;;;;;;;;;;;;14180:879;;;;;;;;;;;;-1:-1:-1;;;;;14180:879:18;;;10616:1346;10777:17;;10743:19;;;;;;-1:-1:-1;;;;;10777:17:18;:33;10811:5;10777:40;;;;;-1:-1:-1;;;10777:40:18;;;-1:-1:-1;;;;;10777:40:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10769:49;;;;;;;;-1:-1:-1;;;;;10867:18:18;;;;;;:11;:18;;;;;10904:26;;;;10867:18;;-1:-1:-1;10897:3:18;:33;;10889:42;;;;;;10974:35;-1:-1:-1;;;;;10943:25:18;;;:27;;-1:-1:-1;;;10943:27:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:66;;;;;;;;;10935:75;;;;;;-1:-1:-1;;;;;;11115:22:18;;;;;;;:15;:22;;;;;;;;11138:10;11115:34;;;;;;;;;11189:18;;;11181:27;;;;;;11220:18;;;11212:27;;;;;;11247:29;;;;-1:-1:-1;;;;;11247:29:18;:43;11243:197;;11340:94;11396:11;11409;11350:71;;;;;;;;;;;;;;;;;;;;;;;;;11423:2;11427;11431;11340:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11307:29;;;;-1:-1:-1;;;;;11307:127:18;;;:29;;:127;11299:136;;;;;;11475:42;11452:19;;;;:65;;;;;;;;;11444:74;;;;;;11522:69;;-1:-1:-1;;11522:69:18;11548:43;11522:69;;;;;-1:-1:-1;11595:23:18;;;:37;;;11636:23;;;:37;;;11703:17;-1:-1:-1;;;;;11703:17:18;:32;11736:10;11703:44;;;;;-1:-1:-1;;;11703:44:18;;;-1:-1:-1;;;;;11703:44:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11677:18;;;:70;-1:-1:-1;11751:22:18;;;:39;;;;;;:22;:39;;:::i;:::-;-1:-1:-1;11751:39:18;;;;;;;;;;;-1:-1:-1;;;;;;11751:39:18;-1:-1:-1;;;;;11779:10:18;11751:39;;;;;;;;;;-1:-1:-1;11803:17:18;;11852:21;;;;11803:17;;;:29;;11833:5;;11803:71;;;;;-1:-1:-1;;;11803:71:18;;;-1:-1:-1;;;;;11803:71:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11795:80;;;;;;;;-1:-1:-1;;;;;11902:10:18;11884:42;;;;;;11914:11;11884:42;;;;;;;;;;;;;;-1:-1:-1;11937:21:18;;;;10616:1346;-1:-1:-1;;;;;;;10616:1346:18:o;15164:744::-;15289:4;502:7:14;;15289:4:18;;488:10:14;-1:-1:-1;;;;;488:21:14;;;502:7;;488:21;480:30;;;;;;15308:17:18;;-1:-1:-1;;;;;15308:17:18;:33;15342:5;15308:40;;;;;-1:-1:-1;;;15308:40:18;;;-1:-1:-1;;;;;15308:40:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15300:49;;;;;;;;-1:-1:-1;;;;;;15392:18:18;;;;;;:11;:18;;;;;15429:26;;;;15422:3;:33;;15414:42;;;;;;15493:3;15469:9;:20;;;:27;;:58;;;;;15526:1;15500:9;:23;;;:27;15469:58;15468:114;;;;15560:9;:21;;;15533:9;:23;;;:48;15468:114;15460:123;;;;;;;;15724:35;15742:5;15749:9;15724:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15724:35:18;;;-1:-1:-1;15724:35:18;;;;;;;;;;;;-1:-1:-1;;;15724:35:18;;;-1:-1:-1;;15724:35:18;;;;-1:-1:-1;;;;;15724:35:18;;;;;;;;;;;;;;;:17;:35::i;:::-;15716:44;;;;;;;;15773:17;;-1:-1:-1;;;;;15773:17:18;:35;15809:5;15816:7;15825;15834:4;15773:66;;-1:-1:-1;;;15773:66:18;;;;;;-1:-1:-1;;;;;15773:66:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;15773:66:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;15773:66:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;15773:66:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15765:75;;;;;;;;-1:-1:-1;;;;;15849:40:18;;;15868:7;15876;15884:4;15849:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;15849:40:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;15849:40:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;15849:40:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;15900:4:18;;15164:744;-1:-1:-1;;;;;15164:744:18:o;5126:274::-;5213:17;;5169:4;;;;-1:-1:-1;;;;;5213:17:18;:32;5246:10;5213:44;;;;;-1:-1:-1;;;5213:44:18;;;-1:-1:-1;;;;;5213:44:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5205:53;;;;;;;;5275:9;:26;;;;;;:9;:26;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;;;;;5275:26:18;-1:-1:-1;;;;;5290:10:18;5275:26;;;;;-1:-1:-1;5333:12:18;5275:26;-1:-1:-1;5333:9:18;:12::i;:::-;5319:10;-1:-1:-1;;;;;5305:25:18;;;;;:13;:25;;;;;;;:40;;;;:25;5354:27;;;;;;;;;;5392:4;5385:11;;5126:274;;;:::o;7349:567::-;7431:38;7473:18;7495;7517:24;7545:13;7562:14;7660:42;7591:36;7612:5;7619:7;7591:20;:36::i;:::-;7583:45;;;;;;;;-1:-1:-1;;;;;;;;;7705:22:18;;;;;;;:15;:22;;;;;;;;:31;;;;;;;;;;;;7752:19;;-1:-1:-1;7776:23:18;;;-1:-1:-1;7804:23:18;;;7832:29;;;;7866:18;;;;7889:19;;;;;7752;;;;;7776:23;;7804;;-1:-1:-1;7832:29:18;;-1:-1:-1;7866:18:18;;-1:-1:-1;7889:19:18;7349:567::o;11965:1174::-;12068:4;502:7:14;;12068:4:18;;;;;;488:10:14;-1:-1:-1;;;;;488:21:14;;;502:7;;488:21;480:30;;;;;;12087:17:18;;-1:-1:-1;;;;;12087:17:18;:33;12121:5;12087:40;;;;;-1:-1:-1;;;12087:40:18;;;-1:-1:-1;;;;;12087:40:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12079:49;;;;;;;;-1:-1:-1;;;;;12171:18:18;;;;;;:11;:18;;;;;12208:26;;;;12171:18;;-1:-1:-1;12201:3:18;:33;;12193:42;;;;;;-1:-1:-1;;;;;12247:36:18;;;:38;;-1:-1:-1;;;12247:38:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12239:47;;;;;;;;12315:1;12291:21;;;:25;;;12315:1;-1:-1:-1;12320:377:18;12342:22;;;:29;12340:31;;12320:377;;;12397:22;;;:25;;12420:1;;12397:25;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;12436:22:18;;;;;:15;:22;;;;;;12397:25;;;;12436;;;;;;;;-1:-1:-1;12436:36:18;;12397:25;;-1:-1:-1;12436:50:18;;:141;;;;-1:-1:-1;;;;;;12498:22:18;;;;;;;:15;:22;;;;;;;;:25;;;;;;;;;:32;12534:43;;12498:32;;:79;;;;;;;;;12436:141;12427:266;;;12659:21;;;;:28;;12685:1;12659:28;:25;:28;:::i;:::-;12635:21;;;:52;12427:266;12373:3;;;;;12320:377;;;12708:21;;;;12732:1;12708:25;;12700:34;;;;;;12811:19;;;;:33;;;12871:17;;12917:20;;12871:170;;13037:3;;12871:161;;-1:-1:-1;;;;;12871:17:18;;;;:45;;12917:20;;;:43;;12961:33;;;:35;;-1:-1:-1;;;12961:35:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12917:80;;;;;-1:-1:-1;;;12917:80:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12871:127;;;;;-1:-1:-1;;;12871:127:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:161;-1:-1:-1;12871:161:18;:131;:161;:::i;:::-;:165;:170;:165;:170;:::i;:::-;12848:20;;;:193;-1:-1:-1;;;;;13086:34:18;;;13109:10;13086:34;;;;;;;;;;;;;;-1:-1:-1;13131:4:18;;11965:1174;-1:-1:-1;;;;;11965:1174:18:o;1127:57::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1127:57:18;;;:::o;988:44::-;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;988:44:18;;-1:-1:-1;988:44:18;:::o;6840:147::-;-1:-1:-1;;;;;6945:18:18;6906:25;6945:18;;;:11;:18;;;;;:31;;:38;;6840:147::o;7143:203::-;-1:-1:-1;;;;;7263:22:18;;;7227;7263;;;:15;:22;;;;;;;;:31;;;;;;;;;;;:38;7227:22;;7263:38;;:79;;;;;;;;;;;7143:203;-1:-1:-1;;;7143:203:18:o;1035:48::-;;;;;;;;;;;;;:::o;1388:58::-;1444:2;1388:58;:::o;13142:1035::-;13225:17;;13206:4;;;;;;-1:-1:-1;;;;;13225:17:18;:33;13259:5;13225:40;;;;;-1:-1:-1;;;13225:40:18;;;-1:-1:-1;;;;;13225:40:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13217:49;;;;;;;;-1:-1:-1;;;;;13315:18:18;;;;;;:11;:18;;;;;13352:26;;;;13315:18;;-1:-1:-1;13345:3:18;:33;;13337:42;;;;;;-1:-1:-1;;;;;;13428:22:18;;;;;;;:15;:22;;;;;;;;13451:10;13428:34;;;;;;;;;;;;-1:-1:-1;;13428:22:18;13475:25;;:27;-1:-1:-1;;;13475:27:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:69;;;;;;;;;13467:83;;;;;;13562:20;;;;13593:3;13562:34;;13554:83;;;;;;13680:43;13649:19;;;;:74;;;;;;;;;13641:83;;;;;;13767:19;;;;13736:23;;;;:50;13728:83;;;;;;13864:7;13854:42;;;;;;;;;;;;;;;13823:23;;;;:73;13815:83;;;;;;13971:10;13961:21;;-1:-1:-1;;;;;13961:21:18;;;;;;;;;;;;;;;;;13951:7;:31;13941:42;;;;;;;;;;;;;;;13910:23;;;;:73;13902:83;;;;;;13990:64;;-1:-1:-1;;13990:64:18;14016:38;13990:64;;;14084:23;;;;:30;;13990:64;14084:27;:30::i;:::-;14058:23;;;:56;-1:-1:-1;;;;;14138:10:18;14124:34;;;;;;14150:7;14124:34;;;;;;;;;;;;;;-1:-1:-1;14169:4:18;;13142:1035;-1:-1:-1;;;;13142:1035:18:o;782:67::-;;;;:::o;7999:834::-;197:17:7;;8091:4:18;;;;;;;;175:10:7;-1:-1:-1;;;;;175:40:7;;;197:17;;175:40;167:49;;;;;;8120:20:18;;-1:-1:-1;;;;;8120:20:18;:43;8164:15;8120:60;;;;;-1:-1:-1;;;8120:60:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8202:17;;8120:60;;-1:-1:-1;8202:91:18;;-1:-1:-1;8289:3:18;;8202:82;;1444:2;;-1:-1:-1;;;;;8202:17:18;:45;8120:60;8202:52;;;;;-1:-1:-1;;;8202:52:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:91;-1:-1:-1;;;;;8337:18:18;;;;;;;:11;:18;;;;;;;8398:20;;8184:109;;-1:-1:-1;8337:18:18;-1:-1:-1;8398:20:18;;;:40;;8439:15;;8398:57;;;;-1:-1:-1;;;8398:57:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8359:96;;-1:-1:-1;8498:20:18;;-1:-1:-1;;;;;8498:20:18;:50;8549:15;8498:67;;;;;-1:-1:-1;;;8498:67:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8459:25;;;:106;;-1:-1:-1;;;;;;8459:106:18;-1:-1:-1;;;;;8459:106:18;;;;;;;;;;-1:-1:-1;8640:18:18;;8608:20;;:51;;:31;:51::i;:::-;8569:21;;;:90;8663:26;;;:47;;;8753:28;;8714:36;;;:67;-1:-1:-1;;;;;8791:22:18;;;;;;;;;;;;-1:-1:-1;8825:4:18;;7999:834;-1:-1:-1;;;;;7999:834:18:o;1240:84::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1240:84:18;;;;;:::o;9376:294::-;9515:4;502:7:14;;9515:4:18;;488:10:14;-1:-1:-1;;;;;488:21:14;;;502:7;;488:21;480:30;;;;;;-1:-1:-1;9540:1:18;9526:126;9547:8;:15;9543:1;:19;9526:126;;;9584:62;9608:5;9615:8;9624:1;9615:11;;;;;;;;;;;;;;;;9628:17;9584:23;:62::i;:::-;9576:71;;;;;;;;9564:3;;9526:126;;;-1:-1:-1;9662:4:18;;9376:294;-1:-1:-1;;;;9376:294:18:o;5641:235::-;5705:4;502:7:14;;488:10;-1:-1:-1;;;;;488:21:14;;;502:7;;488:21;480:30;;;;;;5752:17:18;;-1:-1:-1;;;;;5752:17:18;:29;5782:7;5752:38;;;;;-1:-1:-1;;;5752:38:18;;;-1:-1:-1;;;;;5752:38:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5744:47;;;;;;;;5803:21;5816:7;5803:12;:21::i;:::-;5795:30;;;;;;;;-1:-1:-1;;;;;5834:23:18;;;;;;;;;;;;-1:-1:-1;5868:4:18;5641:235;;;:::o;528:63::-;;;;:::o;8836:537::-;197:17:7;;8910:4:18;;;;;;;;175:10:7;-1:-1:-1;;;;;175:40:7;;;197:17;;175:40;167:49;;;;;;-1:-1:-1;;;;;8961:18:18;;;;;;:11;:18;;;;;8997:26;;;;8961:18;;-1:-1:-1;8991:3:18;:32;8983:41;;;;;;9063:1;9059:5;;9054:269;9070:22;;;:29;9066:33;;9054:269;;;9117:22;;;:25;;9140:1;;9117:25;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9151:22:18;;;;;:15;:22;;;;;;9117:25;;;;9151;;;;;;;;:32;9117:25;;-1:-1:-1;;;9151:32:18;;:78;;;;;;;;;9147:172;;9248:17;;;9290:21;;;;-1:-1:-1;;;;;9248:17:18;;;;:31;;9280:5;;9287:1;;9248:64;;;;;-1:-1:-1;;;9248:64:18;;;-1:-1:-1;;;;;9248:64:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9240:73;;;;;;;;9101:3;;;;;9054:269;;;-1:-1:-1;;;;;9331:23:18;;;;;;;;;;;;-1:-1:-1;9365:4:18;;8836:537;-1:-1:-1;;;;8836:537:18:o;383:48::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;4763:102::-;4823:7;4844:9;4854:6;4844:17;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4844:17:18;;;-1:-1:-1;;4763:102:18:o;1499:45::-;;;-1:-1:-1;;;;;1499:45:18;;:::o;6990:150::-;-1:-1:-1;;;;;7098:18:18;;7065:19;7098:18;;;:11;:18;;;;;:31;;:38;;7130:5;;7098:38;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7098:38:18;;;-1:-1:-1;;;6990:150:18:o;876:234:14:-;502:7;;488:10;-1:-1:-1;;;;;488:21:14;;;502:7;;488:21;480:30;;;;;;956:12;;;;;;;948:21;;;;;;;;-1:-1:-1;;;;;981:23:14;;;;973:32;;;;;;1035:7;;-1:-1:-1;;;;;1014:40:14;;;;1035:7;1014:40;;;;;;;;;;1058:7;:24;;-1:-1:-1;;;;;;1058:24:14;-1:-1:-1;;;;;1058:24:14;;;;;;;;-1:-1:-1;;1086:20:14;;;876:234::o;434:53:18:-;;;;:::o;5037:86::-;5103:9;:16;5037:86;;:::o;885:67::-;;;;:::o;9673:940::-;9808:4;502:7:14;;9808:4:18;;;;;;;;488:10:14;-1:-1:-1;;;;;488:21:14;;;502:7;;488:21;480:30;;;;;;9827:17:18;;-1:-1:-1;;;;;9827:17:18;:33;9861:5;9827:40;;;;;-1:-1:-1;;;9827:40:18;;;-1:-1:-1;;;;;9827:40:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9819:49;;;;;;;;9911:35;-1:-1:-1;;;;;9880:25:18;;;:27;;-1:-1:-1;;;9880:27:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:66;;;;;;;;;9872:75;;;;;;-1:-1:-1;;;;;9996:22:18;;;;;;;:15;:22;;;;;;;;:31;;;;;;;;;;;10076:18;;;:11;:18;;;;;;10113:26;;;;9996:31;;-1:-1:-1;10076:18:18;-1:-1:-1;10106:3:18;:33;;10098:42;;;;;;10218:17;;-1:-1:-1;;;;;10218:17:18;:33;10252:7;10218:42;;;;;-1:-1:-1;;;10218:42:18;;;-1:-1:-1;;;;;10218:42:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10190:70;;-1:-1:-1;10190:70:18;;-1:-1:-1;;10321:4:18;-1:-1:-1;;;;;10299:27:18;;;;;;;10291:36;;;;;;10363:37;10340:19;;;;:60;;;;;;;;;10332:69;;;;;;10405:74;;10437:42;-1:-1:-1;;10405:74:18;;;;;;10483:29;;;:49;;-1:-1:-1;;;;;;10483:49:18;-1:-1:-1;;;;;10483:49:18;;;;;;;;;;10542:52;;;;;;;10582:11;10542:52;;;;;;;;;;;;;;-1:-1:-1;10605:4:18;;9673:940;-1:-1:-1;;;;;;;9673:940:18:o;238:22:14:-;;;-1:-1:-1;;;;;238:22:14;;:::o;263:27::-;;;;;;;;;:::o;632:64:18:-;;;;:::o;5403:235::-;5495:17;;5451:4;;-1:-1:-1;;;;;5495:17:18;:36;5532:10;5495:48;;;;;-1:-1:-1;;;5495:48:18;;;-1:-1:-1;;;;;5495:48:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5487:57;;;;;;;;5556:24;5569:10;5556:12;:24::i;:::-;5548:33;;;;;;;;-1:-1:-1;;;;;5608:10:18;5590:29;;;;;;;;;;;-1:-1:-1;5630:4:18;5403:235;:::o;4867:168::-;-1:-1:-1;;;;;4953:22:18;;4929:4;4953:22;;;:13;:22;;;;;;4987:9;:16;;4929:4;;4953:22;;;;4987:16;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4987:16:18;:27;4979:36;;;;;;5026:5;4867:168;-1:-1:-1;;4867:168:18:o;3826:855::-;502:7:14;;488:10;-1:-1:-1;;;;;488:21:14;;;502:7;;488:21;480:30;;;;;;4053:300:18;4080:18;;4114:20;4139:28;;4173:30;4208:32;;4242:34;4281:32;;4315:34;4053:300;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4399:3;4365:37;;;4357:46;;;;;;4407:18;:55;;;;4466:28;:65;;;;4535:32;:69;4608:32;:69;3826:855::o;1328:57::-;1384:1;1328:57;:::o;6268:569::-;-1:-1:-1;;;;;6585:18:18;;;6336:20;6585:18;;;:11;:18;;;;;6619:20;;-1:-1:-1;6644:21:18;;;-1:-1:-1;6670:19:18;;;6694:20;;;;6719:23;;;;6747:26;;;;6778:21;;;;6804:25;;;;;6619:20;;6644:21;;6670:19;;6694:20;;6719:23;;6747:26;;6804:25;;;;;6268:569::o;14180:879::-;14254:4;502:7:14;;14254:4:18;;;;;;488:10:14;-1:-1:-1;;;;;488:21:14;;;502:7;;488:21;480:30;;;;;;14273:17:18;;-1:-1:-1;;;;;14273:17:18;:33;14307:5;14273:40;;;;;-1:-1:-1;;;14273:40:18;;;-1:-1:-1;;;;;14273:40:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14265:49;;;;;;;;-1:-1:-1;;;;;14357:18:18;;;;;;:11;:18;;;;;14394:26;;;;14357:18;;-1:-1:-1;14387:3:18;:33;;14379:42;;;;;;14457:3;14433:9;:20;;;:27;;:59;;;;-1:-1:-1;14464:23:18;;;;:28;14433:59;14425:68;;;;;;;;-1:-1:-1;;;;;14505:27:18;;;:29;;-1:-1:-1;;;14505:29:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14497:38;;;;;;;;14557:1;14545:13;;14540:268;14564:22;;;:29;14560:33;;14540:268;;;14619:22;;;:25;;14642:1;;14619:25;;;;;;;;;;;;;;;;;;;14693:19;;;;-1:-1:-1;;;;;14653:22:18;;;;;:15;:22;;;;;;14619:25;;;;14653;;;;;;;-1:-1:-1;14653:36:18;;14619:25;;-1:-1:-1;14653:59:18;14649:155;;;-1:-1:-1;;;;;14723:22:18;;;;;;;:15;:22;;;;;;;;:25;;;;;;;;;:75;;-1:-1:-1;;14723:75:18;14758:40;14723:75;;;14649:155;14595:3;;;;;14540:268;;;14957:1;14933:21;;;:25;;;14962:19;;;:27;;;14993:20;;;:25;-1:-1:-1;;;;;15027:13:18;;;;;;;;;;;;-1:-1:-1;15051:4:18;;14180:879;-1:-1:-1;;;;14180:879:18:o;15911:2032::-;16002:4;16013:9;16026;16039:19;16062:20;16086:19;16109:30;16143:19;16190:29;;:::i;:::-;16320:31;;16165:10;:21;16143:43;;16222:10;:23;;;16190:55;;16258:1;16254:5;;16249:632;16263:12;:19;16261:1;:21;16249:632;;;16300:12;16313:1;16300:15;;;;;;;;;;;;;;;;-1:-1:-1;;;;;16354:22:18;;;;;;;:15;:22;;;;;;;;:25;;;;;;;;;16388:8;;16354:25;;-1:-1:-1;16354:25:18;-1:-1:-1;16400:38:18;;16388:8;;:50;;;;;;;;;16384:493;;;16465:18;;;;-1:-1:-1;;;;;16465:18:18;:32;;16464:42;;16505:1;16464:42;;;16501:1;16464:42;16449:57;;;;16556:30;:24;16568:11;16556:1;:7;;;:11;;:24;;;;:::i;:::-;:28;:30::i;:::-;16552:1;:34;;-1:-1:-1;16607:29:18;:11;16552:34;16607:29;:15;:29;:::i;:::-;16642:8;;;:27;;;16592:44;-1:-1:-1;16384:493:18;;;16832:39;16848:10;:22;;;16832:11;;:39;:15;:39;:::i;:::-;16818:53;;16384:493;16284:3;;;;;16249:632;;;16906:1;16892:15;;16884:24;;;;;;16988:79;17011:55;17028:10;:37;;;17019:3;;17011:55;:16;:55;:::i;:::-;16988:11;;:79;:22;:79;:::i;:::-;16959:108;;17081:1;17077:5;;17072:703;17086:12;:19;17084:1;:21;17072:703;;;17123:12;17136:1;17123:15;;;;;;;;;;;;;;;;-1:-1:-1;;;;;17147:22:18;;;;;;;:15;:22;;;;;;;;:25;;;;;;;;;:32;17119:19;;-1:-1:-1;17183:38:18;;17147:32;;:74;;;;;;;;;17143:628;;;-1:-1:-1;;;;;17290:22:18;;;;;;;:15;:22;;;;;;;;:25;;;;;;;;;:32;;;17257:79;;:18;;17324:11;17257:32;:79::i;:::-;17232:104;-1:-1:-1;17357:39:18;:11;17232:104;17357:39;:15;:39;:::i;:::-;17342:54;;17410:17;;;;;;;;;-1:-1:-1;;;;;17410:17:18;-1:-1:-1;;;;;17410:31:18;;17442:5;17449:1;17452:10;:22;;;17410:65;;;;;-1:-1:-1;;;17410:65:18;;;-1:-1:-1;;;;;17410:65:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17402:74;;;;;;;;17490:17;;;-1:-1:-1;;;;;17490:17:18;;:31;;17522:5;;17529:1;;17532:22;;17490:71;;;;;-1:-1:-1;;;17490:71:18;;;-1:-1:-1;;;;;17490:71:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17482:80;;;;;;;;17143:628;;;17677:17;;;;;;;;;-1:-1:-1;;;;;17677:17:18;-1:-1:-1;;;;;17677:30:18;;17708:5;17715:1;17718:10;:22;;;17742:4;17677:70;;;;;-1:-1:-1;;;17677:70:18;;;-1:-1:-1;;;;;17677:70:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17669:79;;;;;;;;17107:3;;;;;17072:703;;;17836:17;;-1:-1:-1;;;;;17836:17:18;:31;17868:5;17836:17;17875:26;;;17903:11;17916:5;17836:86;;;;;-1:-1:-1;;;17836:86:18;;;-1:-1:-1;;;;;17836:86:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17828:95;;;;;;;;-1:-1:-1;17935:4:18;;15911:2032;-1:-1:-1;;;;;;;;;;;;15911:2032:18:o;531:106:15:-;589:7;610:6;;;;603:14;;;;-1:-1:-1;628:5:15;;;531:106::o;405:123::-;463:7;489:5;;;505:6;;;;498:14;;;;523:1;516:8;;405:123;;;;;;:::o;640:162::-;698:7;;716:6;;712:32;;;738:1;731:8;;;;712:32;-1:-1:-1;759:5:15;;;763:1;759;:5;775;;;;;;;;:10;768:18;;;1388:114;1453:7;1474:24;1488:1;1491;1494:3;1474:13;:24::i;:::-;1467:31;1388:114;-1:-1:-1;;;1388:114:15:o;5879:386:18:-;5936:4;5947:10;6021:18;5960:23;5975:7;5960:14;:23::i;:::-;6042:9;6052:16;;5947:36;;-1:-1:-1;6042:9:18;6052:23;;6073:1;6052:23;:20;:23;:::i;:::-;6042:34;;;;;;;;;;;;;;;;;;6080:9;:25;;-1:-1:-1;;;;;6042:34:18;;;;-1:-1:-1;6042:34:18;;6094:5;;6080:25;;;;;;;;;;;;;;;;;;:38;;-1:-1:-1;;;;;;6080:38:18;-1:-1:-1;;;;;6080:38:18;;;;;;6122:25;;;;;:13;:25;;;;;;:33;;;6166:9;6176:16;;:23;;-1:-1:-1;6176:20:18;:23::i;:::-;6166:34;;;;;;;;;;;;;;;;;6159:41;;-1:-1:-1;;;;;;6159:41:18;;;6223:9;:16;:23;;-1:-1:-1;6223:20:18;:23::i;:::-;6204:42;:9;:42;;:::i;1604:1539:15:-;1704:1;1950:35;1907:19;1872:11;1841:7;1812:5;1784:4;1756;1728;-1:-1:-1;;1698:8:15;;1721:12;;;1715:19;1749:12;;;1743:19;1777:12;;;1771:19;1805:13;;;1799:20;1834:15;;;1828:22;1865:19;;;1859:26;1900:27;;;1894:34;1943:43;;;1937:50;1996:9;;-1:-1:-1;;2024:4:15;2018:11;2053:66;2040:1;2033:87;2144:66;2137:4;2135:1;2131:11;2124:87;2235:66;2228:4;2226:1;2222:11;2215:87;2326:66;2319:4;2317:1;2313:11;2306:87;2417:66;2410:4;2408:1;2404:11;2397:87;2508:66;2501:4;2499:1;2495:11;2488:87;2599:66;2592:4;2590:1;2586:11;2579:87;2690:66;2683:4;2681:1;2677:11;2670:87;2781:5;2778:1;2774:13;2768:4;2761:27;2805:64;2886:65;2983:5;2975;2972:1;2968:13;2964:25;3028:5;3022:1;3018:3;3014:10;3012:1;3008:17;3002:24;2998:36;2993:41;;3067:66;3062:3;3059:75;3054:3;3050:85;3047:1;3043:93;3038:98;;1672:1468;;;;;;;;:::o;1264:121::-;1343:7;1364:17;1368:9;1372:1;1375;1368:3;:9::i;:::-;1379:1;1364:3;:17::i;:::-;1357:24;1264:121;-1:-1:-1;;;;1264:121:15:o;805:257::-;863:7;949:9;965:1;961;:5;;;;;;;;;805:257;-1:-1:-1;;;;805:257:15:o;253:17693:18:-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::o;:::-;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;", + "source": "pragma solidity ^0.4.21;\n\nimport './OwnableOZ.sol';\nimport './IexecHubAccessor.sol';\nimport './MarketplaceAccessor.sol';\nimport './IexecHub.sol';\nimport \"./SafeMathOZ.sol\";\nimport \"./WorkOrder.sol\";\nimport \"./Marketplace.sol\";\nimport './IexecLib.sol';\n\ncontract WorkerPool is OwnableOZ, IexecHubAccessor, MarketplaceAccessor\n{\n\tusing SafeMathOZ for uint256;\n\n\n\t/**\n\t * Members\n\t */\n\tstring public m_description;\n\tuint256 public m_stakeRatioPolicy; // % of reward to stake\n\tuint256 public m_schedulerRewardRatioPolicy; // % of reward given to scheduler\n\tuint256 public m_subscriptionLockStakePolicy; // Stake locked when in workerpool - Constant set by constructor, do not update\n\tuint256 public m_subscriptionMinimumStakePolicy; // Minimum stake for subscribing\n\tuint256 public m_subscriptionMinimumScorePolicy; // Minimum score for subscribing\n\taddress[] public m_workers;\n\tmapping(address => uint256) public m_workerIndex;\n\n\t// mapping(woid => IexecLib.Consensus)\n\tmapping(address => IexecLib.Consensus) public m_consensus;\n\t// mapping(woid => worker address => Contribution);\n\tmapping(address => mapping(address => IexecLib.Contribution)) public m_contributions;\n\n\tuint256 public constant REVEAL_PERIOD_DURATION_RATIO = 2;\n\tuint256 public constant CONSENSUS_DURATION_RATIO = 10;\n\n\t/**\n\t * Address of slave/related contracts\n\t */\n\taddress public m_workerPoolHubAddress;\n\n\n\t/**\n\t * Events\n\t */\n\tevent WorkerPoolPolicyUpdate(\n\t\tuint256 oldStakeRatioPolicy, uint256 newStakeRatioPolicy,\n\t\tuint256 oldSchedulerRewardRatioPolicy, uint256 newSchedulerRewardRatioPolicy,\n\t\tuint256 oldSubscriptionMinimumStakePolicy, uint256 newSubscriptionMinimumStakePolicy,\n\t\tuint256 oldSubscriptionMinimumScorePolicy, uint256 newSubscriptionMinimumScorePolicy);\n\n\tevent WorkOrderActive (address indexed woid);\n\tevent WorkOrderClaimed (address indexed woid);\n\n\tevent AllowWorkerToContribute (address indexed woid, address indexed worker, uint256 workerScore);\n\tevent Contribute (address indexed woid, address indexed worker, bytes32 resultHash);\n\tevent RevealConsensus (address indexed woid, bytes32 consensus);\n\tevent Reveal (address indexed woid, address indexed worker, bytes32 result);\n\tevent Reopen (address indexed woid);\n event FinalizeWork (address indexed woid, string stdout, string stderr, string uri);\n\n\n\n\tevent WorkerSubscribe (address indexed worker);\n\tevent WorkerUnsubscribe (address indexed worker);\n\tevent WorkerEviction (address indexed worker);\n\n\t/**\n\t * Methods\n\t */\n\t// Constructor\n\tfunction WorkerPool(\n\t\taddress _iexecHubAddress,\n\t\tstring _description,\n\t\tuint256 _subscriptionLockStakePolicy,\n\t\tuint256 _subscriptionMinimumStakePolicy,\n\t\tuint256 _subscriptionMinimumScorePolicy,\n\t\taddress _marketplaceAddress)\n\tIexecHubAccessor(_iexecHubAddress)\n\tMarketplaceAccessor(_marketplaceAddress)\n\tpublic\n\t{\n\t\t// tx.origin == owner\n\t\t// msg.sender == WorkerPoolHub\n\t\trequire(tx.origin != msg.sender);\n\t\tsetImmutableOwnership(tx.origin); // owner → tx.origin\n\n\t\tm_description = _description;\n\t\tm_stakeRatioPolicy = 30; // % of the work order price to stake\n\t\tm_schedulerRewardRatioPolicy = 1; // % of the work reward going to scheduler vs workers reward\n\t\tm_subscriptionLockStakePolicy = _subscriptionLockStakePolicy; // only at creation. cannot be change to respect lock/unlock of worker stake\n\t\tm_subscriptionMinimumStakePolicy = _subscriptionMinimumStakePolicy;\n\t\tm_subscriptionMinimumScorePolicy = _subscriptionMinimumScorePolicy;\n\t\tm_workerPoolHubAddress = msg.sender;\n\n\t}\n\n\tfunction changeWorkerPoolPolicy(\n\t\tuint256 _newStakeRatioPolicy,\n\t\tuint256 _newSchedulerRewardRatioPolicy,\n\t\tuint256 _newSubscriptionMinimumStakePolicy,\n\t\tuint256 _newSubscriptionMinimumScorePolicy)\n\tpublic onlyOwner\n\t{\n\t\temit WorkerPoolPolicyUpdate(\n\t\t\tm_stakeRatioPolicy, _newStakeRatioPolicy,\n\t\t\tm_schedulerRewardRatioPolicy, _newSchedulerRewardRatioPolicy,\n\t\t\tm_subscriptionMinimumStakePolicy, _newSubscriptionMinimumStakePolicy,\n\t\t\tm_subscriptionMinimumScorePolicy, _newSubscriptionMinimumScorePolicy\n\t\t);\n\t\trequire(_newSchedulerRewardRatioPolicy <= 100);\n\t\tm_stakeRatioPolicy = _newStakeRatioPolicy;\n\t\tm_schedulerRewardRatioPolicy = _newSchedulerRewardRatioPolicy;\n\t\tm_subscriptionMinimumStakePolicy = _newSubscriptionMinimumStakePolicy;\n\t\tm_subscriptionMinimumScorePolicy = _newSubscriptionMinimumScorePolicy;\n\t}\n\n\t/************************* worker list management **************************/\n\tfunction getWorkerAddress(uint _index) public view returns (address)\n\t{\n\t\treturn m_workers[_index];\n\t}\n\tfunction getWorkerIndex(address _worker) public view returns (uint)\n\t{\n\t\tuint index = m_workerIndex[_worker];\n\t\trequire(m_workers[index] == _worker);\n\t\treturn index;\n\t}\n\tfunction getWorkersCount() public view returns (uint)\n\t{\n\t\treturn m_workers.length;\n\t}\n\n\tfunction subscribeToPool() public returns (bool)\n\t{\n\t\t// msg.sender = worker\n\t\trequire(iexecHubInterface.registerToPool(msg.sender));\n\t\tuint index = m_workers.push(msg.sender);\n\t\tm_workerIndex[msg.sender] = index.sub(1);\n\t\temit WorkerSubscribe(msg.sender);\n\t\treturn true;\n\t}\n\n\tfunction unsubscribeFromPool() public returns (bool)\n\t{\n\t\t// msg.sender = worker\n\t\trequire(iexecHubInterface.unregisterFromPool(msg.sender));\n\t\trequire(removeWorker(msg.sender));\n\t\temit WorkerUnsubscribe(msg.sender);\n\t\treturn true;\n\t}\n\n\tfunction evictWorker(address _worker) public onlyOwner returns (bool)\n\t{\n\t\t// msg.sender = scheduler\n\t\trequire(iexecHubInterface.evictWorker(_worker));\n\t\trequire(removeWorker(_worker));\n\t\temit WorkerEviction(_worker);\n\t\treturn true;\n\t}\n\n\tfunction removeWorker(address _worker) internal returns (bool)\n\t{\n\t\tuint index = getWorkerIndex(_worker); // fails if worker not registered\n\t\taddress lastWorker = m_workers[m_workers.length.sub(1)];\n\t\tm_workers [index ] = lastWorker;\n\t\tm_workerIndex[lastWorker] = index;\n\t\tdelete m_workers[m_workers.length.sub(1)];\n\t\tm_workers.length = m_workers.length.sub(1);\n\t\treturn true;\n\t}\n\n\tfunction getConsensusDetails(address _woid) public view returns (\n\t\tuint256 c_poolReward,\n\t\tuint256 c_stakeAmount,\n\t\tbytes32 c_consensus,\n\t\tuint256 c_revealDate,\n\t\tuint256 c_revealCounter,\n\t\tuint256 c_consensusTimeout,\n\t\tuint256 c_winnerCount,\n\t\taddress c_workerpoolOwner)\n\t{\n\t\tIexecLib.Consensus storage consensus = m_consensus[_woid];\n\t\treturn (\n\t\t\tconsensus.poolReward,\n\t\t\tconsensus.stakeAmount,\n\t\t\tconsensus.consensus,\n\t\t\tconsensus.revealDate,\n\t\t\tconsensus.revealCounter,\n\t\t\tconsensus.consensusTimeout,\n\t\t\tconsensus.winnerCount,\n\t\t\tconsensus.workerpoolOwner\n\t\t);\n\t}\n\n\tfunction getContributorsCount(address _woid) public view returns (uint256 contributorsCount)\n\t{\n\t\treturn m_consensus[_woid].contributors.length;\n\t}\n\n\tfunction getContributor(address _woid, uint256 index) public view returns (address contributor)\n\t{\n\t\treturn m_consensus[_woid].contributors[index];\n\t}\n\n\tfunction existingContribution(address _woid, address _worker) public view returns (bool contributionExist)\n\t{\n\t\treturn m_contributions[_woid][_worker].status != IexecLib.ContributionStatusEnum.UNSET;\n\t}\n\n\tfunction getContribution(address _woid, address _worker) public view returns\n\t(\n\t\tIexecLib.ContributionStatusEnum status,\n\t\tbytes32 resultHash,\n\t\tbytes32 resultSign,\n\t\taddress enclaveChallenge,\n\t\tuint256 score,\n\t\tuint256 weight)\n\t{\n\t\trequire(existingContribution(_woid, _worker)); // no silent value returned\n\t\tIexecLib.Contribution storage contribution = m_contributions[_woid][_worker];\n\t\treturn (\n\t\t\tcontribution.status,\n\t\t\tcontribution.resultHash,\n\t\t\tcontribution.resultSign,\n\t\t\tcontribution.enclaveChallenge,\n\t\t\tcontribution.score,\n\t\t\tcontribution.weight\n\t\t);\n\t}\n\n\n\t/**************************** Works management *****************************/\n\tfunction emitWorkOrder(address _woid, uint256 _marketorderIdx) public onlyIexecHub returns (bool)\n\t{\n\t\tuint256 catid = marketplaceInterface.getMarketOrderCategory(_marketorderIdx);\n\t\tuint256 timeout = iexecHubInterface.getCategoryWorkClockTimeRef(catid).mul(CONSENSUS_DURATION_RATIO).add(now);\n\n\t\tIexecLib.Consensus storage consensus = m_consensus[_woid];\n\t\tconsensus.poolReward = marketplaceInterface.getMarketOrderValue(_marketorderIdx);\n\t\tconsensus.workerpoolOwner = marketplaceInterface.getMarketOrderWorkerpoolOwner(_marketorderIdx);\n\t\tconsensus.stakeAmount = consensus.poolReward.percentage(m_stakeRatioPolicy);\n\t\tconsensus.consensusTimeout = timeout;\n\t\tconsensus.schedulerRewardRatioPolicy = m_schedulerRewardRatioPolicy;\n\n\t\temit WorkOrderActive(_woid);\n\n\t\treturn true;\n\t}\n\n\tfunction claimFailedConsensus(address _woid) public onlyIexecHub returns (bool)\n\t{\n\t IexecLib.Consensus storage consensus = m_consensus[_woid];\n\t\trequire(now > consensus.consensusTimeout);\n\t\tuint256 i;\n\t\taddress w;\n\t\tfor (i = 0; i < consensus.contributors.length; ++i)\n\t\t{\n\t\t\tw = consensus.contributors[i];\n\t\t\tif (m_contributions[_woid][w].status != IexecLib.ContributionStatusEnum.AUTHORIZED)\n\t\t\t{\n\t\t\t\trequire(iexecHubInterface.unlockForWork(_woid, w, consensus.stakeAmount));\n\t\t\t}\n\t\t}\n\t\temit WorkOrderClaimed(_woid);\n\t\treturn true;\n\t}\n\n\tfunction allowWorkersToContribute(address _woid, address[] _workers, address _enclaveChallenge) public onlyOwner /*onlySheduler*/ returns (bool)\n\t{\n\t\tfor (uint i = 0; i < _workers.length; ++i)\n\t\t{\n\t\t\trequire(allowWorkerToContribute(_woid, _workers[i], _enclaveChallenge));\n\t\t}\n\t\treturn true;\n\t}\n\n\tfunction allowWorkerToContribute(address _woid, address _worker, address _enclaveChallenge) public onlyOwner /*onlySheduler*/ returns (bool)\n\t{\n\t\trequire(iexecHubInterface.isWoidRegistred(_woid));\n\t\trequire(WorkOrder(_woid).m_status() == IexecLib.WorkOrderStatusEnum.ACTIVE);\n\t\tIexecLib.Contribution storage contribution = m_contributions[_woid][_worker];\n\t\tIexecLib.Consensus storage consensus = m_consensus[_woid];\n\t\trequire(now <= consensus.consensusTimeout);\n\n\t\taddress workerPool;\n\t\tuint256 workerScore;\n\t\t(workerPool, workerScore) = iexecHubInterface.getWorkerStatus(_worker); // workerPool, workerScore\n\t\trequire(workerPool == address(this));\n\n\t\trequire(contribution.status == IexecLib.ContributionStatusEnum.UNSET);\n\t\tcontribution.status = IexecLib.ContributionStatusEnum.AUTHORIZED;\n\t\tcontribution.enclaveChallenge = _enclaveChallenge;\n\n\t\temit AllowWorkerToContribute(_woid, _worker, workerScore);\n\t\treturn true;\n\t}\n\n\tfunction contribute(address _woid, bytes32 _resultHash, bytes32 _resultSign, uint8 _v, bytes32 _r, bytes32 _s) public returns (uint256 workerStake)\n\t{\n\t\trequire(iexecHubInterface.isWoidRegistred(_woid));\n\t\tIexecLib.Consensus storage consensus = m_consensus[_woid];\n\t\trequire(now <= consensus.consensusTimeout);\n\t\trequire(WorkOrder(_woid).m_status() == IexecLib.WorkOrderStatusEnum.ACTIVE); // can't contribute on a claimed or completed workorder\n\t\tIexecLib.Contribution storage contribution = m_contributions[_woid][msg.sender];\n\n\t\t// msg.sender = a worker\n\t\trequire(_resultHash != 0x0);\n\t\trequire(_resultSign != 0x0);\n\t\tif (contribution.enclaveChallenge != address(0))\n\t\t{\n\t\t\trequire(contribution.enclaveChallenge == ecrecover(keccak256(\"\\x19Ethereum Signed Message:\\n64\", _resultHash, _resultSign), _v, _r, _s));\n\t\t}\n\n\t\trequire(contribution.status == IexecLib.ContributionStatusEnum.AUTHORIZED);\n\t\tcontribution.status = IexecLib.ContributionStatusEnum.CONTRIBUTED;\n\t\tcontribution.resultHash = _resultHash;\n\t\tcontribution.resultSign = _resultSign;\n\t\tcontribution.score = iexecHubInterface.getWorkerScore(msg.sender);\n\t\tconsensus.contributors.push(msg.sender);\n\n\t\trequire(iexecHubInterface.lockForWork(_woid, msg.sender, consensus.stakeAmount));\n\t\temit Contribute(_woid, msg.sender, _resultHash);\n\t\treturn consensus.stakeAmount;\n\t}\n\n\tfunction revealConsensus(address _woid, bytes32 _consensus) public onlyOwner /*onlySheduler*/ returns (bool)\n\t{\n\t\trequire(iexecHubInterface.isWoidRegistred(_woid));\n\t\tIexecLib.Consensus storage consensus = m_consensus[_woid];\n\t\trequire(now <= consensus.consensusTimeout);\n\t\trequire(WorkOrder(_woid).startRevealingPhase());\n\n\t\tconsensus.winnerCount = 0;\n\t\tfor (uint256 i = 0; i 0); // you cannot revealConsensus if no worker has contributed to this hash\n\n\t\tconsensus.consensus = _consensus;\n\t\tconsensus.revealDate = iexecHubInterface.getCategoryWorkClockTimeRef(marketplaceInterface.getMarketOrderCategory(WorkOrder(_woid).m_marketorderIdx())).mul(REVEAL_PERIOD_DURATION_RATIO).add(now); // is it better to store th catid ?\n\t\temit RevealConsensus(_woid, _consensus);\n\t\treturn true;\n\t}\n\n\tfunction reveal(address _woid, bytes32 _result) public returns (bool)\n\t{\n\t\trequire(iexecHubInterface.isWoidRegistred(_woid));\n\t\tIexecLib.Consensus storage consensus = m_consensus[_woid];\n\t\trequire(now <= consensus.consensusTimeout);\n\t\tIexecLib.Contribution storage contribution = m_contributions[_woid][msg.sender];\n\n\t\trequire(WorkOrder(_woid).m_status() == IexecLib.WorkOrderStatusEnum.REVEALING );\n\t\trequire(consensus.revealDate > now );\n\t\trequire(contribution.status == IexecLib.ContributionStatusEnum.CONTRIBUTED);\n\t\trequire(contribution.resultHash == consensus.consensus );\n\t\trequire(contribution.resultHash == keccak256(_result ) );\n\t\trequire(contribution.resultSign == keccak256(_result ^ keccak256(msg.sender)) );\n\n\t\tcontribution.status = IexecLib.ContributionStatusEnum.PROVED;\n\t\tconsensus.revealCounter = consensus.revealCounter.add(1);\n\n\t\temit Reveal(_woid, msg.sender, _result);\n\t\treturn true;\n\t}\n\n\tfunction reopen(address _woid) public onlyOwner /*onlySheduler*/ returns (bool)\n\t{\n\t\trequire(iexecHubInterface.isWoidRegistred(_woid));\n\t\tIexecLib.Consensus storage consensus = m_consensus[_woid];\n\t\trequire(now <= consensus.consensusTimeout);\n\t\trequire(consensus.revealDate <= now && consensus.revealCounter == 0);\n\t\trequire(WorkOrder(_woid).reActivate());\n\n\t\tfor (uint256 i = 0; i < consensus.contributors.length; ++i)\n\t\t{\n\t\t\taddress w = consensus.contributors[i];\n\t\t\tif (m_contributions[_woid][w].resultHash == consensus.consensus)\n\t\t\t{\n\t\t\t\tm_contributions[_woid][w].status = IexecLib.ContributionStatusEnum.REJECTED;\n\t\t\t}\n\t\t}\n\t\t// Reset to status before revealConsensus. Must be after REJECTED traitement above because of consensus.consensus check\n\t\tconsensus.winnerCount = 0;\n\t\tconsensus.consensus = 0x0;\n\t\tconsensus.revealDate = 0;\n\t\temit Reopen(_woid);\n\t\treturn true;\n\t}\n\n\t// if sheduler never call finalized ? no incetive to do that. schedulermust be pay also at this time\n\tfunction finalizeWork(address _woid, string _stdout, string _stderr, string _uri) public onlyOwner /*onlySheduler*/ returns (bool)\n\t{\n\t\trequire(iexecHubInterface.isWoidRegistred(_woid));\n\t\tIexecLib.Consensus storage consensus = m_consensus[_woid];\n\t\trequire(now <= consensus.consensusTimeout);\n\t\trequire((consensus.revealDate <= now && consensus.revealCounter > 0) || (consensus.revealCounter == consensus.winnerCount)); // consensus.winnerCount never 0 at this step\n\n\t\t// add penalized to the call worker to contribution and they never contribute ?\n\t\trequire(distributeRewards(_woid, consensus));\n\n\t\trequire(iexecHubInterface.finalizeWorkOrder(_woid, _stdout, _stderr, _uri));\n\t\temit FinalizeWork(_woid,_stdout,_stderr,_uri);\n\t\treturn true;\n\t}\n\n\tfunction distributeRewards(address _woid, IexecLib.Consensus _consensus) internal returns (bool)\n\t{\n\t\tuint256 i;\n\t\taddress w;\n\t\tuint256 workerBonus;\n\t\tuint256 workerWeight;\n\t\tuint256 totalWeight;\n\t\tuint256 individualWorkerReward;\n\t\tuint256 totalReward = _consensus.poolReward;\n\t\taddress[] memory contributors = _consensus.contributors;\n\t\tfor (i = 0; i 0);\n\n\t\t// compute how much is going to the workers\n\t\tuint256 totalWorkersReward = totalReward.percentage(uint256(100).sub(_consensus.schedulerRewardRatioPolicy));\n\n\t\tfor (i = 0; i uint256)" + }, + "typeName": { + "id": 4336, + "keyType": { + "id": 4334, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1043:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "1035:27:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "valueType": { + "id": 4335, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1054:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 4341, + "name": "m_consensus", + "nodeType": "VariableDeclaration", + "scope": 6097, + "src": "1127:57:18", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Consensus_$2854_storage_$", + "typeString": "mapping(address => struct IexecLib.Consensus storage ref)" + }, + "typeName": { + "id": 4340, + "keyType": { + "id": 4338, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1135:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "1127:38:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Consensus_$2854_storage_$", + "typeString": "mapping(address => struct IexecLib.Consensus storage ref)" + }, + "valueType": { + "contractScope": null, + "id": 4339, + "name": "IexecLib.Consensus", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2854, + "src": "1146:18:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 4347, + "name": "m_contributions", + "nodeType": "VariableDeclaration", + "scope": 6097, + "src": "1240:84:18", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_Contribution_$2873_storage_$_$", + "typeString": "mapping(address => mapping(address => struct IexecLib.Contribution storage ref))" + }, + "typeName": { + "id": 4346, + "keyType": { + "id": 4342, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1248:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "1240:61:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_Contribution_$2873_storage_$_$", + "typeString": "mapping(address => mapping(address => struct IexecLib.Contribution storage ref))" + }, + "valueType": { + "id": 4345, + "keyType": { + "id": 4343, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1267:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "1259:41:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Contribution_$2873_storage_$", + "typeString": "mapping(address => struct IexecLib.Contribution storage ref)" + }, + "valueType": { + "contractScope": null, + "id": 4344, + "name": "IexecLib.Contribution", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2873, + "src": "1278:21:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + } + } + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": true, + "id": 4350, + "name": "REVEAL_PERIOD_DURATION_RATIO", + "nodeType": "VariableDeclaration", + "scope": 6097, + "src": "1328:57:18", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4348, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1328:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "32", + "id": 4349, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1384:1:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "visibility": "public" + }, + { + "constant": true, + "id": 4353, + "name": "CONSENSUS_DURATION_RATIO", + "nodeType": "VariableDeclaration", + "scope": 6097, + "src": "1388:58:18", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4351, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1388:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "3130", + "id": 4352, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1444:2:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + }, + "visibility": "public" + }, + { + "constant": false, + "id": 4355, + "name": "m_workerPoolHubAddress", + "nodeType": "VariableDeclaration", + "scope": 6097, + "src": "1499:45:18", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4354, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1499:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "anonymous": false, + "documentation": "Events", + "id": 4373, + "name": "WorkerPoolPolicyUpdate", + "nodeType": "EventDefinition", + "parameters": { + "id": 4372, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4357, + "indexed": false, + "name": "oldStakeRatioPolicy", + "nodeType": "VariableDeclaration", + "scope": 4373, + "src": "1602:27:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4356, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1602:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4359, + "indexed": false, + "name": "newStakeRatioPolicy", + "nodeType": "VariableDeclaration", + "scope": 4373, + "src": "1645:27:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4358, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1645:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4361, + "indexed": false, + "name": "oldSchedulerRewardRatioPolicy", + "nodeType": "VariableDeclaration", + "scope": 4373, + "src": "1676:37:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4360, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1676:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4363, + "indexed": false, + "name": "newSchedulerRewardRatioPolicy", + "nodeType": "VariableDeclaration", + "scope": 4373, + "src": "1719:37:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4362, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1719:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4365, + "indexed": false, + "name": "oldSubscriptionMinimumStakePolicy", + "nodeType": "VariableDeclaration", + "scope": 4373, + "src": "1760:41:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4364, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1760:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4367, + "indexed": false, + "name": "newSubscriptionMinimumStakePolicy", + "nodeType": "VariableDeclaration", + "scope": 4373, + "src": "1803:41:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4366, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1803:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4369, + "indexed": false, + "name": "oldSubscriptionMinimumScorePolicy", + "nodeType": "VariableDeclaration", + "scope": 4373, + "src": "1848:41:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4368, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1848:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4371, + "indexed": false, + "name": "newSubscriptionMinimumScorePolicy", + "nodeType": "VariableDeclaration", + "scope": 4373, + "src": "1891:41:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4370, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1891:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1598:335:18" + }, + "src": "1570:364:18" + }, + { + "anonymous": false, + "documentation": null, + "id": 4377, + "name": "WorkOrderActive", + "nodeType": "EventDefinition", + "parameters": { + "id": 4376, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4375, + "indexed": true, + "name": "woid", + "nodeType": "VariableDeclaration", + "scope": 4377, + "src": "1968:20:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4374, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1968:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1967:22:18" + }, + "src": "1937:53:18" + }, + { + "anonymous": false, + "documentation": null, + "id": 4381, + "name": "WorkOrderClaimed", + "nodeType": "EventDefinition", + "parameters": { + "id": 4380, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4379, + "indexed": true, + "name": "woid", + "nodeType": "VariableDeclaration", + "scope": 4381, + "src": "2023:20:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4378, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2023:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2022:22:18" + }, + "src": "1992:53:18" + }, + { + "anonymous": false, + "documentation": null, + "id": 4389, + "name": "AllowWorkerToContribute", + "nodeType": "EventDefinition", + "parameters": { + "id": 4388, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4383, + "indexed": true, + "name": "woid", + "nodeType": "VariableDeclaration", + "scope": 4389, + "src": "2079:20:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4382, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2079:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4385, + "indexed": true, + "name": "worker", + "nodeType": "VariableDeclaration", + "scope": 4389, + "src": "2101:22:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4384, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2101:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4387, + "indexed": false, + "name": "workerScore", + "nodeType": "VariableDeclaration", + "scope": 4389, + "src": "2125:19:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4386, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2125:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2078:67:18" + }, + "src": "2048:98:18" + }, + { + "anonymous": false, + "documentation": null, + "id": 4397, + "name": "Contribute", + "nodeType": "EventDefinition", + "parameters": { + "id": 4396, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4391, + "indexed": true, + "name": "woid", + "nodeType": "VariableDeclaration", + "scope": 4397, + "src": "2179:20:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4390, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2179:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4393, + "indexed": true, + "name": "worker", + "nodeType": "VariableDeclaration", + "scope": 4397, + "src": "2201:22:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4392, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2201:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4395, + "indexed": false, + "name": "resultHash", + "nodeType": "VariableDeclaration", + "scope": 4397, + "src": "2225:18:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4394, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2225:7:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2178:66:18" + }, + "src": "2148:97:18" + }, + { + "anonymous": false, + "documentation": null, + "id": 4403, + "name": "RevealConsensus", + "nodeType": "EventDefinition", + "parameters": { + "id": 4402, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4399, + "indexed": true, + "name": "woid", + "nodeType": "VariableDeclaration", + "scope": 4403, + "src": "2278:20:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4398, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2278:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4401, + "indexed": false, + "name": "consensus", + "nodeType": "VariableDeclaration", + "scope": 4403, + "src": "2300:17:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4400, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2300:7:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2277:41:18" + }, + "src": "2247:72:18" + }, + { + "anonymous": false, + "documentation": null, + "id": 4411, + "name": "Reveal", + "nodeType": "EventDefinition", + "parameters": { + "id": 4410, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4405, + "indexed": true, + "name": "woid", + "nodeType": "VariableDeclaration", + "scope": 4411, + "src": "2352:20:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4404, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2352:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4407, + "indexed": true, + "name": "worker", + "nodeType": "VariableDeclaration", + "scope": 4411, + "src": "2374:22:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4406, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2374:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4409, + "indexed": false, + "name": "result", + "nodeType": "VariableDeclaration", + "scope": 4411, + "src": "2398:14:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4408, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2398:7:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2351:62:18" + }, + "src": "2321:93:18" + }, + { + "anonymous": false, + "documentation": null, + "id": 4415, + "name": "Reopen", + "nodeType": "EventDefinition", + "parameters": { + "id": 4414, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4413, + "indexed": true, + "name": "woid", + "nodeType": "VariableDeclaration", + "scope": 4415, + "src": "2447:20:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4412, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2447:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2446:22:18" + }, + "src": "2416:53:18" + }, + { + "anonymous": false, + "documentation": null, + "id": 4425, + "name": "FinalizeWork", + "nodeType": "EventDefinition", + "parameters": { + "id": 4424, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4417, + "indexed": true, + "name": "woid", + "nodeType": "VariableDeclaration", + "scope": 4425, + "src": "2503:20:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4416, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2503:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4419, + "indexed": false, + "name": "stdout", + "nodeType": "VariableDeclaration", + "scope": 4425, + "src": "2525:13:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 4418, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2525:6:18", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4421, + "indexed": false, + "name": "stderr", + "nodeType": "VariableDeclaration", + "scope": 4425, + "src": "2540:13:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 4420, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2540:6:18", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4423, + "indexed": false, + "name": "uri", + "nodeType": "VariableDeclaration", + "scope": 4425, + "src": "2555:10:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 4422, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2555:6:18", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2502:64:18" + }, + "src": "2472:95:18" + }, + { + "anonymous": false, + "documentation": null, + "id": 4429, + "name": "WorkerSubscribe", + "nodeType": "EventDefinition", + "parameters": { + "id": 4428, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4427, + "indexed": true, + "name": "worker", + "nodeType": "VariableDeclaration", + "scope": 4429, + "src": "2603:22:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4426, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2603:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2602:24:18" + }, + "src": "2572:55:18" + }, + { + "anonymous": false, + "documentation": null, + "id": 4433, + "name": "WorkerUnsubscribe", + "nodeType": "EventDefinition", + "parameters": { + "id": 4432, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4431, + "indexed": true, + "name": "worker", + "nodeType": "VariableDeclaration", + "scope": 4433, + "src": "2660:22:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4430, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2660:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2659:24:18" + }, + "src": "2629:55:18" + }, + { + "anonymous": false, + "documentation": null, + "id": 4437, + "name": "WorkerEviction", + "nodeType": "EventDefinition", + "parameters": { + "id": 4436, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4435, + "indexed": true, + "name": "worker", + "nodeType": "VariableDeclaration", + "scope": 4437, + "src": "2717:22:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4434, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2717:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2716:24:18" + }, + "src": "2686:55:18" + }, + { + "body": { + "id": 4500, + "nodeType": "Block", + "src": "3099:724:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 4463, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4459, + "name": "tx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7018, + "src": "3169:2:18", + "typeDescriptions": { + "typeIdentifier": "t_magic_transaction", + "typeString": "tx" + } + }, + "id": 4460, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "origin", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3169:9:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4461, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "3182:3:18", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 4462, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3182:10:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "3169:23:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 4458, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "3161:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 4464, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3161:32:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4465, + "nodeType": "ExpressionStatement", + "src": "3161:32:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4467, + "name": "tx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7018, + "src": "3219:2:18", + "typeDescriptions": { + "typeIdentifier": "t_magic_transaction", + "typeString": "tx" + } + }, + "id": 4468, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "origin", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3219:9:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 4466, + "name": "setImmutableOwnership", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3746, + "src": "3197:21:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 4469, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3197:32:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4470, + "nodeType": "ExpressionStatement", + "src": "3197:32:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 4473, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 4471, + "name": "m_description", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4320, + "src": "3257:13:18", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 4472, + "name": "_description", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4441, + "src": "3292:12:18", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "3257:47:18", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 4474, + "nodeType": "ExpressionStatement", + "src": "3257:47:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 4477, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 4475, + "name": "m_stakeRatioPolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4322, + "src": "3308:18:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "3330", + "id": 4476, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3343:2:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_30_by_1", + "typeString": "int_const 30" + }, + "value": "30" + }, + "src": "3308:37:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4478, + "nodeType": "ExpressionStatement", + "src": "3308:37:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 4481, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 4479, + "name": "m_schedulerRewardRatioPolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4324, + "src": "3387:28:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "31", + "id": 4480, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3422:1:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "3387:36:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4482, + "nodeType": "ExpressionStatement", + "src": "3387:36:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 4485, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 4483, + "name": "m_subscriptionLockStakePolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4326, + "src": "3489:29:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 4484, + "name": "_subscriptionLockStakePolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4443, + "src": "3524:28:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3489:63:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4486, + "nodeType": "ExpressionStatement", + "src": "3489:63:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 4489, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 4487, + "name": "m_subscriptionMinimumStakePolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4328, + "src": "3633:32:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 4488, + "name": "_subscriptionMinimumStakePolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4445, + "src": "3668:31:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3633:66:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4490, + "nodeType": "ExpressionStatement", + "src": "3633:66:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 4493, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 4491, + "name": "m_subscriptionMinimumScorePolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4330, + "src": "3703:32:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 4492, + "name": "_subscriptionMinimumScorePolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4447, + "src": "3738:31:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3703:66:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4494, + "nodeType": "ExpressionStatement", + "src": "3703:66:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 4498, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 4495, + "name": "m_workerPoolHubAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4355, + "src": "3773:22:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4496, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "3808:3:18", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 4497, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3808:10:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "3773:45:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 4499, + "nodeType": "ExpressionStatement", + "src": "3773:45:18" + } + ] + }, + "documentation": "Methods", + "id": 4501, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "id": 4452, + "name": "_iexecHubAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4439, + "src": "3030:16:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 4453, + "modifierName": { + "argumentTypes": null, + "id": 4451, + "name": "IexecHubAccessor", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2475, + "src": "3013:16:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecHubAccessor_$2475_$", + "typeString": "type(contract IexecHubAccessor)" + } + }, + "nodeType": "ModifierInvocation", + "src": "3013:34:18" + }, + { + "arguments": [ + { + "argumentTypes": null, + "id": 4455, + "name": "_marketplaceAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4449, + "src": "3069:19:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 4456, + "modifierName": { + "argumentTypes": null, + "id": 4454, + "name": "MarketplaceAccessor", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3545, + "src": "3049:19:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_MarketplaceAccessor_$3545_$", + "typeString": "type(contract MarketplaceAccessor)" + } + }, + "nodeType": "ModifierInvocation", + "src": "3049:40:18" + } + ], + "name": "WorkerPool", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4450, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4439, + "name": "_iexecHubAddress", + "nodeType": "VariableDeclaration", + "scope": 4501, + "src": "2805:24:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4438, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2805:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4441, + "name": "_description", + "nodeType": "VariableDeclaration", + "scope": 4501, + "src": "2833:20:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 4440, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2833:6:18", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4443, + "name": "_subscriptionLockStakePolicy", + "nodeType": "VariableDeclaration", + "scope": 4501, + "src": "2857:36:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4442, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2857:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4445, + "name": "_subscriptionMinimumStakePolicy", + "nodeType": "VariableDeclaration", + "scope": 4501, + "src": "2897:39:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4444, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2897:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4447, + "name": "_subscriptionMinimumScorePolicy", + "nodeType": "VariableDeclaration", + "scope": 4501, + "src": "2940:39:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4446, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2940:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4449, + "name": "_marketplaceAddress", + "nodeType": "VariableDeclaration", + "scope": 4501, + "src": "2983:27:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4448, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2983:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2801:210:18" + }, + "payable": false, + "returnParameters": { + "id": 4457, + "nodeType": "ParameterList", + "parameters": [], + "src": "3099:0:18" + }, + "scope": 6097, + "src": "2782:1041:18", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 4547, + "nodeType": "Block", + "src": "4044:637:18", + "statements": [ + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4515, + "name": "m_stakeRatioPolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4322, + "src": "4080:18:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 4516, + "name": "_newStakeRatioPolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4503, + "src": "4114:20:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 4517, + "name": "m_schedulerRewardRatioPolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4324, + "src": "4139:28:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 4518, + "name": "_newSchedulerRewardRatioPolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4505, + "src": "4173:30:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 4519, + "name": "m_subscriptionMinimumStakePolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4328, + "src": "4208:32:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 4520, + "name": "_newSubscriptionMinimumStakePolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4507, + "src": "4242:34:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 4521, + "name": "m_subscriptionMinimumScorePolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4330, + "src": "4281:32:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 4522, + "name": "_newSubscriptionMinimumScorePolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4509, + "src": "4315:34:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 4514, + "name": "WorkerPoolPolicyUpdate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4373, + "src": "4053:22:18", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256)" + } + }, + "id": 4523, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4053:300:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4524, + "nodeType": "EmitStatement", + "src": "4048:305:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 4528, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 4526, + "name": "_newSchedulerRewardRatioPolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4505, + "src": "4365:30:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "argumentTypes": null, + "hexValue": "313030", + "id": 4527, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4399:3:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_100_by_1", + "typeString": "int_const 100" + }, + "value": "100" + }, + "src": "4365:37:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 4525, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "4357:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 4529, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4357:46:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4530, + "nodeType": "ExpressionStatement", + "src": "4357:46:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 4533, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 4531, + "name": "m_stakeRatioPolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4322, + "src": "4407:18:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 4532, + "name": "_newStakeRatioPolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4503, + "src": "4442:20:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4407:55:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4534, + "nodeType": "ExpressionStatement", + "src": "4407:55:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 4537, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 4535, + "name": "m_schedulerRewardRatioPolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4324, + "src": "4466:28:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 4536, + "name": "_newSchedulerRewardRatioPolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4505, + "src": "4501:30:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4466:65:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4538, + "nodeType": "ExpressionStatement", + "src": "4466:65:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 4541, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 4539, + "name": "m_subscriptionMinimumStakePolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4328, + "src": "4535:32:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 4540, + "name": "_newSubscriptionMinimumStakePolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4507, + "src": "4570:34:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4535:69:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4542, + "nodeType": "ExpressionStatement", + "src": "4535:69:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 4545, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 4543, + "name": "m_subscriptionMinimumScorePolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4330, + "src": "4608:32:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 4544, + "name": "_newSubscriptionMinimumScorePolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4509, + "src": "4643:34:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4608:69:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4546, + "nodeType": "ExpressionStatement", + "src": "4608:69:18" + } + ] + }, + "documentation": null, + "id": 4548, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 4512, + "modifierName": { + "argumentTypes": null, + "id": 4511, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3700, + "src": "4033:9:18", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "4033:9:18" + } + ], + "name": "changeWorkerPoolPolicy", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4510, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4503, + "name": "_newStakeRatioPolicy", + "nodeType": "VariableDeclaration", + "scope": 4548, + "src": "3861:28:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4502, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3861:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4505, + "name": "_newSchedulerRewardRatioPolicy", + "nodeType": "VariableDeclaration", + "scope": 4548, + "src": "3893:38:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4504, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3893:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4507, + "name": "_newSubscriptionMinimumStakePolicy", + "nodeType": "VariableDeclaration", + "scope": 4548, + "src": "3935:42:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4506, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3935:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4509, + "name": "_newSubscriptionMinimumScorePolicy", + "nodeType": "VariableDeclaration", + "scope": 4548, + "src": "3981:42:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4508, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3981:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3857:167:18" + }, + "payable": false, + "returnParameters": { + "id": 4513, + "nodeType": "ParameterList", + "parameters": [], + "src": "4044:0:18" + }, + "scope": 6097, + "src": "3826:855:18", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 4559, + "nodeType": "Block", + "src": "4833:32:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 4555, + "name": "m_workers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4333, + "src": "4844:9:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 4557, + "indexExpression": { + "argumentTypes": null, + "id": 4556, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4550, + "src": "4854:6:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4844:17:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 4554, + "id": 4558, + "nodeType": "Return", + "src": "4837:24:18" + } + ] + }, + "documentation": "*********************** worker list management *************************", + "id": 4560, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getWorkerAddress", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4551, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4550, + "name": "_index", + "nodeType": "VariableDeclaration", + "scope": 4560, + "src": "4789:11:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4549, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "4789:4:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4788:13:18" + }, + "payable": false, + "returnParameters": { + "id": 4554, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4553, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 4560, + "src": "4823:7:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4552, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4823:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4822:9:18" + }, + "scope": 6097, + "src": "4763:102:18", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 4583, + "nodeType": "Block", + "src": "4936:99:18", + "statements": [ + { + "assignments": [ + 4568 + ], + "declarations": [ + { + "constant": false, + "id": 4568, + "name": "index", + "nodeType": "VariableDeclaration", + "scope": 4584, + "src": "4940:10:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4567, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "4940:4:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 4572, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 4569, + "name": "m_workerIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4337, + "src": "4953:13:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 4571, + "indexExpression": { + "argumentTypes": null, + "id": 4570, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4562, + "src": "4967:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4953:22:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4940:35:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 4578, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 4574, + "name": "m_workers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4333, + "src": "4987:9:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 4576, + "indexExpression": { + "argumentTypes": null, + "id": 4575, + "name": "index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4568, + "src": "4997:5:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4987:16:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 4577, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4562, + "src": "5007:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "4987:27:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 4573, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "4979:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 4579, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4979:36:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4580, + "nodeType": "ExpressionStatement", + "src": "4979:36:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 4581, + "name": "index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4568, + "src": "5026:5:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 4566, + "id": 4582, + "nodeType": "Return", + "src": "5019:12:18" + } + ] + }, + "documentation": null, + "id": 4584, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getWorkerIndex", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4563, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4562, + "name": "_worker", + "nodeType": "VariableDeclaration", + "scope": 4584, + "src": "4891:15:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4561, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4891:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4890:17:18" + }, + "payable": false, + "returnParameters": { + "id": 4566, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4565, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 4584, + "src": "4929:4:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4564, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "4929:4:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4928:6:18" + }, + "scope": 6097, + "src": "4867:168:18", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 4592, + "nodeType": "Block", + "src": "5092:31:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4589, + "name": "m_workers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4333, + "src": "5103:9:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 4590, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "5103:16:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 4588, + "id": 4591, + "nodeType": "Return", + "src": "5096:23:18" + } + ] + }, + "documentation": null, + "id": 4593, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getWorkersCount", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4585, + "nodeType": "ParameterList", + "parameters": [], + "src": "5061:2:18" + }, + "payable": false, + "returnParameters": { + "id": 4588, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4587, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 4593, + "src": "5085:4:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4586, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "5085:4:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5084:6:18" + }, + "scope": 6097, + "src": "5037:86:18", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 4631, + "nodeType": "Block", + "src": "5176:224:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4601, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "5246:3:18", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 4602, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "5246:10:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 4599, + "name": "iexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2441, + "src": "5213:17:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$2802", + "typeString": "contract IexecHubInterface" + } + }, + "id": 4600, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "registerToPool", + "nodeType": "MemberAccess", + "referencedDeclaration": 2653, + "src": "5213:32:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$_t_bool_$", + "typeString": "function (address) external returns (bool)" + } + }, + "id": 4603, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5213:44:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 4598, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "5205:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 4604, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5205:53:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4605, + "nodeType": "ExpressionStatement", + "src": "5205:53:18" + }, + { + "assignments": [ + 4607 + ], + "declarations": [ + { + "constant": false, + "id": 4607, + "name": "index", + "nodeType": "VariableDeclaration", + "scope": 4632, + "src": "5262:10:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4606, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "5262:4:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 4613, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4610, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "5290:3:18", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 4611, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "5290:10:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 4608, + "name": "m_workers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4333, + "src": "5275:9:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 4609, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "push", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "5275:14:18", + "typeDescriptions": { + "typeIdentifier": "t_function_arraypush_nonpayable$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) returns (uint256)" + } + }, + "id": 4612, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5275:26:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5262:39:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 4622, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 4614, + "name": "m_workerIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4337, + "src": "5305:13:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 4617, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4615, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "5319:3:18", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 4616, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "5319:10:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "5305:25:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31", + "id": 4620, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5343:1:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "expression": { + "argumentTypes": null, + "id": 4618, + "name": "index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4607, + "src": "5333:5:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4619, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 3793, + "src": "5333:9:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 4621, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5333:12:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5305:40:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4623, + "nodeType": "ExpressionStatement", + "src": "5305:40:18" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4625, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "5370:3:18", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 4626, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "5370:10:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 4624, + "name": "WorkerSubscribe", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4429, + "src": "5354:15:18", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 4627, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5354:27:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4628, + "nodeType": "EmitStatement", + "src": "5349:32:18" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 4629, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5392:4:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 4597, + "id": 4630, + "nodeType": "Return", + "src": "5385:11:18" + } + ] + }, + "documentation": null, + "id": 4632, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "subscribeToPool", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4594, + "nodeType": "ParameterList", + "parameters": [], + "src": "5150:2:18" + }, + "payable": false, + "returnParameters": { + "id": 4597, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4596, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 4632, + "src": "5169:4:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 4595, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "5169:4:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5168:6:18" + }, + "scope": 6097, + "src": "5126:274:18", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 4659, + "nodeType": "Block", + "src": "5458:180:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4640, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "5532:3:18", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 4641, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "5532:10:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 4638, + "name": "iexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2441, + "src": "5495:17:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$2802", + "typeString": "contract IexecHubInterface" + } + }, + "id": 4639, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "unregisterFromPool", + "nodeType": "MemberAccess", + "referencedDeclaration": 2660, + "src": "5495:36:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$_t_bool_$", + "typeString": "function (address) external returns (bool)" + } + }, + "id": 4642, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5495:48:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 4637, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "5487:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 4643, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5487:57:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4644, + "nodeType": "ExpressionStatement", + "src": "5487:57:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4647, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "5569:3:18", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 4648, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "5569:10:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 4646, + "name": "removeWorker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4746, + "src": "5556:12:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$_t_bool_$", + "typeString": "function (address) returns (bool)" + } + }, + "id": 4649, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5556:24:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 4645, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "5548:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 4650, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5548:33:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4651, + "nodeType": "ExpressionStatement", + "src": "5548:33:18" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4653, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "5608:3:18", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 4654, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "5608:10:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 4652, + "name": "WorkerUnsubscribe", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4433, + "src": "5590:17:18", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 4655, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5590:29:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4656, + "nodeType": "EmitStatement", + "src": "5585:34:18" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 4657, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5630:4:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 4636, + "id": 4658, + "nodeType": "Return", + "src": "5623:11:18" + } + ] + }, + "documentation": null, + "id": 4660, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "unsubscribeFromPool", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4633, + "nodeType": "ParameterList", + "parameters": [], + "src": "5431:2:18" + }, + "payable": false, + "returnParameters": { + "id": 4636, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4635, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 4660, + "src": "5451:4:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 4634, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "5451:4:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5450:6:18" + }, + "scope": 6097, + "src": "5403:235:18", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 4688, + "nodeType": "Block", + "src": "5712:164:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4672, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4662, + "src": "5782:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 4670, + "name": "iexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2441, + "src": "5752:17:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$2802", + "typeString": "contract IexecHubInterface" + } + }, + "id": 4671, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "evictWorker", + "nodeType": "MemberAccess", + "referencedDeclaration": 2667, + "src": "5752:29:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$_t_bool_$", + "typeString": "function (address) external returns (bool)" + } + }, + "id": 4673, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5752:38:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 4669, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "5744:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 4674, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5744:47:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4675, + "nodeType": "ExpressionStatement", + "src": "5744:47:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4678, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4662, + "src": "5816:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 4677, + "name": "removeWorker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4746, + "src": "5803:12:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$_t_bool_$", + "typeString": "function (address) returns (bool)" + } + }, + "id": 4679, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5803:21:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 4676, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "5795:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 4680, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5795:30:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4681, + "nodeType": "ExpressionStatement", + "src": "5795:30:18" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4683, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4662, + "src": "5849:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 4682, + "name": "WorkerEviction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4437, + "src": "5834:14:18", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 4684, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5834:23:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4685, + "nodeType": "EmitStatement", + "src": "5829:28:18" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 4686, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5868:4:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 4668, + "id": 4687, + "nodeType": "Return", + "src": "5861:11:18" + } + ] + }, + "documentation": null, + "id": 4689, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 4665, + "modifierName": { + "argumentTypes": null, + "id": 4664, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3700, + "src": "5686:9:18", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "5686:9:18" + } + ], + "name": "evictWorker", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4663, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4662, + "name": "_worker", + "nodeType": "VariableDeclaration", + "scope": 4689, + "src": "5662:15:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4661, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5662:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5661:17:18" + }, + "payable": false, + "returnParameters": { + "id": 4668, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4667, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 4689, + "src": "5705:4:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 4666, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "5705:4:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5704:6:18" + }, + "scope": 6097, + "src": "5641:235:18", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 4745, + "nodeType": "Block", + "src": "5943:322:18", + "statements": [ + { + "assignments": [ + 4697 + ], + "declarations": [ + { + "constant": false, + "id": 4697, + "name": "index", + "nodeType": "VariableDeclaration", + "scope": 4746, + "src": "5947:10:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4696, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "5947:4:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 4701, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4699, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4691, + "src": "5975:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 4698, + "name": "getWorkerIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4584, + "src": "5960:14:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view returns (uint256)" + } + }, + "id": 4700, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5960:23:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5947:36:18" + }, + { + "assignments": [ + 4703 + ], + "declarations": [ + { + "constant": false, + "id": 4703, + "name": "lastWorker", + "nodeType": "VariableDeclaration", + "scope": 4746, + "src": "6021:18:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4702, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6021:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 4711, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 4704, + "name": "m_workers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4333, + "src": "6042:9:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 4710, + "indexExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31", + "id": 4708, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6073:1:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4705, + "name": "m_workers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4333, + "src": "6052:9:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 4706, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "6052:16:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4707, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 3793, + "src": "6052:20:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 4709, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6052:23:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6042:34:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6021:55:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 4716, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 4712, + "name": "m_workers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4333, + "src": "6080:9:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 4714, + "indexExpression": { + "argumentTypes": null, + "id": 4713, + "name": "index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4697, + "src": "6094:5:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "6080:25:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 4715, + "name": "lastWorker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4703, + "src": "6108:10:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "6080:38:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 4717, + "nodeType": "ExpressionStatement", + "src": "6080:38:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 4722, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 4718, + "name": "m_workerIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4337, + "src": "6122:13:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 4720, + "indexExpression": { + "argumentTypes": null, + "id": 4719, + "name": "lastWorker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4703, + "src": "6136:10:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "6122:25:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 4721, + "name": "index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4697, + "src": "6150:5:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6122:33:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4723, + "nodeType": "ExpressionStatement", + "src": "6122:33:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 4731, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "6159:41:18", + "subExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 4724, + "name": "m_workers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4333, + "src": "6166:9:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 4730, + "indexExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31", + "id": 4728, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6197:1:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4725, + "name": "m_workers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4333, + "src": "6176:9:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 4726, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "6176:16:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4727, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 3793, + "src": "6176:20:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 4729, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6176:23:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "6166:34:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4732, + "nodeType": "ExpressionStatement", + "src": "6159:41:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 4741, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4733, + "name": "m_workers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4333, + "src": "6204:9:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 4735, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "6204:16:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31", + "id": 4739, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6244:1:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4736, + "name": "m_workers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4333, + "src": "6223:9:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 4737, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "6223:16:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4738, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 3793, + "src": "6223:20:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 4740, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6223:23:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6204:42:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4742, + "nodeType": "ExpressionStatement", + "src": "6204:42:18" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 4743, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6257:4:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 4695, + "id": 4744, + "nodeType": "Return", + "src": "6250:11:18" + } + ] + }, + "documentation": null, + "id": 4746, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "removeWorker", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4692, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4691, + "name": "_worker", + "nodeType": "VariableDeclaration", + "scope": 4746, + "src": "5901:15:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4690, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5901:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5900:17:18" + }, + "payable": false, + "returnParameters": { + "id": 4695, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4694, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 4746, + "src": "5936:4:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 4693, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "5936:4:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5935:6:18" + }, + "scope": 6097, + "src": "5879:386:18", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 4793, + "nodeType": "Block", + "src": "6542:295:18", + "statements": [ + { + "assignments": [ + 4770 + ], + "declarations": [ + { + "constant": false, + "id": 4770, + "name": "consensus", + "nodeType": "VariableDeclaration", + "scope": 4794, + "src": "6546:36:18", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + }, + "typeName": { + "contractScope": null, + "id": 4769, + "name": "IexecLib.Consensus", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2854, + "src": "6546:18:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 4774, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 4771, + "name": "m_consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4341, + "src": "6585:11:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Consensus_$2854_storage_$", + "typeString": "mapping(address => struct IexecLib.Consensus storage ref)" + } + }, + "id": 4773, + "indexExpression": { + "argumentTypes": null, + "id": 4772, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4748, + "src": "6597:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6585:18:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage", + "typeString": "struct IexecLib.Consensus storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6546:57:18" + }, + { + "expression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4775, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4770, + "src": "6619:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 4776, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "poolReward", + "nodeType": "MemberAccess", + "referencedDeclaration": 2834, + "src": "6619:20:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4777, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4770, + "src": "6644:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 4778, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "stakeAmount", + "nodeType": "MemberAccess", + "referencedDeclaration": 2836, + "src": "6644:21:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4779, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4770, + "src": "6670:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 4780, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "consensus", + "nodeType": "MemberAccess", + "referencedDeclaration": 2838, + "src": "6670:19:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4781, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4770, + "src": "6694:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 4782, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "revealDate", + "nodeType": "MemberAccess", + "referencedDeclaration": 2840, + "src": "6694:20:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4783, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4770, + "src": "6719:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 4784, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "revealCounter", + "nodeType": "MemberAccess", + "referencedDeclaration": 2842, + "src": "6719:23:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4785, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4770, + "src": "6747:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 4786, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "consensusTimeout", + "nodeType": "MemberAccess", + "referencedDeclaration": 2844, + "src": "6747:26:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4787, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4770, + "src": "6778:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 4788, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "winnerCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 2846, + "src": "6778:21:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4789, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4770, + "src": "6804:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 4790, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "workerpoolOwner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2851, + "src": "6804:25:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 4791, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "6614:219:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_bytes32_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$", + "typeString": "tuple(uint256,uint256,bytes32,uint256,uint256,uint256,uint256,address)" + } + }, + "functionReturnParameters": 4766, + "id": 4792, + "nodeType": "Return", + "src": "6607:226:18" + } + ] + }, + "documentation": null, + "id": 4794, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getConsensusDetails", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4749, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4748, + "name": "_woid", + "nodeType": "VariableDeclaration", + "scope": 4794, + "src": "6297:13:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4747, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6297:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6296:15:18" + }, + "payable": false, + "returnParameters": { + "id": 4766, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4751, + "name": "c_poolReward", + "nodeType": "VariableDeclaration", + "scope": 4794, + "src": "6336:20:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4750, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6336:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4753, + "name": "c_stakeAmount", + "nodeType": "VariableDeclaration", + "scope": 4794, + "src": "6360:21:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4752, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6360:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4755, + "name": "c_consensus", + "nodeType": "VariableDeclaration", + "scope": 4794, + "src": "6385:19:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4754, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6385:7:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4757, + "name": "c_revealDate", + "nodeType": "VariableDeclaration", + "scope": 4794, + "src": "6408:20:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4756, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6408:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4759, + "name": "c_revealCounter", + "nodeType": "VariableDeclaration", + "scope": 4794, + "src": "6432:23:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4758, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6432:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4761, + "name": "c_consensusTimeout", + "nodeType": "VariableDeclaration", + "scope": 4794, + "src": "6459:26:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4760, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6459:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4763, + "name": "c_winnerCount", + "nodeType": "VariableDeclaration", + "scope": 4794, + "src": "6489:21:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4762, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6489:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4765, + "name": "c_workerpoolOwner", + "nodeType": "VariableDeclaration", + "scope": 4794, + "src": "6514:25:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4764, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6514:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6332:208:18" + }, + "scope": 6097, + "src": "6268:569:18", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 4807, + "nodeType": "Block", + "src": "6934:53:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 4801, + "name": "m_consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4341, + "src": "6945:11:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Consensus_$2854_storage_$", + "typeString": "mapping(address => struct IexecLib.Consensus storage ref)" + } + }, + "id": 4803, + "indexExpression": { + "argumentTypes": null, + "id": 4802, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4796, + "src": "6957:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6945:18:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage", + "typeString": "struct IexecLib.Consensus storage ref" + } + }, + "id": 4804, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "contributors", + "nodeType": "MemberAccess", + "referencedDeclaration": 2849, + "src": "6945:31:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 4805, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "6945:38:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 4800, + "id": 4806, + "nodeType": "Return", + "src": "6938:45:18" + } + ] + }, + "documentation": null, + "id": 4808, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getContributorsCount", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4797, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4796, + "name": "_woid", + "nodeType": "VariableDeclaration", + "scope": 4808, + "src": "6870:13:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4795, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6870:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6869:15:18" + }, + "payable": false, + "returnParameters": { + "id": 4800, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4799, + "name": "contributorsCount", + "nodeType": "VariableDeclaration", + "scope": 4808, + "src": "6906:25:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4798, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6906:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6905:27:18" + }, + "scope": 6097, + "src": "6840:147:18", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 4824, + "nodeType": "Block", + "src": "7087:53:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 4817, + "name": "m_consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4341, + "src": "7098:11:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Consensus_$2854_storage_$", + "typeString": "mapping(address => struct IexecLib.Consensus storage ref)" + } + }, + "id": 4819, + "indexExpression": { + "argumentTypes": null, + "id": 4818, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4810, + "src": "7110:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7098:18:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage", + "typeString": "struct IexecLib.Consensus storage ref" + } + }, + "id": 4820, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "contributors", + "nodeType": "MemberAccess", + "referencedDeclaration": 2849, + "src": "7098:31:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 4822, + "indexExpression": { + "argumentTypes": null, + "id": 4821, + "name": "index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4812, + "src": "7130:5:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7098:38:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 4816, + "id": 4823, + "nodeType": "Return", + "src": "7091:45:18" + } + ] + }, + "documentation": null, + "id": 4825, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getContributor", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4813, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4810, + "name": "_woid", + "nodeType": "VariableDeclaration", + "scope": 4825, + "src": "7014:13:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4809, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7014:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4812, + "name": "index", + "nodeType": "VariableDeclaration", + "scope": 4825, + "src": "7029:13:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4811, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7029:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7013:30:18" + }, + "payable": false, + "returnParameters": { + "id": 4816, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4815, + "name": "contributor", + "nodeType": "VariableDeclaration", + "scope": 4825, + "src": "7065:19:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4814, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7065:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7064:21:18" + }, + "scope": 6097, + "src": "6990:150:18", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 4845, + "nodeType": "Block", + "src": "7252:94:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", + "typeString": "enum IexecLib.ContributionStatusEnum" + }, + "id": 4843, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 4834, + "name": "m_contributions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4347, + "src": "7263:15:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_Contribution_$2873_storage_$_$", + "typeString": "mapping(address => mapping(address => struct IexecLib.Contribution storage ref))" + } + }, + "id": 4836, + "indexExpression": { + "argumentTypes": null, + "id": 4835, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4827, + "src": "7279:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7263:22:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Contribution_$2873_storage_$", + "typeString": "mapping(address => struct IexecLib.Contribution storage ref)" + } + }, + "id": 4838, + "indexExpression": { + "argumentTypes": null, + "id": 4837, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4829, + "src": "7286:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7263:31:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2873_storage", + "typeString": "struct IexecLib.Contribution storage ref" + } + }, + "id": 4839, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 2862, + "src": "7263:38:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", + "typeString": "enum IexecLib.ContributionStatusEnum" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4840, + "name": "IexecLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2893, + "src": "7305:8:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecLib_$2893_$", + "typeString": "type(library IexecLib)" + } + }, + "id": 4841, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "ContributionStatusEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 2860, + "src": "7305:31:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_ContributionStatusEnum_$2860_$", + "typeString": "type(enum IexecLib.ContributionStatusEnum)" + } + }, + "id": 4842, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "UNSET", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "7305:37:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", + "typeString": "enum IexecLib.ContributionStatusEnum" + } + }, + "src": "7263:79:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 4833, + "id": 4844, + "nodeType": "Return", + "src": "7256:86:18" + } + ] + }, + "documentation": null, + "id": 4846, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "existingContribution", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4830, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4827, + "name": "_woid", + "nodeType": "VariableDeclaration", + "scope": 4846, + "src": "7173:13:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4826, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7173:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4829, + "name": "_worker", + "nodeType": "VariableDeclaration", + "scope": 4846, + "src": "7188:15:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4828, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7188:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7172:32:18" + }, + "payable": false, + "returnParameters": { + "id": 4833, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4832, + "name": "contributionExist", + "nodeType": "VariableDeclaration", + "scope": 4846, + "src": "7227:22:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 4831, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "7227:4:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7226:24:18" + }, + "scope": 6097, + "src": "7143:203:18", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 4896, + "nodeType": "Block", + "src": "7579:337:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4867, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4848, + "src": "7612:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 4868, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4850, + "src": "7619:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 4866, + "name": "existingContribution", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4846, + "src": "7591:20:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_bool_$", + "typeString": "function (address,address) view returns (bool)" + } + }, + "id": 4869, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7591:36:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 4865, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "7583:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 4870, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7583:45:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4871, + "nodeType": "ExpressionStatement", + "src": "7583:45:18" + }, + { + "assignments": [ + 4875 + ], + "declarations": [ + { + "constant": false, + "id": 4875, + "name": "contribution", + "nodeType": "VariableDeclaration", + "scope": 4897, + "src": "7660:42:18", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + }, + "typeName": { + "contractScope": null, + "id": 4874, + "name": "IexecLib.Contribution", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2873, + "src": "7660:21:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 4881, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 4876, + "name": "m_contributions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4347, + "src": "7705:15:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_Contribution_$2873_storage_$_$", + "typeString": "mapping(address => mapping(address => struct IexecLib.Contribution storage ref))" + } + }, + "id": 4878, + "indexExpression": { + "argumentTypes": null, + "id": 4877, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4848, + "src": "7721:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7705:22:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Contribution_$2873_storage_$", + "typeString": "mapping(address => struct IexecLib.Contribution storage ref)" + } + }, + "id": 4880, + "indexExpression": { + "argumentTypes": null, + "id": 4879, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4850, + "src": "7728:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7705:31:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2873_storage", + "typeString": "struct IexecLib.Contribution storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7660:76:18" + }, + { + "expression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4882, + "name": "contribution", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4875, + "src": "7752:12:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + } + }, + "id": 4883, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 2862, + "src": "7752:19:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", + "typeString": "enum IexecLib.ContributionStatusEnum" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4884, + "name": "contribution", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4875, + "src": "7776:12:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + } + }, + "id": 4885, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "resultHash", + "nodeType": "MemberAccess", + "referencedDeclaration": 2864, + "src": "7776:23:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4886, + "name": "contribution", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4875, + "src": "7804:12:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + } + }, + "id": 4887, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "resultSign", + "nodeType": "MemberAccess", + "referencedDeclaration": 2866, + "src": "7804:23:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4888, + "name": "contribution", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4875, + "src": "7832:12:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + } + }, + "id": 4889, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "enclaveChallenge", + "nodeType": "MemberAccess", + "referencedDeclaration": 2868, + "src": "7832:29:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4890, + "name": "contribution", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4875, + "src": "7866:12:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + } + }, + "id": 4891, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "score", + "nodeType": "MemberAccess", + "referencedDeclaration": 2870, + "src": "7866:18:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4892, + "name": "contribution", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4875, + "src": "7889:12:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + } + }, + "id": 4893, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "weight", + "nodeType": "MemberAccess", + "referencedDeclaration": 2872, + "src": "7889:19:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 4894, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "7747:165:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_enum$_ContributionStatusEnum_$2860_$_t_bytes32_$_t_bytes32_$_t_address_$_t_uint256_$_t_uint256_$", + "typeString": "tuple(enum IexecLib.ContributionStatusEnum,bytes32,bytes32,address,uint256,uint256)" + } + }, + "functionReturnParameters": 4864, + "id": 4895, + "nodeType": "Return", + "src": "7740:172:18" + } + ] + }, + "documentation": null, + "id": 4897, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getContribution", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4851, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4848, + "name": "_woid", + "nodeType": "VariableDeclaration", + "scope": 4897, + "src": "7374:13:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4847, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7374:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4850, + "name": "_worker", + "nodeType": "VariableDeclaration", + "scope": 4897, + "src": "7389:15:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4849, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7389:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7373:32:18" + }, + "payable": false, + "returnParameters": { + "id": 4864, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4853, + "name": "status", + "nodeType": "VariableDeclaration", + "scope": 4897, + "src": "7431:38:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", + "typeString": "enum IexecLib.ContributionStatusEnum" + }, + "typeName": { + "contractScope": null, + "id": 4852, + "name": "IexecLib.ContributionStatusEnum", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2860, + "src": "7431:31:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", + "typeString": "enum IexecLib.ContributionStatusEnum" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4855, + "name": "resultHash", + "nodeType": "VariableDeclaration", + "scope": 4897, + "src": "7473:18:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4854, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "7473:7:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4857, + "name": "resultSign", + "nodeType": "VariableDeclaration", + "scope": 4897, + "src": "7495:18:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4856, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "7495:7:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4859, + "name": "enclaveChallenge", + "nodeType": "VariableDeclaration", + "scope": 4897, + "src": "7517:24:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4858, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7517:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4861, + "name": "score", + "nodeType": "VariableDeclaration", + "scope": 4897, + "src": "7545:13:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4860, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7545:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4863, + "name": "weight", + "nodeType": "VariableDeclaration", + "scope": 4897, + "src": "7562:14:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4862, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7562:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7427:150:18" + }, + "scope": 6097, + "src": "7349:567:18", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 4982, + "nodeType": "Block", + "src": "8098:735:18", + "statements": [ + { + "assignments": [ + 4909 + ], + "declarations": [ + { + "constant": false, + "id": 4909, + "name": "catid", + "nodeType": "VariableDeclaration", + "scope": 4983, + "src": "8102:13:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4908, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8102:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 4914, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4912, + "name": "_marketorderIdx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4901, + "src": "8164:15:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 4910, + "name": "marketplaceInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3520, + "src": "8120:20:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_MarketplaceInterface_$3620", + "typeString": "contract MarketplaceInterface" + } + }, + "id": 4911, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getMarketOrderCategory", + "nodeType": "MemberAccess", + "referencedDeclaration": 3593, + "src": "8120:43:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) view external returns (uint256)" + } + }, + "id": 4913, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8120:60:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "8102:78:18" + }, + { + "assignments": [ + 4916 + ], + "declarations": [ + { + "constant": false, + "id": 4916, + "name": "timeout", + "nodeType": "VariableDeclaration", + "scope": 4983, + "src": "8184:15:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4915, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8184:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 4927, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4925, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7010, + "src": "8289:3:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4922, + "name": "CONSENSUS_DURATION_RATIO", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4353, + "src": "8259:24:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4919, + "name": "catid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4909, + "src": "8248:5:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 4917, + "name": "iexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2441, + "src": "8202:17:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$2802", + "typeString": "contract IexecHubInterface" + } + }, + "id": 4918, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getCategoryWorkClockTimeRef", + "nodeType": "MemberAccess", + "referencedDeclaration": 2610, + "src": "8202:45:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) view external returns (uint256)" + } + }, + "id": 4920, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8202:52:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4921, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "mul", + "nodeType": "MemberAccess", + "referencedDeclaration": 3826, + "src": "8202:56:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 4923, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8202:82:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4924, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 3773, + "src": "8202:86:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 4926, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8202:91:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "8184:109:18" + }, + { + "assignments": [ + 4931 + ], + "declarations": [ + { + "constant": false, + "id": 4931, + "name": "consensus", + "nodeType": "VariableDeclaration", + "scope": 4983, + "src": "8298:36:18", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + }, + "typeName": { + "contractScope": null, + "id": 4930, + "name": "IexecLib.Consensus", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2854, + "src": "8298:18:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 4935, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 4932, + "name": "m_consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4341, + "src": "8337:11:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Consensus_$2854_storage_$", + "typeString": "mapping(address => struct IexecLib.Consensus storage ref)" + } + }, + "id": 4934, + "indexExpression": { + "argumentTypes": null, + "id": 4933, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4899, + "src": "8349:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8337:18:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage", + "typeString": "struct IexecLib.Consensus storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "8298:57:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 4943, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4936, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4931, + "src": "8359:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 4938, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "poolReward", + "nodeType": "MemberAccess", + "referencedDeclaration": 2834, + "src": "8359:20:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4941, + "name": "_marketorderIdx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4901, + "src": "8439:15:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 4939, + "name": "marketplaceInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3520, + "src": "8398:20:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_MarketplaceInterface_$3620", + "typeString": "contract MarketplaceInterface" + } + }, + "id": 4940, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getMarketOrderValue", + "nodeType": "MemberAccess", + "referencedDeclaration": 3579, + "src": "8398:40:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) view external returns (uint256)" + } + }, + "id": 4942, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8398:57:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8359:96:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4944, + "nodeType": "ExpressionStatement", + "src": "8359:96:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 4952, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4945, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4931, + "src": "8459:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 4947, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "workerpoolOwner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2851, + "src": "8459:25:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4950, + "name": "_marketorderIdx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4901, + "src": "8549:15:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 4948, + "name": "marketplaceInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3520, + "src": "8498:20:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_MarketplaceInterface_$3620", + "typeString": "contract MarketplaceInterface" + } + }, + "id": 4949, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getMarketOrderWorkerpoolOwner", + "nodeType": "MemberAccess", + "referencedDeclaration": 3586, + "src": "8498:50:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_address_$", + "typeString": "function (uint256) view external returns (address)" + } + }, + "id": 4951, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8498:67:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "8459:106:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 4953, + "nodeType": "ExpressionStatement", + "src": "8459:106:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 4962, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4954, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4931, + "src": "8569:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 4956, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "stakeAmount", + "nodeType": "MemberAccess", + "referencedDeclaration": 2836, + "src": "8569:21:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4960, + "name": "m_stakeRatioPolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4322, + "src": "8640:18:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4957, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4931, + "src": "8608:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 4958, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "poolReward", + "nodeType": "MemberAccess", + "referencedDeclaration": 2834, + "src": "8608:20:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4959, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "percentage", + "nodeType": "MemberAccess", + "referencedDeclaration": 3914, + "src": "8608:31:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 4961, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8608:51:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8569:90:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4963, + "nodeType": "ExpressionStatement", + "src": "8569:90:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 4968, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4964, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4931, + "src": "8663:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 4966, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "consensusTimeout", + "nodeType": "MemberAccess", + "referencedDeclaration": 2844, + "src": "8663:26:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 4967, + "name": "timeout", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4916, + "src": "8703:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8663:47:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4969, + "nodeType": "ExpressionStatement", + "src": "8663:47:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 4974, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4970, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4931, + "src": "8714:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 4972, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "schedulerRewardRatioPolicy", + "nodeType": "MemberAccess", + "referencedDeclaration": 2853, + "src": "8714:36:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 4973, + "name": "m_schedulerRewardRatioPolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4324, + "src": "8753:28:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8714:67:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4975, + "nodeType": "ExpressionStatement", + "src": "8714:67:18" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4977, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4899, + "src": "8807:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 4976, + "name": "WorkOrderActive", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4377, + "src": "8791:15:18", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 4978, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8791:22:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4979, + "nodeType": "EmitStatement", + "src": "8786:27:18" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 4980, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8825:4:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 4907, + "id": 4981, + "nodeType": "Return", + "src": "8818:11:18" + } + ] + }, + "documentation": "************************** Works management ****************************", + "id": 4983, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 4904, + "modifierName": { + "argumentTypes": null, + "id": 4903, + "name": "onlyIexecHub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2454, + "src": "8069:12:18", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "8069:12:18" + } + ], + "name": "emitWorkOrder", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4902, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4899, + "name": "_woid", + "nodeType": "VariableDeclaration", + "scope": 4983, + "src": "8022:13:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4898, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8022:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4901, + "name": "_marketorderIdx", + "nodeType": "VariableDeclaration", + "scope": 4983, + "src": "8037:23:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4900, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8037:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8021:40:18" + }, + "payable": false, + "returnParameters": { + "id": 4907, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4906, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 4983, + "src": "8091:4:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 4905, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "8091:4:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8090:6:18" + }, + "scope": 6097, + "src": "7999:834:18", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 5062, + "nodeType": "Block", + "src": "8917:456:18", + "statements": [ + { + "assignments": [ + 4995 + ], + "declarations": [ + { + "constant": false, + "id": 4995, + "name": "consensus", + "nodeType": "VariableDeclaration", + "scope": 5063, + "src": "8922:36:18", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + }, + "typeName": { + "contractScope": null, + "id": 4994, + "name": "IexecLib.Consensus", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2854, + "src": "8922:18:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 4999, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 4996, + "name": "m_consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4341, + "src": "8961:11:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Consensus_$2854_storage_$", + "typeString": "mapping(address => struct IexecLib.Consensus storage ref)" + } + }, + "id": 4998, + "indexExpression": { + "argumentTypes": null, + "id": 4997, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4985, + "src": "8973:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8961:18:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage", + "typeString": "struct IexecLib.Consensus storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "8922:57:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5004, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5001, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7010, + "src": "8991:3:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5002, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4995, + "src": "8997:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5003, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "consensusTimeout", + "nodeType": "MemberAccess", + "referencedDeclaration": 2844, + "src": "8997:26:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8991:32:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5000, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "8983:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5005, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8983:41:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5006, + "nodeType": "ExpressionStatement", + "src": "8983:41:18" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 5008, + "name": "i", + "nodeType": "VariableDeclaration", + "scope": 5063, + "src": "9028:9:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5007, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9028:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5009, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "9028:9:18" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 5011, + "name": "w", + "nodeType": "VariableDeclaration", + "scope": 5063, + "src": "9041:9:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5010, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9041:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5012, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "9041:9:18" + }, + { + "body": { + "id": 5054, + "nodeType": "Block", + "src": "9108:215:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 5030, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 5025, + "name": "w", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5011, + "src": "9113:1:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5026, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4995, + "src": "9117:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5027, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "contributors", + "nodeType": "MemberAccess", + "referencedDeclaration": 2849, + "src": "9117:22:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 5029, + "indexExpression": { + "argumentTypes": null, + "id": 5028, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5008, + "src": "9140:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9117:25:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "9113:29:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 5031, + "nodeType": "ExpressionStatement", + "src": "9113:29:18" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", + "typeString": "enum IexecLib.ContributionStatusEnum" + }, + "id": 5041, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5032, + "name": "m_contributions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4347, + "src": "9151:15:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_Contribution_$2873_storage_$_$", + "typeString": "mapping(address => mapping(address => struct IexecLib.Contribution storage ref))" + } + }, + "id": 5034, + "indexExpression": { + "argumentTypes": null, + "id": 5033, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4985, + "src": "9167:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9151:22:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Contribution_$2873_storage_$", + "typeString": "mapping(address => struct IexecLib.Contribution storage ref)" + } + }, + "id": 5036, + "indexExpression": { + "argumentTypes": null, + "id": 5035, + "name": "w", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5011, + "src": "9174:1:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9151:25:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2873_storage", + "typeString": "struct IexecLib.Contribution storage ref" + } + }, + "id": 5037, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 2862, + "src": "9151:32:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", + "typeString": "enum IexecLib.ContributionStatusEnum" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5038, + "name": "IexecLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2893, + "src": "9187:8:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecLib_$2893_$", + "typeString": "type(library IexecLib)" + } + }, + "id": 5039, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "ContributionStatusEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 2860, + "src": "9187:31:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_ContributionStatusEnum_$2860_$", + "typeString": "type(enum IexecLib.ContributionStatusEnum)" + } + }, + "id": 5040, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "AUTHORIZED", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "9187:42:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", + "typeString": "enum IexecLib.ContributionStatusEnum" + } + }, + "src": "9151:78:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 5053, + "nodeType": "IfStatement", + "src": "9147:172:18", + "trueBody": { + "id": 5052, + "nodeType": "Block", + "src": "9234:85:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5045, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4985, + "src": "9280:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 5046, + "name": "w", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5011, + "src": "9287:1:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5047, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4995, + "src": "9290:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5048, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "stakeAmount", + "nodeType": "MemberAccess", + "referencedDeclaration": 2836, + "src": "9290:21:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 5043, + "name": "iexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2441, + "src": "9248:17:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$2802", + "typeString": "contract IexecHubInterface" + } + }, + "id": 5044, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "unlockForWork", + "nodeType": "MemberAccess", + "referencedDeclaration": 2716, + "src": "9248:31:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,address,uint256) external returns (bool)" + } + }, + "id": 5049, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9248:64:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5042, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "9240:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5050, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9240:73:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5051, + "nodeType": "ExpressionStatement", + "src": "9240:73:18" + } + ] + } + } + ] + }, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5021, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5017, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5008, + "src": "9066:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5018, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4995, + "src": "9070:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5019, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "contributors", + "nodeType": "MemberAccess", + "referencedDeclaration": 2849, + "src": "9070:22:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 5020, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "9070:29:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9066:33:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 5055, + "initializationExpression": { + "expression": { + "argumentTypes": null, + "id": 5015, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 5013, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5008, + "src": "9059:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "30", + "id": 5014, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9063:1:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "9059:5:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5016, + "nodeType": "ExpressionStatement", + "src": "9059:5:18" + }, + "loopExpression": { + "expression": { + "argumentTypes": null, + "id": 5023, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": true, + "src": "9101:3:18", + "subExpression": { + "argumentTypes": null, + "id": 5022, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5008, + "src": "9103:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5024, + "nodeType": "ExpressionStatement", + "src": "9101:3:18" + }, + "nodeType": "ForStatement", + "src": "9054:269:18" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5057, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4985, + "src": "9348:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 5056, + "name": "WorkOrderClaimed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4381, + "src": "9331:16:18", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 5058, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9331:23:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5059, + "nodeType": "EmitStatement", + "src": "9326:28:18" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 5060, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9365:4:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 4991, + "id": 5061, + "nodeType": "Return", + "src": "9358:11:18" + } + ] + }, + "documentation": null, + "id": 5063, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 4988, + "modifierName": { + "argumentTypes": null, + "id": 4987, + "name": "onlyIexecHub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2454, + "src": "8888:12:18", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "8888:12:18" + } + ], + "name": "claimFailedConsensus", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4986, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4985, + "name": "_woid", + "nodeType": "VariableDeclaration", + "scope": 5063, + "src": "8866:13:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4984, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8866:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8865:15:18" + }, + "payable": false, + "returnParameters": { + "id": 4991, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4990, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 5063, + "src": "8910:4:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 4989, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "8910:4:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8909:6:18" + }, + "scope": 6097, + "src": "8836:537:18", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 5102, + "nodeType": "Block", + "src": "9522:148:18", + "statements": [ + { + "body": { + "id": 5098, + "nodeType": "Block", + "src": "9571:81:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5090, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5065, + "src": "9608:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5091, + "name": "_workers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5068, + "src": "9615:8:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 5093, + "indexExpression": { + "argumentTypes": null, + "id": 5092, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5078, + "src": "9624:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9615:11:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 5094, + "name": "_enclaveChallenge", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5070, + "src": "9628:17:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 5089, + "name": "allowWorkerToContribute", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5215, + "src": "9584:23:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$returns$_t_bool_$", + "typeString": "function (address,address,address) returns (bool)" + } + }, + "id": 5095, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9584:62:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5088, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "9576:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5096, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9576:71:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5097, + "nodeType": "ExpressionStatement", + "src": "9576:71:18" + } + ] + }, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5084, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5081, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5078, + "src": "9543:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5082, + "name": "_workers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5068, + "src": "9547:8:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 5083, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "9547:15:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9543:19:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 5099, + "initializationExpression": { + "assignments": [ + 5078 + ], + "declarations": [ + { + "constant": false, + "id": 5078, + "name": "i", + "nodeType": "VariableDeclaration", + "scope": 5103, + "src": "9531:6:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5077, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "9531:4:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5080, + "initialValue": { + "argumentTypes": null, + "hexValue": "30", + "id": 5079, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9540:1:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "9531:10:18" + }, + "loopExpression": { + "expression": { + "argumentTypes": null, + "id": 5086, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": true, + "src": "9564:3:18", + "subExpression": { + "argumentTypes": null, + "id": 5085, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5078, + "src": "9566:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5087, + "nodeType": "ExpressionStatement", + "src": "9564:3:18" + }, + "nodeType": "ForStatement", + "src": "9526:126:18" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 5100, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9662:4:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 5076, + "id": 5101, + "nodeType": "Return", + "src": "9655:11:18" + } + ] + }, + "documentation": null, + "id": 5103, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 5073, + "modifierName": { + "argumentTypes": null, + "id": 5072, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3700, + "src": "9479:9:18", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "9479:9:18" + } + ], + "name": "allowWorkersToContribute", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5071, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5065, + "name": "_woid", + "nodeType": "VariableDeclaration", + "scope": 5103, + "src": "9410:13:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5064, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9410:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5068, + "name": "_workers", + "nodeType": "VariableDeclaration", + "scope": 5103, + "src": "9425:18:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + }, + "typeName": { + "baseType": { + "id": 5066, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9425:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 5067, + "length": null, + "nodeType": "ArrayTypeName", + "src": "9425:9:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[] storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5070, + "name": "_enclaveChallenge", + "nodeType": "VariableDeclaration", + "scope": 5103, + "src": "9445:25:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5069, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9445:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "9409:62:18" + }, + "payable": false, + "returnParameters": { + "id": 5076, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5075, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 5103, + "src": "9515:4:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 5074, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "9515:4:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "9514:6:18" + }, + "scope": 6097, + "src": "9376:294:18", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 5214, + "nodeType": "Block", + "src": "9815:798:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5119, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5105, + "src": "9861:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 5117, + "name": "iexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2441, + "src": "9827:17:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$2802", + "typeString": "contract IexecHubInterface" + } + }, + "id": 5118, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "isWoidRegistred", + "nodeType": "MemberAccess", + "referencedDeclaration": 2570, + "src": "9827:33:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_bool_$", + "typeString": "function (address) view external returns (bool)" + } + }, + "id": 5120, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9827:40:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5116, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "9819:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5121, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9819:49:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5122, + "nodeType": "ExpressionStatement", + "src": "9819:49:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + }, + "id": 5132, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5125, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5105, + "src": "9890:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 5124, + "name": "WorkOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4299, + "src": "9880:9:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_WorkOrder_$4299_$", + "typeString": "type(contract WorkOrder)" + } + }, + "id": 5126, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9880:16:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4299", + "typeString": "contract WorkOrder" + } + }, + "id": 5127, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_status", + "nodeType": "MemberAccess", + "referencedDeclaration": 4040, + "src": "9880:25:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_enum$_WorkOrderStatusEnum_$2832_$", + "typeString": "function () view external returns (enum IexecLib.WorkOrderStatusEnum)" + } + }, + "id": 5128, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9880:27:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5129, + "name": "IexecLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2893, + "src": "9911:8:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecLib_$2893_$", + "typeString": "type(library IexecLib)" + } + }, + "id": 5130, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "WorkOrderStatusEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 2832, + "src": "9911:28:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_WorkOrderStatusEnum_$2832_$", + "typeString": "type(enum IexecLib.WorkOrderStatusEnum)" + } + }, + "id": 5131, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "ACTIVE", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "9911:35:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "src": "9880:66:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5123, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "9872:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5133, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9872:75:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5134, + "nodeType": "ExpressionStatement", + "src": "9872:75:18" + }, + { + "assignments": [ + 5138 + ], + "declarations": [ + { + "constant": false, + "id": 5138, + "name": "contribution", + "nodeType": "VariableDeclaration", + "scope": 5215, + "src": "9951:42:18", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + }, + "typeName": { + "contractScope": null, + "id": 5137, + "name": "IexecLib.Contribution", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2873, + "src": "9951:21:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5144, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5139, + "name": "m_contributions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4347, + "src": "9996:15:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_Contribution_$2873_storage_$_$", + "typeString": "mapping(address => mapping(address => struct IexecLib.Contribution storage ref))" + } + }, + "id": 5141, + "indexExpression": { + "argumentTypes": null, + "id": 5140, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5105, + "src": "10012:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9996:22:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Contribution_$2873_storage_$", + "typeString": "mapping(address => struct IexecLib.Contribution storage ref)" + } + }, + "id": 5143, + "indexExpression": { + "argumentTypes": null, + "id": 5142, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5107, + "src": "10019:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9996:31:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2873_storage", + "typeString": "struct IexecLib.Contribution storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "9951:76:18" + }, + { + "assignments": [ + 5148 + ], + "declarations": [ + { + "constant": false, + "id": 5148, + "name": "consensus", + "nodeType": "VariableDeclaration", + "scope": 5215, + "src": "10031:39:18", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + }, + "typeName": { + "contractScope": null, + "id": 5147, + "name": "IexecLib.Consensus", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2854, + "src": "10031:18:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5152, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5149, + "name": "m_consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4341, + "src": "10076:11:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Consensus_$2854_storage_$", + "typeString": "mapping(address => struct IexecLib.Consensus storage ref)" + } + }, + "id": 5151, + "indexExpression": { + "argumentTypes": null, + "id": 5150, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5105, + "src": "10088:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10076:18:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage", + "typeString": "struct IexecLib.Consensus storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "10031:63:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5157, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5154, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7010, + "src": "10106:3:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5155, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5148, + "src": "10113:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5156, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "consensusTimeout", + "nodeType": "MemberAccess", + "referencedDeclaration": 2844, + "src": "10113:26:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10106:33:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5153, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "10098:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5158, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10098:42:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5159, + "nodeType": "ExpressionStatement", + "src": "10098:42:18" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 5161, + "name": "workerPool", + "nodeType": "VariableDeclaration", + "scope": 5215, + "src": "10145:18:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5160, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "10145:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5162, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "10145:18:18" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 5164, + "name": "workerScore", + "nodeType": "VariableDeclaration", + "scope": 5215, + "src": "10167:19:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5163, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10167:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5165, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "10167:19:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 5173, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "id": 5166, + "name": "workerPool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5161, + "src": "10191:10:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 5167, + "name": "workerScore", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5164, + "src": "10203:11:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 5168, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "10190:25:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_address_$_t_uint256_$", + "typeString": "tuple(address,uint256)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5171, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5107, + "src": "10252:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 5169, + "name": "iexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2441, + "src": "10218:17:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$2802", + "typeString": "contract IexecHubInterface" + } + }, + "id": 5170, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getWorkerStatus", + "nodeType": "MemberAccess", + "referencedDeclaration": 2639, + "src": "10218:33:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_address_$_t_uint256_$", + "typeString": "function (address) view external returns (address,uint256)" + } + }, + "id": 5172, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10218:42:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_address_$_t_uint256_$", + "typeString": "tuple(address,uint256)" + } + }, + "src": "10190:70:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5174, + "nodeType": "ExpressionStatement", + "src": "10190:70:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 5180, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5176, + "name": "workerPool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5161, + "src": "10299:10:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5178, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7057, + "src": "10321:4:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkerPool_$6097", + "typeString": "contract WorkerPool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_WorkerPool_$6097", + "typeString": "contract WorkerPool" + } + ], + "id": 5177, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "10313:7:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 5179, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10313:13:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "10299:27:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5175, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "10291:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5181, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10291:36:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5182, + "nodeType": "ExpressionStatement", + "src": "10291:36:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", + "typeString": "enum IexecLib.ContributionStatusEnum" + }, + "id": 5189, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5184, + "name": "contribution", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5138, + "src": "10340:12:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + } + }, + "id": 5185, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 2862, + "src": "10340:19:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", + "typeString": "enum IexecLib.ContributionStatusEnum" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5186, + "name": "IexecLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2893, + "src": "10363:8:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecLib_$2893_$", + "typeString": "type(library IexecLib)" + } + }, + "id": 5187, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "ContributionStatusEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 2860, + "src": "10363:31:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_ContributionStatusEnum_$2860_$", + "typeString": "type(enum IexecLib.ContributionStatusEnum)" + } + }, + "id": 5188, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "UNSET", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "10363:37:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", + "typeString": "enum IexecLib.ContributionStatusEnum" + } + }, + "src": "10340:60:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5183, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "10332:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5190, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10332:69:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5191, + "nodeType": "ExpressionStatement", + "src": "10332:69:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 5198, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5192, + "name": "contribution", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5138, + "src": "10405:12:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + } + }, + "id": 5194, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 2862, + "src": "10405:19:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", + "typeString": "enum IexecLib.ContributionStatusEnum" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5195, + "name": "IexecLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2893, + "src": "10437:8:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecLib_$2893_$", + "typeString": "type(library IexecLib)" + } + }, + "id": 5196, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "ContributionStatusEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 2860, + "src": "10437:31:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_ContributionStatusEnum_$2860_$", + "typeString": "type(enum IexecLib.ContributionStatusEnum)" + } + }, + "id": 5197, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "AUTHORIZED", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "10437:42:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", + "typeString": "enum IexecLib.ContributionStatusEnum" + } + }, + "src": "10405:74:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", + "typeString": "enum IexecLib.ContributionStatusEnum" + } + }, + "id": 5199, + "nodeType": "ExpressionStatement", + "src": "10405:74:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 5204, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5200, + "name": "contribution", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5138, + "src": "10483:12:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + } + }, + "id": 5202, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "enclaveChallenge", + "nodeType": "MemberAccess", + "referencedDeclaration": 2868, + "src": "10483:29:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 5203, + "name": "_enclaveChallenge", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5109, + "src": "10515:17:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "10483:49:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 5205, + "nodeType": "ExpressionStatement", + "src": "10483:49:18" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5207, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5105, + "src": "10566:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 5208, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5107, + "src": "10573:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 5209, + "name": "workerScore", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5164, + "src": "10582:11:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5206, + "name": "AllowWorkerToContribute", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4389, + "src": "10542:23:18", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 5210, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10542:52:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5211, + "nodeType": "EmitStatement", + "src": "10537:57:18" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 5212, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10605:4:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 5115, + "id": 5213, + "nodeType": "Return", + "src": "10598:11:18" + } + ] + }, + "documentation": null, + "id": 5215, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 5112, + "modifierName": { + "argumentTypes": null, + "id": 5111, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3700, + "src": "9772:9:18", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "9772:9:18" + } + ], + "name": "allowWorkerToContribute", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5110, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5105, + "name": "_woid", + "nodeType": "VariableDeclaration", + "scope": 5215, + "src": "9706:13:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5104, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9706:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5107, + "name": "_worker", + "nodeType": "VariableDeclaration", + "scope": 5215, + "src": "9721:15:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5106, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9721:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5109, + "name": "_enclaveChallenge", + "nodeType": "VariableDeclaration", + "scope": 5215, + "src": "9738:25:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5108, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9738:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "9705:59:18" + }, + "payable": false, + "returnParameters": { + "id": 5115, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5114, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 5215, + "src": "9808:4:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 5113, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "9808:4:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "9807:6:18" + }, + "scope": 6097, + "src": "9673:940:18", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 5382, + "nodeType": "Block", + "src": "10765:1197:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5235, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5217, + "src": "10811:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 5233, + "name": "iexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2441, + "src": "10777:17:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$2802", + "typeString": "contract IexecHubInterface" + } + }, + "id": 5234, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "isWoidRegistred", + "nodeType": "MemberAccess", + "referencedDeclaration": 2570, + "src": "10777:33:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_bool_$", + "typeString": "function (address) view external returns (bool)" + } + }, + "id": 5236, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10777:40:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5232, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "10769:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5237, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10769:49:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5238, + "nodeType": "ExpressionStatement", + "src": "10769:49:18" + }, + { + "assignments": [ + 5242 + ], + "declarations": [ + { + "constant": false, + "id": 5242, + "name": "consensus", + "nodeType": "VariableDeclaration", + "scope": 5383, + "src": "10822:39:18", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + }, + "typeName": { + "contractScope": null, + "id": 5241, + "name": "IexecLib.Consensus", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2854, + "src": "10822:18:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5246, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5243, + "name": "m_consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4341, + "src": "10867:11:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Consensus_$2854_storage_$", + "typeString": "mapping(address => struct IexecLib.Consensus storage ref)" + } + }, + "id": 5245, + "indexExpression": { + "argumentTypes": null, + "id": 5244, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5217, + "src": "10879:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10867:18:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage", + "typeString": "struct IexecLib.Consensus storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "10822:63:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5251, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5248, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7010, + "src": "10897:3:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5249, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5242, + "src": "10904:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5250, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "consensusTimeout", + "nodeType": "MemberAccess", + "referencedDeclaration": 2844, + "src": "10904:26:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10897:33:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5247, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "10889:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5252, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10889:42:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5253, + "nodeType": "ExpressionStatement", + "src": "10889:42:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + }, + "id": 5263, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5256, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5217, + "src": "10953:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 5255, + "name": "WorkOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4299, + "src": "10943:9:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_WorkOrder_$4299_$", + "typeString": "type(contract WorkOrder)" + } + }, + "id": 5257, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10943:16:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4299", + "typeString": "contract WorkOrder" + } + }, + "id": 5258, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_status", + "nodeType": "MemberAccess", + "referencedDeclaration": 4040, + "src": "10943:25:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_enum$_WorkOrderStatusEnum_$2832_$", + "typeString": "function () view external returns (enum IexecLib.WorkOrderStatusEnum)" + } + }, + "id": 5259, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10943:27:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5260, + "name": "IexecLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2893, + "src": "10974:8:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecLib_$2893_$", + "typeString": "type(library IexecLib)" + } + }, + "id": 5261, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "WorkOrderStatusEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 2832, + "src": "10974:28:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_WorkOrderStatusEnum_$2832_$", + "typeString": "type(enum IexecLib.WorkOrderStatusEnum)" + } + }, + "id": 5262, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "ACTIVE", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "10974:35:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "src": "10943:66:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5254, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "10935:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5264, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10935:75:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5265, + "nodeType": "ExpressionStatement", + "src": "10935:75:18" + }, + { + "assignments": [ + 5269 + ], + "declarations": [ + { + "constant": false, + "id": 5269, + "name": "contribution", + "nodeType": "VariableDeclaration", + "scope": 5383, + "src": "11070:42:18", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + }, + "typeName": { + "contractScope": null, + "id": 5268, + "name": "IexecLib.Contribution", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2873, + "src": "11070:21:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5276, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5270, + "name": "m_contributions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4347, + "src": "11115:15:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_Contribution_$2873_storage_$_$", + "typeString": "mapping(address => mapping(address => struct IexecLib.Contribution storage ref))" + } + }, + "id": 5272, + "indexExpression": { + "argumentTypes": null, + "id": 5271, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5217, + "src": "11131:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11115:22:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Contribution_$2873_storage_$", + "typeString": "mapping(address => struct IexecLib.Contribution storage ref)" + } + }, + "id": 5275, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5273, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "11138:3:18", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5274, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "11138:10:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11115:34:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2873_storage", + "typeString": "struct IexecLib.Contribution storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "11070:79:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 5280, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5278, + "name": "_resultHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5219, + "src": "11189:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "hexValue": "307830", + "id": 5279, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11204:3:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + }, + "src": "11189:18:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5277, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "11181:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5281, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11181:27:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5282, + "nodeType": "ExpressionStatement", + "src": "11181:27:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 5286, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5284, + "name": "_resultSign", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5221, + "src": "11220:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "hexValue": "307830", + "id": 5285, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11235:3:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + }, + "src": "11220:18:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5283, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "11212:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5287, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11212:27:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5288, + "nodeType": "ExpressionStatement", + "src": "11212:27:18" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 5294, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5289, + "name": "contribution", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5269, + "src": "11247:12:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + } + }, + "id": 5290, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "enclaveChallenge", + "nodeType": "MemberAccess", + "referencedDeclaration": 2868, + "src": "11247:29:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 5292, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11288:1:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 5291, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "11280:7:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 5293, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11280:10:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "11247:43:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 5312, + "nodeType": "IfStatement", + "src": "11243:197:18", + "trueBody": { + "id": 5311, + "nodeType": "Block", + "src": "11294:146:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 5308, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5296, + "name": "contribution", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5269, + "src": "11307:12:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + } + }, + "id": 5297, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "enclaveChallenge", + "nodeType": "MemberAccess", + "referencedDeclaration": 2868, + "src": "11307:29:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "19457468657265756d205369676e6564204d6573736167653a0a3634", + "id": 5300, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11360:34:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_9835cb014a61578493d8e56753fb400073be9e8b300198bc2d66711870e6f164", + "typeString": "literal_string \"\u0019Ethereum Signed Message:\n64\"" + }, + "value": "\u0019Ethereum Signed Message:\n64" + }, + { + "argumentTypes": null, + "id": 5301, + "name": "_resultHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5219, + "src": "11396:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 5302, + "name": "_resultSign", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5221, + "src": "11409:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_9835cb014a61578493d8e56753fb400073be9e8b300198bc2d66711870e6f164", + "typeString": "literal_string \"\u0019Ethereum Signed Message:\n64\"" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 5299, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7002, + "src": "11350:9:18", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 5303, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11350:71:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 5304, + "name": "_v", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5223, + "src": "11423:2:18", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "argumentTypes": null, + "id": 5305, + "name": "_r", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5225, + "src": "11427:2:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 5306, + "name": "_s", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5227, + "src": "11431:2:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 5298, + "name": "ecrecover", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7000, + "src": "11340:9:18", + "typeDescriptions": { + "typeIdentifier": "t_function_ecrecover_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32,uint8,bytes32,bytes32) pure returns (address)" + } + }, + "id": 5307, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11340:94:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "11307:127:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5295, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "11299:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5309, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11299:136:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5310, + "nodeType": "ExpressionStatement", + "src": "11299:136:18" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", + "typeString": "enum IexecLib.ContributionStatusEnum" + }, + "id": 5319, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5314, + "name": "contribution", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5269, + "src": "11452:12:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + } + }, + "id": 5315, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 2862, + "src": "11452:19:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", + "typeString": "enum IexecLib.ContributionStatusEnum" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5316, + "name": "IexecLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2893, + "src": "11475:8:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecLib_$2893_$", + "typeString": "type(library IexecLib)" + } + }, + "id": 5317, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "ContributionStatusEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 2860, + "src": "11475:31:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_ContributionStatusEnum_$2860_$", + "typeString": "type(enum IexecLib.ContributionStatusEnum)" + } + }, + "id": 5318, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "AUTHORIZED", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "11475:42:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", + "typeString": "enum IexecLib.ContributionStatusEnum" + } + }, + "src": "11452:65:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5313, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "11444:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5320, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11444:74:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5321, + "nodeType": "ExpressionStatement", + "src": "11444:74:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 5328, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5322, + "name": "contribution", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5269, + "src": "11522:12:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + } + }, + "id": 5324, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 2862, + "src": "11522:19:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", + "typeString": "enum IexecLib.ContributionStatusEnum" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5325, + "name": "IexecLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2893, + "src": "11548:8:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecLib_$2893_$", + "typeString": "type(library IexecLib)" + } + }, + "id": 5326, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "ContributionStatusEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 2860, + "src": "11548:31:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_ContributionStatusEnum_$2860_$", + "typeString": "type(enum IexecLib.ContributionStatusEnum)" + } + }, + "id": 5327, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "CONTRIBUTED", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "11548:43:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", + "typeString": "enum IexecLib.ContributionStatusEnum" + } + }, + "src": "11522:69:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", + "typeString": "enum IexecLib.ContributionStatusEnum" + } + }, + "id": 5329, + "nodeType": "ExpressionStatement", + "src": "11522:69:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 5334, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5330, + "name": "contribution", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5269, + "src": "11595:12:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + } + }, + "id": 5332, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "resultHash", + "nodeType": "MemberAccess", + "referencedDeclaration": 2864, + "src": "11595:23:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 5333, + "name": "_resultHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5219, + "src": "11621:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "11595:37:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 5335, + "nodeType": "ExpressionStatement", + "src": "11595:37:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 5340, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5336, + "name": "contribution", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5269, + "src": "11636:12:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + } + }, + "id": 5338, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "resultSign", + "nodeType": "MemberAccess", + "referencedDeclaration": 2866, + "src": "11636:23:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 5339, + "name": "_resultSign", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5221, + "src": "11662:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "11636:37:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 5341, + "nodeType": "ExpressionStatement", + "src": "11636:37:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 5350, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5342, + "name": "contribution", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5269, + "src": "11677:12:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + } + }, + "id": 5344, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "score", + "nodeType": "MemberAccess", + "referencedDeclaration": 2870, + "src": "11677:18:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5347, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "11736:3:18", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5348, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "11736:10:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 5345, + "name": "iexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2441, + "src": "11703:17:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$2802", + "typeString": "contract IexecHubInterface" + } + }, + "id": 5346, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getWorkerScore", + "nodeType": "MemberAccess", + "referencedDeclaration": 2646, + "src": "11703:32:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view external returns (uint256)" + } + }, + "id": 5349, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11703:44:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11677:70:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5351, + "nodeType": "ExpressionStatement", + "src": "11677:70:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5357, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "11779:3:18", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5358, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "11779:10:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5352, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5242, + "src": "11751:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5355, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "contributors", + "nodeType": "MemberAccess", + "referencedDeclaration": 2849, + "src": "11751:22:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 5356, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "push", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "11751:27:18", + "typeDescriptions": { + "typeIdentifier": "t_function_arraypush_nonpayable$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) returns (uint256)" + } + }, + "id": 5359, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11751:39:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5360, + "nodeType": "ExpressionStatement", + "src": "11751:39:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5364, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5217, + "src": "11833:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5365, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "11840:3:18", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5366, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "11840:10:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5367, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5242, + "src": "11852:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5368, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "stakeAmount", + "nodeType": "MemberAccess", + "referencedDeclaration": 2836, + "src": "11852:21:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 5362, + "name": "iexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2441, + "src": "11803:17:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$2802", + "typeString": "contract IexecHubInterface" + } + }, + "id": 5363, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "lockForWork", + "nodeType": "MemberAccess", + "referencedDeclaration": 2705, + "src": "11803:29:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,address,uint256) external returns (bool)" + } + }, + "id": 5369, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11803:71:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5361, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "11795:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5370, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11795:80:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5371, + "nodeType": "ExpressionStatement", + "src": "11795:80:18" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5373, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5217, + "src": "11895:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5374, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "11902:3:18", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5375, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "11902:10:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 5376, + "name": "_resultHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5219, + "src": "11914:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 5372, + "name": "Contribute", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4397, + "src": "11884:10:18", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$", + "typeString": "function (address,address,bytes32)" + } + }, + "id": 5377, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11884:42:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5378, + "nodeType": "EmitStatement", + "src": "11879:47:18" + }, + { + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5379, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5242, + "src": "11937:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5380, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "stakeAmount", + "nodeType": "MemberAccess", + "referencedDeclaration": 2836, + "src": "11937:21:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 5231, + "id": 5381, + "nodeType": "Return", + "src": "11930:28:18" + } + ] + }, + "documentation": null, + "id": 5383, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "contribute", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5228, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5217, + "name": "_woid", + "nodeType": "VariableDeclaration", + "scope": 5383, + "src": "10636:13:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5216, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "10636:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5219, + "name": "_resultHash", + "nodeType": "VariableDeclaration", + "scope": 5383, + "src": "10651:19:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 5218, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "10651:7:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5221, + "name": "_resultSign", + "nodeType": "VariableDeclaration", + "scope": 5383, + "src": "10672:19:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 5220, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "10672:7:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5223, + "name": "_v", + "nodeType": "VariableDeclaration", + "scope": 5383, + "src": "10693:8:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 5222, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "10693:5:18", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5225, + "name": "_r", + "nodeType": "VariableDeclaration", + "scope": 5383, + "src": "10703:10:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 5224, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "10703:7:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5227, + "name": "_s", + "nodeType": "VariableDeclaration", + "scope": 5383, + "src": "10715:10:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 5226, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "10715:7:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "10635:91:18" + }, + "payable": false, + "returnParameters": { + "id": 5231, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5230, + "name": "workerStake", + "nodeType": "VariableDeclaration", + "scope": 5383, + "src": "10743:19:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5229, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10743:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "10742:21:18" + }, + "scope": 6097, + "src": "10616:1346:18", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 5524, + "nodeType": "Block", + "src": "12075:1064:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5397, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5385, + "src": "12121:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 5395, + "name": "iexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2441, + "src": "12087:17:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$2802", + "typeString": "contract IexecHubInterface" + } + }, + "id": 5396, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "isWoidRegistred", + "nodeType": "MemberAccess", + "referencedDeclaration": 2570, + "src": "12087:33:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_bool_$", + "typeString": "function (address) view external returns (bool)" + } + }, + "id": 5398, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12087:40:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5394, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "12079:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5399, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12079:49:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5400, + "nodeType": "ExpressionStatement", + "src": "12079:49:18" + }, + { + "assignments": [ + 5404 + ], + "declarations": [ + { + "constant": false, + "id": 5404, + "name": "consensus", + "nodeType": "VariableDeclaration", + "scope": 5525, + "src": "12132:36:18", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + }, + "typeName": { + "contractScope": null, + "id": 5403, + "name": "IexecLib.Consensus", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2854, + "src": "12132:18:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5408, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5405, + "name": "m_consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4341, + "src": "12171:11:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Consensus_$2854_storage_$", + "typeString": "mapping(address => struct IexecLib.Consensus storage ref)" + } + }, + "id": 5407, + "indexExpression": { + "argumentTypes": null, + "id": 5406, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5385, + "src": "12183:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12171:18:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage", + "typeString": "struct IexecLib.Consensus storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "12132:57:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5413, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5410, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7010, + "src": "12201:3:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5411, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5404, + "src": "12208:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5412, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "consensusTimeout", + "nodeType": "MemberAccess", + "referencedDeclaration": 2844, + "src": "12208:26:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12201:33:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5409, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "12193:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5414, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12193:42:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5415, + "nodeType": "ExpressionStatement", + "src": "12193:42:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5418, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5385, + "src": "12257:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 5417, + "name": "WorkOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4299, + "src": "12247:9:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_WorkOrder_$4299_$", + "typeString": "type(contract WorkOrder)" + } + }, + "id": 5419, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12247:16:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4299", + "typeString": "contract WorkOrder" + } + }, + "id": 5420, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "startRevealingPhase", + "nodeType": "MemberAccess", + "referencedDeclaration": 4188, + "src": "12247:36:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$__$returns$_t_bool_$", + "typeString": "function () external returns (bool)" + } + }, + "id": 5421, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12247:38:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5416, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "12239:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5422, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12239:47:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5423, + "nodeType": "ExpressionStatement", + "src": "12239:47:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 5428, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5424, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5404, + "src": "12291:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5426, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "winnerCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 2846, + "src": "12291:21:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "30", + "id": 5427, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12315:1:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "12291:25:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5429, + "nodeType": "ExpressionStatement", + "src": "12291:25:18" + }, + { + "body": { + "id": 5480, + "nodeType": "Block", + "src": "12380:317:18", + "statements": [ + { + "assignments": [ + 5443 + ], + "declarations": [ + { + "constant": false, + "id": 5443, + "name": "w", + "nodeType": "VariableDeclaration", + "scope": 5525, + "src": "12385:9:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5442, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "12385:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5448, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5444, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5404, + "src": "12397:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5445, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "contributors", + "nodeType": "MemberAccess", + "referencedDeclaration": 2849, + "src": "12397:22:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 5447, + "indexExpression": { + "argumentTypes": null, + "id": 5446, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5431, + "src": "12420:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12397:25:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "12385:37:18" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 5467, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 5456, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5449, + "name": "m_contributions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4347, + "src": "12436:15:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_Contribution_$2873_storage_$_$", + "typeString": "mapping(address => mapping(address => struct IexecLib.Contribution storage ref))" + } + }, + "id": 5451, + "indexExpression": { + "argumentTypes": null, + "id": 5450, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5385, + "src": "12452:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12436:22:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Contribution_$2873_storage_$", + "typeString": "mapping(address => struct IexecLib.Contribution storage ref)" + } + }, + "id": 5453, + "indexExpression": { + "argumentTypes": null, + "id": 5452, + "name": "w", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5443, + "src": "12459:1:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12436:25:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2873_storage", + "typeString": "struct IexecLib.Contribution storage ref" + } + }, + "id": 5454, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "resultHash", + "nodeType": "MemberAccess", + "referencedDeclaration": 2864, + "src": "12436:36:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 5455, + "name": "_consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5387, + "src": "12476:10:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "12436:50:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", + "typeString": "enum IexecLib.ContributionStatusEnum" + }, + "id": 5466, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5457, + "name": "m_contributions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4347, + "src": "12498:15:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_Contribution_$2873_storage_$_$", + "typeString": "mapping(address => mapping(address => struct IexecLib.Contribution storage ref))" + } + }, + "id": 5459, + "indexExpression": { + "argumentTypes": null, + "id": 5458, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5385, + "src": "12514:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12498:22:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Contribution_$2873_storage_$", + "typeString": "mapping(address => struct IexecLib.Contribution storage ref)" + } + }, + "id": 5461, + "indexExpression": { + "argumentTypes": null, + "id": 5460, + "name": "w", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5443, + "src": "12521:1:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12498:25:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2873_storage", + "typeString": "struct IexecLib.Contribution storage ref" + } + }, + "id": 5462, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 2862, + "src": "12498:32:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", + "typeString": "enum IexecLib.ContributionStatusEnum" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5463, + "name": "IexecLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2893, + "src": "12534:8:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecLib_$2893_$", + "typeString": "type(library IexecLib)" + } + }, + "id": 5464, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "ContributionStatusEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 2860, + "src": "12534:31:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_ContributionStatusEnum_$2860_$", + "typeString": "type(enum IexecLib.ContributionStatusEnum)" + } + }, + "id": 5465, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "CONTRIBUTED", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "12534:43:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", + "typeString": "enum IexecLib.ContributionStatusEnum" + } + }, + "src": "12498:79:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "12436:141:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 5479, + "nodeType": "IfStatement", + "src": "12427:266:18", + "trueBody": { + "id": 5478, + "nodeType": "Block", + "src": "12629:64:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 5476, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5468, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5404, + "src": "12635:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5470, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "winnerCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 2846, + "src": "12635:21:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31", + "id": 5474, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12685:1:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5471, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5404, + "src": "12659:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5472, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "winnerCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 2846, + "src": "12659:21:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5473, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 3773, + "src": "12659:25:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 5475, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12659:28:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12635:52:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5477, + "nodeType": "ExpressionStatement", + "src": "12635:52:18" + } + ] + } + } + ] + }, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5438, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5434, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5431, + "src": "12340:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5435, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5404, + "src": "12342:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5436, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "contributors", + "nodeType": "MemberAccess", + "referencedDeclaration": 2849, + "src": "12342:22:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 5437, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "12342:29:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12340:31:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 5481, + "initializationExpression": { + "assignments": [ + 5431 + ], + "declarations": [ + { + "constant": false, + "id": 5431, + "name": "i", + "nodeType": "VariableDeclaration", + "scope": 5525, + "src": "12325:9:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5430, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "12325:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5433, + "initialValue": { + "argumentTypes": null, + "hexValue": "30", + "id": 5432, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12337:1:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "12325:13:18" + }, + "loopExpression": { + "expression": { + "argumentTypes": null, + "id": 5440, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": true, + "src": "12373:3:18", + "subExpression": { + "argumentTypes": null, + "id": 5439, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5431, + "src": "12375:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5441, + "nodeType": "ExpressionStatement", + "src": "12373:3:18" + }, + "nodeType": "ForStatement", + "src": "12320:377:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5486, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5483, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5404, + "src": "12708:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5484, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "winnerCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 2846, + "src": "12708:21:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 5485, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12732:1:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "12708:25:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5482, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "12700:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5487, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12700:34:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5488, + "nodeType": "ExpressionStatement", + "src": "12700:34:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 5493, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5489, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5404, + "src": "12811:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5491, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "consensus", + "nodeType": "MemberAccess", + "referencedDeclaration": 2838, + "src": "12811:19:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 5492, + "name": "_consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5387, + "src": "12834:10:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "12811:33:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 5494, + "nodeType": "ExpressionStatement", + "src": "12811:33:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 5515, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5495, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5404, + "src": "12848:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5497, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "revealDate", + "nodeType": "MemberAccess", + "referencedDeclaration": 2840, + "src": "12848:20:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5513, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7010, + "src": "13037:3:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5510, + "name": "REVEAL_PERIOD_DURATION_RATIO", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4350, + "src": "13003:28:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5503, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5385, + "src": "12971:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 5502, + "name": "WorkOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4299, + "src": "12961:9:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_WorkOrder_$4299_$", + "typeString": "type(contract WorkOrder)" + } + }, + "id": 5504, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12961:16:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4299", + "typeString": "contract WorkOrder" + } + }, + "id": 5505, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_marketorderIdx", + "nodeType": "MemberAccess", + "referencedDeclaration": 4042, + "src": "12961:33:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", + "typeString": "function () view external returns (uint256)" + } + }, + "id": 5506, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12961:35:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 5500, + "name": "marketplaceInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3520, + "src": "12917:20:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_MarketplaceInterface_$3620", + "typeString": "contract MarketplaceInterface" + } + }, + "id": 5501, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getMarketOrderCategory", + "nodeType": "MemberAccess", + "referencedDeclaration": 3593, + "src": "12917:43:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) view external returns (uint256)" + } + }, + "id": 5507, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12917:80:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 5498, + "name": "iexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2441, + "src": "12871:17:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$2802", + "typeString": "contract IexecHubInterface" + } + }, + "id": 5499, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getCategoryWorkClockTimeRef", + "nodeType": "MemberAccess", + "referencedDeclaration": 2610, + "src": "12871:45:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) view external returns (uint256)" + } + }, + "id": 5508, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12871:127:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5509, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "mul", + "nodeType": "MemberAccess", + "referencedDeclaration": 3826, + "src": "12871:131:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 5511, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12871:161:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5512, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 3773, + "src": "12871:165:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 5514, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12871:170:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12848:193:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5516, + "nodeType": "ExpressionStatement", + "src": "12848:193:18" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5518, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5385, + "src": "13102:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 5519, + "name": "_consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5387, + "src": "13109:10:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 5517, + "name": "RevealConsensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4403, + "src": "13086:15:18", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_bytes32_$returns$__$", + "typeString": "function (address,bytes32)" + } + }, + "id": 5520, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13086:34:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5521, + "nodeType": "EmitStatement", + "src": "13081:39:18" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 5522, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13131:4:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 5393, + "id": 5523, + "nodeType": "Return", + "src": "13124:11:18" + } + ] + }, + "documentation": null, + "id": 5525, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 5390, + "modifierName": { + "argumentTypes": null, + "id": 5389, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3700, + "src": "12032:9:18", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "12032:9:18" + } + ], + "name": "revealConsensus", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5388, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5385, + "name": "_woid", + "nodeType": "VariableDeclaration", + "scope": 5525, + "src": "11990:13:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5384, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "11990:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5387, + "name": "_consensus", + "nodeType": "VariableDeclaration", + "scope": 5525, + "src": "12005:18:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 5386, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "12005:7:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "11989:35:18" + }, + "payable": false, + "returnParameters": { + "id": 5393, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5392, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 5525, + "src": "12068:4:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 5391, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "12068:4:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "12067:6:18" + }, + "scope": 6097, + "src": "11965:1174:18", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 5653, + "nodeType": "Block", + "src": "13213:964:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5537, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5527, + "src": "13259:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 5535, + "name": "iexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2441, + "src": "13225:17:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$2802", + "typeString": "contract IexecHubInterface" + } + }, + "id": 5536, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "isWoidRegistred", + "nodeType": "MemberAccess", + "referencedDeclaration": 2570, + "src": "13225:33:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_bool_$", + "typeString": "function (address) view external returns (bool)" + } + }, + "id": 5538, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13225:40:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5534, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "13217:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5539, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13217:49:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5540, + "nodeType": "ExpressionStatement", + "src": "13217:49:18" + }, + { + "assignments": [ + 5544 + ], + "declarations": [ + { + "constant": false, + "id": 5544, + "name": "consensus", + "nodeType": "VariableDeclaration", + "scope": 5654, + "src": "13270:39:18", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + }, + "typeName": { + "contractScope": null, + "id": 5543, + "name": "IexecLib.Consensus", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2854, + "src": "13270:18:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5548, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5545, + "name": "m_consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4341, + "src": "13315:11:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Consensus_$2854_storage_$", + "typeString": "mapping(address => struct IexecLib.Consensus storage ref)" + } + }, + "id": 5547, + "indexExpression": { + "argumentTypes": null, + "id": 5546, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5527, + "src": "13327:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "13315:18:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage", + "typeString": "struct IexecLib.Consensus storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "13270:63:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5553, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5550, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7010, + "src": "13345:3:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5551, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5544, + "src": "13352:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5552, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "consensusTimeout", + "nodeType": "MemberAccess", + "referencedDeclaration": 2844, + "src": "13352:26:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "13345:33:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5549, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "13337:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5554, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13337:42:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5555, + "nodeType": "ExpressionStatement", + "src": "13337:42:18" + }, + { + "assignments": [ + 5559 + ], + "declarations": [ + { + "constant": false, + "id": 5559, + "name": "contribution", + "nodeType": "VariableDeclaration", + "scope": 5654, + "src": "13383:42:18", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + }, + "typeName": { + "contractScope": null, + "id": 5558, + "name": "IexecLib.Contribution", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2873, + "src": "13383:21:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5566, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5560, + "name": "m_contributions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4347, + "src": "13428:15:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_Contribution_$2873_storage_$_$", + "typeString": "mapping(address => mapping(address => struct IexecLib.Contribution storage ref))" + } + }, + "id": 5562, + "indexExpression": { + "argumentTypes": null, + "id": 5561, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5527, + "src": "13444:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "13428:22:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Contribution_$2873_storage_$", + "typeString": "mapping(address => struct IexecLib.Contribution storage ref)" + } + }, + "id": 5565, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5563, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "13451:3:18", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5564, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "13451:10:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "13428:34:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2873_storage", + "typeString": "struct IexecLib.Contribution storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "13383:79:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + }, + "id": 5576, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5569, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5527, + "src": "13485:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 5568, + "name": "WorkOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4299, + "src": "13475:9:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_WorkOrder_$4299_$", + "typeString": "type(contract WorkOrder)" + } + }, + "id": 5570, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13475:16:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4299", + "typeString": "contract WorkOrder" + } + }, + "id": 5571, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_status", + "nodeType": "MemberAccess", + "referencedDeclaration": 4040, + "src": "13475:25:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_enum$_WorkOrderStatusEnum_$2832_$", + "typeString": "function () view external returns (enum IexecLib.WorkOrderStatusEnum)" + } + }, + "id": 5572, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13475:27:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5573, + "name": "IexecLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2893, + "src": "13506:8:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecLib_$2893_$", + "typeString": "type(library IexecLib)" + } + }, + "id": 5574, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "WorkOrderStatusEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 2832, + "src": "13506:28:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_WorkOrderStatusEnum_$2832_$", + "typeString": "type(enum IexecLib.WorkOrderStatusEnum)" + } + }, + "id": 5575, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "REVEALING", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "13506:38:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "src": "13475:69:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5567, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "13467:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5577, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13467:83:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5578, + "nodeType": "ExpressionStatement", + "src": "13467:83:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5583, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5580, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5544, + "src": "13562:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5581, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "revealDate", + "nodeType": "MemberAccess", + "referencedDeclaration": 2840, + "src": "13562:20:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "id": 5582, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7010, + "src": "13593:3:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "13562:34:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5579, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "13554:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5584, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13554:83:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5585, + "nodeType": "ExpressionStatement", + "src": "13554:83:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", + "typeString": "enum IexecLib.ContributionStatusEnum" + }, + "id": 5592, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5587, + "name": "contribution", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5559, + "src": "13649:12:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + } + }, + "id": 5588, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 2862, + "src": "13649:19:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", + "typeString": "enum IexecLib.ContributionStatusEnum" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5589, + "name": "IexecLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2893, + "src": "13680:8:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecLib_$2893_$", + "typeString": "type(library IexecLib)" + } + }, + "id": 5590, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "ContributionStatusEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 2860, + "src": "13680:31:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_ContributionStatusEnum_$2860_$", + "typeString": "type(enum IexecLib.ContributionStatusEnum)" + } + }, + "id": 5591, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "CONTRIBUTED", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "13680:43:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", + "typeString": "enum IexecLib.ContributionStatusEnum" + } + }, + "src": "13649:74:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5586, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "13641:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5593, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13641:83:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5594, + "nodeType": "ExpressionStatement", + "src": "13641:83:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 5600, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5596, + "name": "contribution", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5559, + "src": "13736:12:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + } + }, + "id": 5597, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "resultHash", + "nodeType": "MemberAccess", + "referencedDeclaration": 2864, + "src": "13736:23:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5598, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5544, + "src": "13767:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5599, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "consensus", + "nodeType": "MemberAccess", + "referencedDeclaration": 2838, + "src": "13767:19:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "13736:50:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5595, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "13728:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5601, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13728:83:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5602, + "nodeType": "ExpressionStatement", + "src": "13728:83:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 5609, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5604, + "name": "contribution", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5559, + "src": "13823:12:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + } + }, + "id": 5605, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "resultHash", + "nodeType": "MemberAccess", + "referencedDeclaration": 2864, + "src": "13823:23:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5607, + "name": "_result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5529, + "src": "13864:7:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 5606, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7002, + "src": "13854:9:18", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 5608, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13854:42:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "13823:73:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5603, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "13815:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5610, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13815:83:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5611, + "nodeType": "ExpressionStatement", + "src": "13815:83:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 5623, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5613, + "name": "contribution", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5559, + "src": "13910:12:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + } + }, + "id": 5614, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "resultSign", + "nodeType": "MemberAccess", + "referencedDeclaration": 2866, + "src": "13910:23:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 5621, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5616, + "name": "_result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5529, + "src": "13951:7:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "^", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5618, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "13971:3:18", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5619, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "13971:10:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 5617, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7002, + "src": "13961:9:18", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 5620, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13961:21:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "13951:31:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 5615, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7002, + "src": "13941:9:18", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 5622, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13941:42:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "13910:73:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5612, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "13902:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5624, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13902:83:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5625, + "nodeType": "ExpressionStatement", + "src": "13902:83:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 5632, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5626, + "name": "contribution", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5559, + "src": "13990:12:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + } + }, + "id": 5628, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 2862, + "src": "13990:19:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", + "typeString": "enum IexecLib.ContributionStatusEnum" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5629, + "name": "IexecLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2893, + "src": "14016:8:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecLib_$2893_$", + "typeString": "type(library IexecLib)" + } + }, + "id": 5630, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "ContributionStatusEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 2860, + "src": "14016:31:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_ContributionStatusEnum_$2860_$", + "typeString": "type(enum IexecLib.ContributionStatusEnum)" + } + }, + "id": 5631, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "PROVED", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "14016:38:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", + "typeString": "enum IexecLib.ContributionStatusEnum" + } + }, + "src": "13990:64:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", + "typeString": "enum IexecLib.ContributionStatusEnum" + } + }, + "id": 5633, + "nodeType": "ExpressionStatement", + "src": "13990:64:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 5642, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5634, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5544, + "src": "14058:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5636, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "revealCounter", + "nodeType": "MemberAccess", + "referencedDeclaration": 2842, + "src": "14058:23:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31", + "id": 5640, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14112:1:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5637, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5544, + "src": "14084:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5638, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "revealCounter", + "nodeType": "MemberAccess", + "referencedDeclaration": 2842, + "src": "14084:23:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5639, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 3773, + "src": "14084:27:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 5641, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14084:30:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "14058:56:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5643, + "nodeType": "ExpressionStatement", + "src": "14058:56:18" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5645, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5527, + "src": "14131:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5646, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "14138:3:18", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5647, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "14138:10:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 5648, + "name": "_result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5529, + "src": "14150:7:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 5644, + "name": "Reveal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4411, + "src": "14124:6:18", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$", + "typeString": "function (address,address,bytes32)" + } + }, + "id": 5649, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14124:34:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5650, + "nodeType": "EmitStatement", + "src": "14119:39:18" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 5651, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14169:4:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 5533, + "id": 5652, + "nodeType": "Return", + "src": "14162:11:18" + } + ] + }, + "documentation": null, + "id": 5654, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "reveal", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5530, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5527, + "name": "_woid", + "nodeType": "VariableDeclaration", + "scope": 5654, + "src": "13158:13:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5526, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "13158:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5529, + "name": "_result", + "nodeType": "VariableDeclaration", + "scope": 5654, + "src": "13173:15:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 5528, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "13173:7:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "13157:32:18" + }, + "payable": false, + "returnParameters": { + "id": 5533, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5532, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 5654, + "src": "13206:4:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 5531, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "13206:4:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "13205:6:18" + }, + "scope": 6097, + "src": "13142:1035:18", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 5772, + "nodeType": "Block", + "src": "14261:798:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5666, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5656, + "src": "14307:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 5664, + "name": "iexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2441, + "src": "14273:17:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$2802", + "typeString": "contract IexecHubInterface" + } + }, + "id": 5665, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "isWoidRegistred", + "nodeType": "MemberAccess", + "referencedDeclaration": 2570, + "src": "14273:33:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_bool_$", + "typeString": "function (address) view external returns (bool)" + } + }, + "id": 5667, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14273:40:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5663, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "14265:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5668, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14265:49:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5669, + "nodeType": "ExpressionStatement", + "src": "14265:49:18" + }, + { + "assignments": [ + 5673 + ], + "declarations": [ + { + "constant": false, + "id": 5673, + "name": "consensus", + "nodeType": "VariableDeclaration", + "scope": 5773, + "src": "14318:36:18", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + }, + "typeName": { + "contractScope": null, + "id": 5672, + "name": "IexecLib.Consensus", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2854, + "src": "14318:18:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5677, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5674, + "name": "m_consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4341, + "src": "14357:11:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Consensus_$2854_storage_$", + "typeString": "mapping(address => struct IexecLib.Consensus storage ref)" + } + }, + "id": 5676, + "indexExpression": { + "argumentTypes": null, + "id": 5675, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5656, + "src": "14369:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14357:18:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage", + "typeString": "struct IexecLib.Consensus storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "14318:57:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5682, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5679, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7010, + "src": "14387:3:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5680, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5673, + "src": "14394:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5681, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "consensusTimeout", + "nodeType": "MemberAccess", + "referencedDeclaration": 2844, + "src": "14394:26:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "14387:33:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5678, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "14379:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5683, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14379:42:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5684, + "nodeType": "ExpressionStatement", + "src": "14379:42:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 5694, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5689, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5686, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5673, + "src": "14433:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5687, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "revealDate", + "nodeType": "MemberAccess", + "referencedDeclaration": 2840, + "src": "14433:20:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "argumentTypes": null, + "id": 5688, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7010, + "src": "14457:3:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "14433:27:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5693, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5690, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5673, + "src": "14464:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5691, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "revealCounter", + "nodeType": "MemberAccess", + "referencedDeclaration": 2842, + "src": "14464:23:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 5692, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14491:1:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "14464:28:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "14433:59:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5685, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "14425:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5695, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14425:68:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5696, + "nodeType": "ExpressionStatement", + "src": "14425:68:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5699, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5656, + "src": "14515:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 5698, + "name": "WorkOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4299, + "src": "14505:9:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_WorkOrder_$4299_$", + "typeString": "type(contract WorkOrder)" + } + }, + "id": 5700, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14505:16:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4299", + "typeString": "contract WorkOrder" + } + }, + "id": 5701, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "reActivate", + "nodeType": "MemberAccess", + "referencedDeclaration": 4220, + "src": "14505:27:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$__$returns$_t_bool_$", + "typeString": "function () external returns (bool)" + } + }, + "id": 5702, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14505:29:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5697, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "14497:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5703, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14497:38:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5704, + "nodeType": "ExpressionStatement", + "src": "14497:38:18" + }, + { + "body": { + "id": 5746, + "nodeType": "Block", + "src": "14602:206:18", + "statements": [ + { + "assignments": [ + 5718 + ], + "declarations": [ + { + "constant": false, + "id": 5718, + "name": "w", + "nodeType": "VariableDeclaration", + "scope": 5773, + "src": "14607:9:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5717, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "14607:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5723, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5719, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5673, + "src": "14619:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5720, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "contributors", + "nodeType": "MemberAccess", + "referencedDeclaration": 2849, + "src": "14619:22:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 5722, + "indexExpression": { + "argumentTypes": null, + "id": 5721, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5706, + "src": "14642:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14619:25:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "14607:37:18" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 5732, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5724, + "name": "m_contributions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4347, + "src": "14653:15:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_Contribution_$2873_storage_$_$", + "typeString": "mapping(address => mapping(address => struct IexecLib.Contribution storage ref))" + } + }, + "id": 5726, + "indexExpression": { + "argumentTypes": null, + "id": 5725, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5656, + "src": "14669:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14653:22:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Contribution_$2873_storage_$", + "typeString": "mapping(address => struct IexecLib.Contribution storage ref)" + } + }, + "id": 5728, + "indexExpression": { + "argumentTypes": null, + "id": 5727, + "name": "w", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5718, + "src": "14676:1:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14653:25:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2873_storage", + "typeString": "struct IexecLib.Contribution storage ref" + } + }, + "id": 5729, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "resultHash", + "nodeType": "MemberAccess", + "referencedDeclaration": 2864, + "src": "14653:36:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5730, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5673, + "src": "14693:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5731, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "consensus", + "nodeType": "MemberAccess", + "referencedDeclaration": 2838, + "src": "14693:19:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "14653:59:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 5745, + "nodeType": "IfStatement", + "src": "14649:155:18", + "trueBody": { + "id": 5744, + "nodeType": "Block", + "src": "14717:87:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 5742, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5733, + "name": "m_contributions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4347, + "src": "14723:15:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_Contribution_$2873_storage_$_$", + "typeString": "mapping(address => mapping(address => struct IexecLib.Contribution storage ref))" + } + }, + "id": 5736, + "indexExpression": { + "argumentTypes": null, + "id": 5734, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5656, + "src": "14739:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14723:22:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Contribution_$2873_storage_$", + "typeString": "mapping(address => struct IexecLib.Contribution storage ref)" + } + }, + "id": 5737, + "indexExpression": { + "argumentTypes": null, + "id": 5735, + "name": "w", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5718, + "src": "14746:1:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14723:25:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2873_storage", + "typeString": "struct IexecLib.Contribution storage ref" + } + }, + "id": 5738, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 2862, + "src": "14723:32:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", + "typeString": "enum IexecLib.ContributionStatusEnum" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5739, + "name": "IexecLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2893, + "src": "14758:8:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecLib_$2893_$", + "typeString": "type(library IexecLib)" + } + }, + "id": 5740, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "ContributionStatusEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 2860, + "src": "14758:31:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_ContributionStatusEnum_$2860_$", + "typeString": "type(enum IexecLib.ContributionStatusEnum)" + } + }, + "id": 5741, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "REJECTED", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "14758:40:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", + "typeString": "enum IexecLib.ContributionStatusEnum" + } + }, + "src": "14723:75:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", + "typeString": "enum IexecLib.ContributionStatusEnum" + } + }, + "id": 5743, + "nodeType": "ExpressionStatement", + "src": "14723:75:18" + } + ] + } + } + ] + }, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5713, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5709, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5706, + "src": "14560:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5710, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5673, + "src": "14564:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5711, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "contributors", + "nodeType": "MemberAccess", + "referencedDeclaration": 2849, + "src": "14564:22:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 5712, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "14564:29:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "14560:33:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 5747, + "initializationExpression": { + "assignments": [ + 5706 + ], + "declarations": [ + { + "constant": false, + "id": 5706, + "name": "i", + "nodeType": "VariableDeclaration", + "scope": 5773, + "src": "14545:9:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5705, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "14545:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5708, + "initialValue": { + "argumentTypes": null, + "hexValue": "30", + "id": 5707, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14557:1:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "14545:13:18" + }, + "loopExpression": { + "expression": { + "argumentTypes": null, + "id": 5715, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": true, + "src": "14595:3:18", + "subExpression": { + "argumentTypes": null, + "id": 5714, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5706, + "src": "14597:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5716, + "nodeType": "ExpressionStatement", + "src": "14595:3:18" + }, + "nodeType": "ForStatement", + "src": "14540:268:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 5752, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5748, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5673, + "src": "14933:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5750, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "winnerCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 2846, + "src": "14933:21:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "30", + "id": 5751, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14957:1:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "14933:25:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5753, + "nodeType": "ExpressionStatement", + "src": "14933:25:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 5758, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5754, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5673, + "src": "14962:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5756, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "consensus", + "nodeType": "MemberAccess", + "referencedDeclaration": 2838, + "src": "14962:19:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "307830", + "id": 5757, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14986:3:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + }, + "src": "14962:27:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 5759, + "nodeType": "ExpressionStatement", + "src": "14962:27:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 5764, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5760, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5673, + "src": "14993:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5762, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "revealDate", + "nodeType": "MemberAccess", + "referencedDeclaration": 2840, + "src": "14993:20:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "30", + "id": 5763, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15017:1:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "14993:25:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5765, + "nodeType": "ExpressionStatement", + "src": "14993:25:18" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5767, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5656, + "src": "15034:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 5766, + "name": "Reopen", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4415, + "src": "15027:6:18", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 5768, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15027:13:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5769, + "nodeType": "EmitStatement", + "src": "15022:18:18" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 5770, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15051:4:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 5662, + "id": 5771, + "nodeType": "Return", + "src": "15044:11:18" + } + ] + }, + "documentation": null, + "id": 5773, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 5659, + "modifierName": { + "argumentTypes": null, + "id": 5658, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3700, + "src": "14218:9:18", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "14218:9:18" + } + ], + "name": "reopen", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5657, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5656, + "name": "_woid", + "nodeType": "VariableDeclaration", + "scope": 5773, + "src": "14196:13:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5655, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "14196:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "14195:15:18" + }, + "payable": false, + "returnParameters": { + "id": 5662, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5661, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 5773, + "src": "14254:4:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 5660, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "14254:4:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "14253:6:18" + }, + "scope": 6097, + "src": "14180:879:18", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 5856, + "nodeType": "Block", + "src": "15296:612:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5791, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5775, + "src": "15342:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 5789, + "name": "iexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2441, + "src": "15308:17:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$2802", + "typeString": "contract IexecHubInterface" + } + }, + "id": 5790, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "isWoidRegistred", + "nodeType": "MemberAccess", + "referencedDeclaration": 2570, + "src": "15308:33:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_bool_$", + "typeString": "function (address) view external returns (bool)" + } + }, + "id": 5792, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15308:40:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5788, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "15300:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5793, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15300:49:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5794, + "nodeType": "ExpressionStatement", + "src": "15300:49:18" + }, + { + "assignments": [ + 5798 + ], + "declarations": [ + { + "constant": false, + "id": 5798, + "name": "consensus", + "nodeType": "VariableDeclaration", + "scope": 5857, + "src": "15353:36:18", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + }, + "typeName": { + "contractScope": null, + "id": 5797, + "name": "IexecLib.Consensus", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2854, + "src": "15353:18:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5802, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5799, + "name": "m_consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4341, + "src": "15392:11:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Consensus_$2854_storage_$", + "typeString": "mapping(address => struct IexecLib.Consensus storage ref)" + } + }, + "id": 5801, + "indexExpression": { + "argumentTypes": null, + "id": 5800, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5775, + "src": "15404:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "15392:18:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage", + "typeString": "struct IexecLib.Consensus storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "15353:57:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5807, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5804, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7010, + "src": "15422:3:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5805, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5798, + "src": "15429:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5806, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "consensusTimeout", + "nodeType": "MemberAccess", + "referencedDeclaration": 2844, + "src": "15429:26:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "15422:33:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5803, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "15414:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5808, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15414:42:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5809, + "nodeType": "ExpressionStatement", + "src": "15414:42:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 5827, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 5819, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5814, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5811, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5798, + "src": "15469:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5812, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "revealDate", + "nodeType": "MemberAccess", + "referencedDeclaration": 2840, + "src": "15469:20:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "argumentTypes": null, + "id": 5813, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7010, + "src": "15493:3:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "15469:27:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5818, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5815, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5798, + "src": "15500:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5816, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "revealCounter", + "nodeType": "MemberAccess", + "referencedDeclaration": 2842, + "src": "15500:23:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 5817, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15526:1:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "15500:27:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "15469:58:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 5820, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "15468:60:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5825, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5821, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5798, + "src": "15533:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5822, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "revealCounter", + "nodeType": "MemberAccess", + "referencedDeclaration": 2842, + "src": "15533:23:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5823, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5798, + "src": "15560:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5824, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "winnerCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 2846, + "src": "15560:21:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "15533:48:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 5826, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "15532:50:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "15468:114:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5810, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "15460:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5828, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15460:123:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5829, + "nodeType": "ExpressionStatement", + "src": "15460:123:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5832, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5775, + "src": "15742:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 5833, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5798, + "src": "15749:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + ], + "id": 5831, + "name": "distributeRewards", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6096, + "src": "15724:17:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_struct$_Consensus_$2854_memory_ptr_$returns$_t_bool_$", + "typeString": "function (address,struct IexecLib.Consensus memory) returns (bool)" + } + }, + "id": 5834, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15724:35:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5830, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "15716:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5835, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15716:44:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5836, + "nodeType": "ExpressionStatement", + "src": "15716:44:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5840, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5775, + "src": "15809:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 5841, + "name": "_stdout", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5777, + "src": "15816:7:18", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "id": 5842, + "name": "_stderr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5779, + "src": "15825:7:18", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "id": 5843, + "name": "_uri", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5781, + "src": "15834:4:18", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "argumentTypes": null, + "id": 5838, + "name": "iexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2441, + "src": "15773:17:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$2802", + "typeString": "contract IexecHubInterface" + } + }, + "id": 5839, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "finalizeWorkOrder", + "nodeType": "MemberAccess", + "referencedDeclaration": 2603, + "src": "15773:35:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$", + "typeString": "function (address,string memory,string memory,string memory) external returns (bool)" + } + }, + "id": 5844, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15773:66:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5837, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "15765:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5845, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15765:75:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5846, + "nodeType": "ExpressionStatement", + "src": "15765:75:18" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5848, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5775, + "src": "15862:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 5849, + "name": "_stdout", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5777, + "src": "15868:7:18", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "id": 5850, + "name": "_stderr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5779, + "src": "15876:7:18", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "id": 5851, + "name": "_uri", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5781, + "src": "15884:4:18", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 5847, + "name": "FinalizeWork", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4425, + "src": "15849:12:18", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (address,string memory,string memory,string memory)" + } + }, + "id": 5852, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15849:40:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5853, + "nodeType": "EmitStatement", + "src": "15844:45:18" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 5854, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15900:4:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 5787, + "id": 5855, + "nodeType": "Return", + "src": "15893:11:18" + } + ] + }, + "documentation": null, + "id": 5857, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 5784, + "modifierName": { + "argumentTypes": null, + "id": 5783, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3700, + "src": "15253:9:18", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "15253:9:18" + } + ], + "name": "finalizeWork", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5782, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5775, + "name": "_woid", + "nodeType": "VariableDeclaration", + "scope": 5857, + "src": "15186:13:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5774, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "15186:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5777, + "name": "_stdout", + "nodeType": "VariableDeclaration", + "scope": 5857, + "src": "15201:14:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 5776, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "15201:6:18", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5779, + "name": "_stderr", + "nodeType": "VariableDeclaration", + "scope": 5857, + "src": "15217:14:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 5778, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "15217:6:18", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5781, + "name": "_uri", + "nodeType": "VariableDeclaration", + "scope": 5857, + "src": "15233:11:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 5780, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "15233:6:18", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "15185:60:18" + }, + "payable": false, + "returnParameters": { + "id": 5787, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5786, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 5857, + "src": "15289:4:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 5785, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "15289:4:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "15288:6:18" + }, + "scope": 6097, + "src": "15164:744:18", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 6095, + "nodeType": "Block", + "src": "16009:1934:18", + "statements": [ + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 5867, + "name": "i", + "nodeType": "VariableDeclaration", + "scope": 6096, + "src": "16013:9:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5866, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "16013:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5868, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "16013:9:18" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 5870, + "name": "w", + "nodeType": "VariableDeclaration", + "scope": 6096, + "src": "16026:9:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5869, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "16026:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5871, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "16026:9:18" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 5873, + "name": "workerBonus", + "nodeType": "VariableDeclaration", + "scope": 6096, + "src": "16039:19:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5872, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "16039:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5874, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "16039:19:18" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 5876, + "name": "workerWeight", + "nodeType": "VariableDeclaration", + "scope": 6096, + "src": "16062:20:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5875, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "16062:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5877, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "16062:20:18" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 5879, + "name": "totalWeight", + "nodeType": "VariableDeclaration", + "scope": 6096, + "src": "16086:19:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5878, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "16086:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5880, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "16086:19:18" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 5882, + "name": "individualWorkerReward", + "nodeType": "VariableDeclaration", + "scope": 6096, + "src": "16109:30:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5881, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "16109:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5883, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "16109:30:18" + }, + { + "assignments": [ + 5885 + ], + "declarations": [ + { + "constant": false, + "id": 5885, + "name": "totalReward", + "nodeType": "VariableDeclaration", + "scope": 6096, + "src": "16143:19:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5884, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "16143:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5888, + "initialValue": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5886, + "name": "_consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5861, + "src": "16165:10:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_memory_ptr", + "typeString": "struct IexecLib.Consensus memory" + } + }, + "id": 5887, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "poolReward", + "nodeType": "MemberAccess", + "referencedDeclaration": 2834, + "src": "16165:21:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "16143:43:18" + }, + { + "assignments": [ + 5892 + ], + "declarations": [ + { + "constant": false, + "id": 5892, + "name": "contributors", + "nodeType": "VariableDeclaration", + "scope": 6096, + "src": "16190:29:18", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + }, + "typeName": { + "baseType": { + "id": 5890, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "16190:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 5891, + "length": null, + "nodeType": "ArrayTypeName", + "src": "16190:9:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[] storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5895, + "initialValue": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5893, + "name": "_consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5861, + "src": "16222:10:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_memory_ptr", + "typeString": "struct IexecLib.Consensus memory" + } + }, + "id": 5894, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "contributors", + "nodeType": "MemberAccess", + "referencedDeclaration": 2849, + "src": "16222:23:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory", + "typeString": "address[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "16190:55:18" + }, + { + "body": { + "id": 5978, + "nodeType": "Block", + "src": "16291:590:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 5911, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 5907, + "name": "w", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5870, + "src": "16296:1:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5908, + "name": "contributors", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5892, + "src": "16300:12:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 5910, + "indexExpression": { + "argumentTypes": null, + "id": 5909, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5867, + "src": "16313:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16300:15:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "16296:19:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 5912, + "nodeType": "ExpressionStatement", + "src": "16296:19:18" + }, + { + "assignments": [ + 5916 + ], + "declarations": [ + { + "constant": false, + "id": 5916, + "name": "c", + "nodeType": "VariableDeclaration", + "scope": 6096, + "src": "16320:31:18", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + }, + "typeName": { + "contractScope": null, + "id": 5915, + "name": "IexecLib.Contribution", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2873, + "src": "16320:21:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5922, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5917, + "name": "m_contributions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4347, + "src": "16354:15:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_Contribution_$2873_storage_$_$", + "typeString": "mapping(address => mapping(address => struct IexecLib.Contribution storage ref))" + } + }, + "id": 5919, + "indexExpression": { + "argumentTypes": null, + "id": 5918, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5859, + "src": "16370:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16354:22:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Contribution_$2873_storage_$", + "typeString": "mapping(address => struct IexecLib.Contribution storage ref)" + } + }, + "id": 5921, + "indexExpression": { + "argumentTypes": null, + "id": 5920, + "name": "w", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5870, + "src": "16377:1:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16354:25:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2873_storage", + "typeString": "struct IexecLib.Contribution storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "16320:59:18" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", + "typeString": "enum IexecLib.ContributionStatusEnum" + }, + "id": 5928, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5923, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5916, + "src": "16388:1:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + } + }, + "id": 5924, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 2862, + "src": "16388:8:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", + "typeString": "enum IexecLib.ContributionStatusEnum" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5925, + "name": "IexecLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2893, + "src": "16400:8:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecLib_$2893_$", + "typeString": "type(library IexecLib)" + } + }, + "id": 5926, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "ContributionStatusEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 2860, + "src": "16400:31:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_ContributionStatusEnum_$2860_$", + "typeString": "type(enum IexecLib.ContributionStatusEnum)" + } + }, + "id": 5927, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "PROVED", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "16400:38:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", + "typeString": "enum IexecLib.ContributionStatusEnum" + } + }, + "src": "16388:50:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 5976, + "nodeType": "Block", + "src": "16812:65:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 5974, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 5968, + "name": "totalReward", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5885, + "src": "16818:11:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5971, + "name": "_consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5861, + "src": "16848:10:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_memory_ptr", + "typeString": "struct IexecLib.Consensus memory" + } + }, + "id": 5972, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "stakeAmount", + "nodeType": "MemberAccess", + "referencedDeclaration": 2836, + "src": "16848:22:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 5969, + "name": "totalReward", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5885, + "src": "16832:11:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5970, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 3773, + "src": "16832:15:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 5973, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16832:39:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "16818:53:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5975, + "nodeType": "ExpressionStatement", + "src": "16818:53:18" + } + ] + }, + "id": 5977, + "nodeType": "IfStatement", + "src": "16384:493:18", + "trueBody": { + "id": 5967, + "nodeType": "Block", + "src": "16443:271:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 5940, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 5929, + "name": "workerBonus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5873, + "src": "16449:11:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "condition": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 5935, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5930, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5916, + "src": "16465:1:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + } + }, + "id": 5931, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "enclaveChallenge", + "nodeType": "MemberAccess", + "referencedDeclaration": 2868, + "src": "16465:18:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 5933, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16495:1:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 5932, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "16487:7:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 5934, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16487:10:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "16465:32:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 5936, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "16464:34:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "argumentTypes": null, + "hexValue": "31", + "id": 5938, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16505:1:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "id": 5939, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "16464:42:18", + "trueExpression": { + "argumentTypes": null, + "hexValue": "33", + "id": 5937, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16501:1:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + }, + "value": "3" + }, + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "src": "16449:57:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5941, + "nodeType": "ExpressionStatement", + "src": "16449:57:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 5952, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 5942, + "name": "workerWeight", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5876, + "src": "16537:12:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5951, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "hexValue": "31", + "id": 5943, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16552:1:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5947, + "name": "workerBonus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5873, + "src": "16568:11:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5944, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5916, + "src": "16556:1:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + } + }, + "id": 5945, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "score", + "nodeType": "MemberAccess", + "referencedDeclaration": 2870, + "src": "16556:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5946, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "mul", + "nodeType": "MemberAccess", + "referencedDeclaration": 3826, + "src": "16556:11:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 5948, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16556:24:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5949, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "log", + "nodeType": "MemberAccess", + "referencedDeclaration": 3923, + "src": "16556:28:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + } + }, + "id": 5950, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16556:30:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "16552:34:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "16537:49:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5953, + "nodeType": "ExpressionStatement", + "src": "16537:49:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 5959, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 5954, + "name": "totalWeight", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5879, + "src": "16592:11:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5957, + "name": "workerWeight", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5876, + "src": "16623:12:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 5955, + "name": "totalWeight", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5879, + "src": "16607:11:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5956, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 3773, + "src": "16607:15:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 5958, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16607:29:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "16592:44:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5960, + "nodeType": "ExpressionStatement", + "src": "16592:44:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 5965, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5961, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5916, + "src": "16642:1:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + } + }, + "id": 5963, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "weight", + "nodeType": "MemberAccess", + "referencedDeclaration": 2872, + "src": "16642:8:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 5964, + "name": "workerWeight", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5876, + "src": "16657:12:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "16642:27:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5966, + "nodeType": "ExpressionStatement", + "src": "16642:27:18" + } + ] + } + } + ] + }, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5903, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5900, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5867, + "src": "16261:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5901, + "name": "contributors", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5892, + "src": "16263:12:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 5902, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "16263:19:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "16261:21:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 5979, + "initializationExpression": { + "expression": { + "argumentTypes": null, + "id": 5898, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 5896, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5867, + "src": "16254:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "30", + "id": 5897, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16258:1:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "16254:5:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5899, + "nodeType": "ExpressionStatement", + "src": "16254:5:18" + }, + "loopExpression": { + "expression": { + "argumentTypes": null, + "id": 5905, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": true, + "src": "16284:3:18", + "subExpression": { + "argumentTypes": null, + "id": 5904, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5867, + "src": "16286:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5906, + "nodeType": "ExpressionStatement", + "src": "16284:3:18" + }, + "nodeType": "ForStatement", + "src": "16249:632:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5983, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5981, + "name": "totalWeight", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5879, + "src": "16892:11:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 5982, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16906:1:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "16892:15:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5980, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "16884:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5984, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16884:24:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5985, + "nodeType": "ExpressionStatement", + "src": "16884:24:18" + }, + { + "assignments": [ + 5987 + ], + "declarations": [ + { + "constant": false, + "id": 5987, + "name": "totalWorkersReward", + "nodeType": "VariableDeclaration", + "scope": 6096, + "src": "16959:26:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5986, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "16959:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5998, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5994, + "name": "_consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5861, + "src": "17028:10:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_memory_ptr", + "typeString": "struct IexecLib.Consensus memory" + } + }, + "id": 5995, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "schedulerRewardRatioPolicy", + "nodeType": "MemberAccess", + "referencedDeclaration": 2853, + "src": "17028:37:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "313030", + "id": 5991, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "17019:3:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_100_by_1", + "typeString": "int_const 100" + }, + "value": "100" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_100_by_1", + "typeString": "int_const 100" + } + ], + "id": 5990, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "17011:7:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": "uint256" + }, + "id": 5992, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17011:12:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5993, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 3793, + "src": "17011:16:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 5996, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17011:55:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 5988, + "name": "totalReward", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5885, + "src": "16988:11:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5989, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "percentage", + "nodeType": "MemberAccess", + "referencedDeclaration": 3914, + "src": "16988:22:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 5997, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16988:79:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "16959:108:18" + }, + { + "body": { + "id": 6080, + "nodeType": "Block", + "src": "17114:661:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 6014, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 6010, + "name": "w", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5870, + "src": "17119:1:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6011, + "name": "contributors", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5892, + "src": "17123:12:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 6013, + "indexExpression": { + "argumentTypes": null, + "id": 6012, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5867, + "src": "17136:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "17123:15:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "17119:19:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 6015, + "nodeType": "ExpressionStatement", + "src": "17119:19:18" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", + "typeString": "enum IexecLib.ContributionStatusEnum" + }, + "id": 6025, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6016, + "name": "m_contributions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4347, + "src": "17147:15:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_Contribution_$2873_storage_$_$", + "typeString": "mapping(address => mapping(address => struct IexecLib.Contribution storage ref))" + } + }, + "id": 6018, + "indexExpression": { + "argumentTypes": null, + "id": 6017, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5859, + "src": "17163:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "17147:22:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Contribution_$2873_storage_$", + "typeString": "mapping(address => struct IexecLib.Contribution storage ref)" + } + }, + "id": 6020, + "indexExpression": { + "argumentTypes": null, + "id": 6019, + "name": "w", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5870, + "src": "17170:1:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "17147:25:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2873_storage", + "typeString": "struct IexecLib.Contribution storage ref" + } + }, + "id": 6021, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 2862, + "src": "17147:32:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", + "typeString": "enum IexecLib.ContributionStatusEnum" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6022, + "name": "IexecLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2893, + "src": "17183:8:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecLib_$2893_$", + "typeString": "type(library IexecLib)" + } + }, + "id": 6023, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "ContributionStatusEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 2860, + "src": "17183:31:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_ContributionStatusEnum_$2860_$", + "typeString": "type(enum IexecLib.ContributionStatusEnum)" + } + }, + "id": 6024, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "PROVED", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "17183:38:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", + "typeString": "enum IexecLib.ContributionStatusEnum" + } + }, + "src": "17147:74:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 6078, + "nodeType": "Block", + "src": "17663:108:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6070, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5859, + "src": "17708:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 6071, + "name": "w", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5870, + "src": "17715:1:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6072, + "name": "_consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5861, + "src": "17718:10:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_memory_ptr", + "typeString": "struct IexecLib.Consensus memory" + } + }, + "id": 6073, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "stakeAmount", + "nodeType": "MemberAccess", + "referencedDeclaration": 2836, + "src": "17718:22:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "74727565", + "id": 6074, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "17742:4:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "argumentTypes": null, + "id": 6068, + "name": "iexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2441, + "src": "17677:17:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$2802", + "typeString": "contract IexecHubInterface" + } + }, + "id": 6069, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "seizeForWork", + "nodeType": "MemberAccess", + "referencedDeclaration": 2742, + "src": "17677:30:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bool_$returns$_t_bool_$", + "typeString": "function (address,address,uint256,bool) external returns (bool)" + } + }, + "id": 6075, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17677:70:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 6067, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "17669:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 6076, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17669:79:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6077, + "nodeType": "ExpressionStatement", + "src": "17669:79:18" + } + ] + }, + "id": 6079, + "nodeType": "IfStatement", + "src": "17143:628:18", + "trueBody": { + "id": 6066, + "nodeType": "Block", + "src": "17226:342:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 6037, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 6026, + "name": "individualWorkerReward", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5882, + "src": "17232:22:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6029, + "name": "m_contributions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4347, + "src": "17290:15:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_Contribution_$2873_storage_$_$", + "typeString": "mapping(address => mapping(address => struct IexecLib.Contribution storage ref))" + } + }, + "id": 6031, + "indexExpression": { + "argumentTypes": null, + "id": 6030, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5859, + "src": "17306:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "17290:22:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Contribution_$2873_storage_$", + "typeString": "mapping(address => struct IexecLib.Contribution storage ref)" + } + }, + "id": 6033, + "indexExpression": { + "argumentTypes": null, + "id": 6032, + "name": "w", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5870, + "src": "17313:1:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "17290:25:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2873_storage", + "typeString": "struct IexecLib.Contribution storage ref" + } + }, + "id": 6034, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "weight", + "nodeType": "MemberAccess", + "referencedDeclaration": 2872, + "src": "17290:32:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 6035, + "name": "totalWeight", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5879, + "src": "17324:11:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 6027, + "name": "totalWorkersReward", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5987, + "src": "17257:18:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6028, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "mulByFraction", + "nodeType": "MemberAccess", + "referencedDeclaration": 3898, + "src": "17257:32:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" + } + }, + "id": 6036, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17257:79:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "17232:104:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6038, + "nodeType": "ExpressionStatement", + "src": "17232:104:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 6044, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 6039, + "name": "totalReward", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5885, + "src": "17342:11:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6042, + "name": "individualWorkerReward", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5882, + "src": "17373:22:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 6040, + "name": "totalReward", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5885, + "src": "17357:11:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6041, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 3793, + "src": "17357:15:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 6043, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17357:39:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "17342:54:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6045, + "nodeType": "ExpressionStatement", + "src": "17342:54:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6049, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5859, + "src": "17442:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 6050, + "name": "w", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5870, + "src": "17449:1:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6051, + "name": "_consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5861, + "src": "17452:10:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_memory_ptr", + "typeString": "struct IexecLib.Consensus memory" + } + }, + "id": 6052, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "stakeAmount", + "nodeType": "MemberAccess", + "referencedDeclaration": 2836, + "src": "17452:22:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 6047, + "name": "iexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2441, + "src": "17410:17:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$2802", + "typeString": "contract IexecHubInterface" + } + }, + "id": 6048, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "unlockForWork", + "nodeType": "MemberAccess", + "referencedDeclaration": 2716, + "src": "17410:31:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,address,uint256) external returns (bool)" + } + }, + "id": 6053, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17410:65:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 6046, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "17402:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 6054, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17402:74:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6055, + "nodeType": "ExpressionStatement", + "src": "17402:74:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6059, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5859, + "src": "17522:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 6060, + "name": "w", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5870, + "src": "17529:1:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 6061, + "name": "individualWorkerReward", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5882, + "src": "17532:22:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "74727565", + "id": 6062, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "17556:4:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "argumentTypes": null, + "id": 6057, + "name": "iexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2441, + "src": "17490:17:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$2802", + "typeString": "contract IexecHubInterface" + } + }, + "id": 6058, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "rewardForWork", + "nodeType": "MemberAccess", + "referencedDeclaration": 2729, + "src": "17490:31:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bool_$returns$_t_bool_$", + "typeString": "function (address,address,uint256,bool) external returns (bool)" + } + }, + "id": 6063, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17490:71:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 6056, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "17482:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 6064, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17482:80:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6065, + "nodeType": "ExpressionStatement", + "src": "17482:80:18" + } + ] + } + } + ] + }, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6006, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 6003, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5867, + "src": "17084:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6004, + "name": "contributors", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5892, + "src": "17086:12:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 6005, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "17086:19:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "17084:21:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 6081, + "initializationExpression": { + "expression": { + "argumentTypes": null, + "id": 6001, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 5999, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5867, + "src": "17077:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "30", + "id": 6000, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "17081:1:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "17077:5:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6002, + "nodeType": "ExpressionStatement", + "src": "17077:5:18" + }, + "loopExpression": { + "expression": { + "argumentTypes": null, + "id": 6008, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": true, + "src": "17107:3:18", + "subExpression": { + "argumentTypes": null, + "id": 6007, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5867, + "src": "17109:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6009, + "nodeType": "ExpressionStatement", + "src": "17107:3:18" + }, + "nodeType": "ForStatement", + "src": "17072:703:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6085, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5859, + "src": "17868:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6086, + "name": "_consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5861, + "src": "17875:10:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_memory_ptr", + "typeString": "struct IexecLib.Consensus memory" + } + }, + "id": 6087, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "workerpoolOwner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2851, + "src": "17875:26:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 6088, + "name": "totalReward", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5885, + "src": "17903:11:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 6089, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "17916:5:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "argumentTypes": null, + "id": 6083, + "name": "iexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2441, + "src": "17836:17:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$2802", + "typeString": "contract IexecHubInterface" + } + }, + "id": 6084, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "rewardForWork", + "nodeType": "MemberAccess", + "referencedDeclaration": 2729, + "src": "17836:31:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bool_$returns$_t_bool_$", + "typeString": "function (address,address,uint256,bool) external returns (bool)" + } + }, + "id": 6090, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17836:86:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 6082, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "17828:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 6091, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17828:95:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6092, + "nodeType": "ExpressionStatement", + "src": "17828:95:18" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 6093, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "17935:4:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 5865, + "id": 6094, + "nodeType": "Return", + "src": "17928:11:18" + } + ] + }, + "documentation": null, + "id": 6096, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "distributeRewards", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5862, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5859, + "name": "_woid", + "nodeType": "VariableDeclaration", + "scope": 6096, + "src": "15938:13:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5858, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "15938:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5861, + "name": "_consensus", + "nodeType": "VariableDeclaration", + "scope": 6096, + "src": "15953:29:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_memory_ptr", + "typeString": "struct IexecLib.Consensus memory" + }, + "typeName": { + "contractScope": null, + "id": 5860, + "name": "IexecLib.Consensus", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2854, + "src": "15953:18:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "15937:46:18" + }, + "payable": false, + "returnParameters": { + "id": 5865, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5864, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 6096, + "src": "16002:4:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 5863, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "16002:4:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "16001:6:18" + }, + "scope": 6097, + "src": "15911:2032:18", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + } + ], + "scope": 6098, + "src": "253:17693:18" + } + ], + "src": "0:17947:18" + }, + "legacyAST": { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/WorkerPool.sol", + "exportedSymbols": { + "WorkerPool": [ + 6097 + ] + }, + "id": 6098, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 4301, + "literals": [ + "solidity", + "^", + "0.4", + ".21" + ], + "nodeType": "PragmaDirective", + "src": "0:24:18" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/OwnableOZ.sol", + "file": "./OwnableOZ.sol", + "id": 4302, + "nodeType": "ImportDirective", + "scope": 6098, + "sourceUnit": 3748, + "src": "26:25:18", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/IexecHubAccessor.sol", + "file": "./IexecHubAccessor.sol", + "id": 4303, + "nodeType": "ImportDirective", + "scope": 6098, + "sourceUnit": 2476, + "src": "52:32:18", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/MarketplaceAccessor.sol", + "file": "./MarketplaceAccessor.sol", + "id": 4304, + "nodeType": "ImportDirective", + "scope": 6098, + "sourceUnit": 3546, + "src": "85:35:18", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/IexecHub.sol", + "file": "./IexecHub.sol", + "id": 4305, + "nodeType": "ImportDirective", + "scope": 6098, + "sourceUnit": 2437, + "src": "121:24:18", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/SafeMathOZ.sol", + "file": "./SafeMathOZ.sol", + "id": 4306, + "nodeType": "ImportDirective", + "scope": 6098, + "sourceUnit": 3925, + "src": "146:26:18", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/WorkOrder.sol", + "file": "./WorkOrder.sol", + "id": 4307, + "nodeType": "ImportDirective", + "scope": 6098, + "sourceUnit": 4300, + "src": "173:25:18", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/Marketplace.sol", + "file": "./Marketplace.sol", + "id": 4308, + "nodeType": "ImportDirective", + "scope": 6098, + "sourceUnit": 3514, + "src": "199:27:18", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/IexecLib.sol", + "file": "./IexecLib.sol", + "id": 4309, + "nodeType": "ImportDirective", + "scope": 6098, + "sourceUnit": 2894, + "src": "227:24:18", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": [], + "baseName": { + "contractScope": null, + "id": 4310, + "name": "OwnableOZ", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 3747, + "src": "276:9:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_OwnableOZ_$3747", + "typeString": "contract OwnableOZ" + } + }, + "id": 4311, + "nodeType": "InheritanceSpecifier", + "src": "276:9:18" + }, + { + "arguments": [], + "baseName": { + "contractScope": null, + "id": 4312, + "name": "IexecHubAccessor", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2475, + "src": "287:16:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubAccessor_$2475", + "typeString": "contract IexecHubAccessor" + } + }, + "id": 4313, + "nodeType": "InheritanceSpecifier", + "src": "287:16:18" + }, + { + "arguments": [], + "baseName": { + "contractScope": null, + "id": 4314, + "name": "MarketplaceAccessor", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 3545, + "src": "305:19:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_MarketplaceAccessor_$3545", + "typeString": "contract MarketplaceAccessor" + } + }, + "id": 4315, + "nodeType": "InheritanceSpecifier", + "src": "305:19:18" + } + ], + "contractDependencies": [ + 2475, + 3545, + 3747 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 6097, + "linearizedBaseContracts": [ + 6097, + 3545, + 2475, + 3747 + ], + "name": "WorkerPool", + "nodeType": "ContractDefinition", + "nodes": [ + { + "id": 4318, + "libraryName": { + "contractScope": null, + "id": 4316, + "name": "SafeMathOZ", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 3924, + "src": "334:10:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_SafeMathOZ_$3924", + "typeString": "library SafeMathOZ" + } + }, + "nodeType": "UsingForDirective", + "src": "328:29:18", + "typeName": { + "id": 4317, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "349:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + { + "constant": false, + "id": 4320, + "name": "m_description", + "nodeType": "VariableDeclaration", + "scope": 6097, + "src": "383:48:18", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + }, + "typeName": { + "id": 4319, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "383:6:18", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 4322, + "name": "m_stakeRatioPolicy", + "nodeType": "VariableDeclaration", + "scope": 6097, + "src": "434:53:18", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4321, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "434:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 4324, + "name": "m_schedulerRewardRatioPolicy", + "nodeType": "VariableDeclaration", + "scope": 6097, + "src": "528:63:18", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4323, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "528:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 4326, + "name": "m_subscriptionLockStakePolicy", + "nodeType": "VariableDeclaration", + "scope": 6097, + "src": "632:64:18", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4325, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "632:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 4328, + "name": "m_subscriptionMinimumStakePolicy", + "nodeType": "VariableDeclaration", + "scope": 6097, + "src": "782:67:18", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4327, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "782:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 4330, + "name": "m_subscriptionMinimumScorePolicy", + "nodeType": "VariableDeclaration", + "scope": 6097, + "src": "885:67:18", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4329, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "885:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 4333, + "name": "m_workers", + "nodeType": "VariableDeclaration", + "scope": 6097, + "src": "988:44:18", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + }, + "typeName": { + "baseType": { + "id": 4331, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "988:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 4332, + "length": null, + "nodeType": "ArrayTypeName", + "src": "988:9:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[] storage pointer" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 4337, + "name": "m_workerIndex", + "nodeType": "VariableDeclaration", + "scope": 6097, + "src": "1035:48:18", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "typeName": { + "id": 4336, + "keyType": { + "id": 4334, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1043:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "1035:27:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "valueType": { + "id": 4335, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1054:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 4341, + "name": "m_consensus", + "nodeType": "VariableDeclaration", + "scope": 6097, + "src": "1127:57:18", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Consensus_$2854_storage_$", + "typeString": "mapping(address => struct IexecLib.Consensus storage ref)" + }, + "typeName": { + "id": 4340, + "keyType": { + "id": 4338, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1135:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "1127:38:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Consensus_$2854_storage_$", + "typeString": "mapping(address => struct IexecLib.Consensus storage ref)" + }, + "valueType": { + "contractScope": null, + "id": 4339, + "name": "IexecLib.Consensus", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2854, + "src": "1146:18:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 4347, + "name": "m_contributions", + "nodeType": "VariableDeclaration", + "scope": 6097, + "src": "1240:84:18", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_Contribution_$2873_storage_$_$", + "typeString": "mapping(address => mapping(address => struct IexecLib.Contribution storage ref))" + }, + "typeName": { + "id": 4346, + "keyType": { + "id": 4342, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1248:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "1240:61:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_Contribution_$2873_storage_$_$", + "typeString": "mapping(address => mapping(address => struct IexecLib.Contribution storage ref))" + }, + "valueType": { + "id": 4345, + "keyType": { + "id": 4343, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1267:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "1259:41:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Contribution_$2873_storage_$", + "typeString": "mapping(address => struct IexecLib.Contribution storage ref)" + }, + "valueType": { + "contractScope": null, + "id": 4344, + "name": "IexecLib.Contribution", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2873, + "src": "1278:21:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + } + } + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": true, + "id": 4350, + "name": "REVEAL_PERIOD_DURATION_RATIO", + "nodeType": "VariableDeclaration", + "scope": 6097, + "src": "1328:57:18", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4348, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1328:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "32", + "id": 4349, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1384:1:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "visibility": "public" + }, + { + "constant": true, + "id": 4353, + "name": "CONSENSUS_DURATION_RATIO", + "nodeType": "VariableDeclaration", + "scope": 6097, + "src": "1388:58:18", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4351, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1388:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "3130", + "id": 4352, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1444:2:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + }, + "visibility": "public" + }, + { + "constant": false, + "id": 4355, + "name": "m_workerPoolHubAddress", + "nodeType": "VariableDeclaration", + "scope": 6097, + "src": "1499:45:18", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4354, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1499:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "anonymous": false, + "documentation": "Events", + "id": 4373, + "name": "WorkerPoolPolicyUpdate", + "nodeType": "EventDefinition", + "parameters": { + "id": 4372, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4357, + "indexed": false, + "name": "oldStakeRatioPolicy", + "nodeType": "VariableDeclaration", + "scope": 4373, + "src": "1602:27:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4356, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1602:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4359, + "indexed": false, + "name": "newStakeRatioPolicy", + "nodeType": "VariableDeclaration", + "scope": 4373, + "src": "1645:27:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4358, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1645:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4361, + "indexed": false, + "name": "oldSchedulerRewardRatioPolicy", + "nodeType": "VariableDeclaration", + "scope": 4373, + "src": "1676:37:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4360, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1676:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4363, + "indexed": false, + "name": "newSchedulerRewardRatioPolicy", + "nodeType": "VariableDeclaration", + "scope": 4373, + "src": "1719:37:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4362, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1719:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4365, + "indexed": false, + "name": "oldSubscriptionMinimumStakePolicy", + "nodeType": "VariableDeclaration", + "scope": 4373, + "src": "1760:41:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4364, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1760:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4367, + "indexed": false, + "name": "newSubscriptionMinimumStakePolicy", + "nodeType": "VariableDeclaration", + "scope": 4373, + "src": "1803:41:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4366, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1803:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4369, + "indexed": false, + "name": "oldSubscriptionMinimumScorePolicy", + "nodeType": "VariableDeclaration", + "scope": 4373, + "src": "1848:41:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4368, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1848:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4371, + "indexed": false, + "name": "newSubscriptionMinimumScorePolicy", + "nodeType": "VariableDeclaration", + "scope": 4373, + "src": "1891:41:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4370, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1891:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1598:335:18" + }, + "src": "1570:364:18" + }, + { + "anonymous": false, + "documentation": null, + "id": 4377, + "name": "WorkOrderActive", + "nodeType": "EventDefinition", + "parameters": { + "id": 4376, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4375, + "indexed": true, + "name": "woid", + "nodeType": "VariableDeclaration", + "scope": 4377, + "src": "1968:20:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4374, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1968:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1967:22:18" + }, + "src": "1937:53:18" + }, + { + "anonymous": false, + "documentation": null, + "id": 4381, + "name": "WorkOrderClaimed", + "nodeType": "EventDefinition", + "parameters": { + "id": 4380, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4379, + "indexed": true, + "name": "woid", + "nodeType": "VariableDeclaration", + "scope": 4381, + "src": "2023:20:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4378, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2023:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2022:22:18" + }, + "src": "1992:53:18" + }, + { + "anonymous": false, + "documentation": null, + "id": 4389, + "name": "AllowWorkerToContribute", + "nodeType": "EventDefinition", + "parameters": { + "id": 4388, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4383, + "indexed": true, + "name": "woid", + "nodeType": "VariableDeclaration", + "scope": 4389, + "src": "2079:20:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4382, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2079:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4385, + "indexed": true, + "name": "worker", + "nodeType": "VariableDeclaration", + "scope": 4389, + "src": "2101:22:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4384, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2101:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4387, + "indexed": false, + "name": "workerScore", + "nodeType": "VariableDeclaration", + "scope": 4389, + "src": "2125:19:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4386, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2125:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2078:67:18" + }, + "src": "2048:98:18" + }, + { + "anonymous": false, + "documentation": null, + "id": 4397, + "name": "Contribute", + "nodeType": "EventDefinition", + "parameters": { + "id": 4396, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4391, + "indexed": true, + "name": "woid", + "nodeType": "VariableDeclaration", + "scope": 4397, + "src": "2179:20:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4390, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2179:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4393, + "indexed": true, + "name": "worker", + "nodeType": "VariableDeclaration", + "scope": 4397, + "src": "2201:22:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4392, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2201:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4395, + "indexed": false, + "name": "resultHash", + "nodeType": "VariableDeclaration", + "scope": 4397, + "src": "2225:18:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4394, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2225:7:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2178:66:18" + }, + "src": "2148:97:18" + }, + { + "anonymous": false, + "documentation": null, + "id": 4403, + "name": "RevealConsensus", + "nodeType": "EventDefinition", + "parameters": { + "id": 4402, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4399, + "indexed": true, + "name": "woid", + "nodeType": "VariableDeclaration", + "scope": 4403, + "src": "2278:20:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4398, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2278:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4401, + "indexed": false, + "name": "consensus", + "nodeType": "VariableDeclaration", + "scope": 4403, + "src": "2300:17:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4400, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2300:7:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2277:41:18" + }, + "src": "2247:72:18" + }, + { + "anonymous": false, + "documentation": null, + "id": 4411, + "name": "Reveal", + "nodeType": "EventDefinition", + "parameters": { + "id": 4410, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4405, + "indexed": true, + "name": "woid", + "nodeType": "VariableDeclaration", + "scope": 4411, + "src": "2352:20:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4404, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2352:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4407, + "indexed": true, + "name": "worker", + "nodeType": "VariableDeclaration", + "scope": 4411, + "src": "2374:22:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4406, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2374:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4409, + "indexed": false, + "name": "result", + "nodeType": "VariableDeclaration", + "scope": 4411, + "src": "2398:14:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4408, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2398:7:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2351:62:18" + }, + "src": "2321:93:18" + }, + { + "anonymous": false, + "documentation": null, + "id": 4415, + "name": "Reopen", + "nodeType": "EventDefinition", + "parameters": { + "id": 4414, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4413, + "indexed": true, + "name": "woid", + "nodeType": "VariableDeclaration", + "scope": 4415, + "src": "2447:20:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4412, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2447:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2446:22:18" + }, + "src": "2416:53:18" + }, + { + "anonymous": false, + "documentation": null, + "id": 4425, + "name": "FinalizeWork", + "nodeType": "EventDefinition", + "parameters": { + "id": 4424, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4417, + "indexed": true, + "name": "woid", + "nodeType": "VariableDeclaration", + "scope": 4425, + "src": "2503:20:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4416, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2503:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4419, + "indexed": false, + "name": "stdout", + "nodeType": "VariableDeclaration", + "scope": 4425, + "src": "2525:13:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 4418, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2525:6:18", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4421, + "indexed": false, + "name": "stderr", + "nodeType": "VariableDeclaration", + "scope": 4425, + "src": "2540:13:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 4420, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2540:6:18", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4423, + "indexed": false, + "name": "uri", + "nodeType": "VariableDeclaration", + "scope": 4425, + "src": "2555:10:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 4422, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2555:6:18", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2502:64:18" + }, + "src": "2472:95:18" + }, + { + "anonymous": false, + "documentation": null, + "id": 4429, + "name": "WorkerSubscribe", + "nodeType": "EventDefinition", + "parameters": { + "id": 4428, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4427, + "indexed": true, + "name": "worker", + "nodeType": "VariableDeclaration", + "scope": 4429, + "src": "2603:22:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4426, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2603:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2602:24:18" + }, + "src": "2572:55:18" + }, + { + "anonymous": false, + "documentation": null, + "id": 4433, + "name": "WorkerUnsubscribe", + "nodeType": "EventDefinition", + "parameters": { + "id": 4432, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4431, + "indexed": true, + "name": "worker", + "nodeType": "VariableDeclaration", + "scope": 4433, + "src": "2660:22:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4430, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2660:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2659:24:18" + }, + "src": "2629:55:18" + }, + { + "anonymous": false, + "documentation": null, + "id": 4437, + "name": "WorkerEviction", + "nodeType": "EventDefinition", + "parameters": { + "id": 4436, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4435, + "indexed": true, + "name": "worker", + "nodeType": "VariableDeclaration", + "scope": 4437, + "src": "2717:22:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4434, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2717:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2716:24:18" + }, + "src": "2686:55:18" + }, + { + "body": { + "id": 4500, + "nodeType": "Block", + "src": "3099:724:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 4463, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4459, + "name": "tx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7018, + "src": "3169:2:18", + "typeDescriptions": { + "typeIdentifier": "t_magic_transaction", + "typeString": "tx" + } + }, + "id": 4460, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "origin", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3169:9:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4461, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "3182:3:18", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 4462, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3182:10:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "3169:23:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 4458, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "3161:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 4464, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3161:32:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4465, + "nodeType": "ExpressionStatement", + "src": "3161:32:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4467, + "name": "tx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7018, + "src": "3219:2:18", + "typeDescriptions": { + "typeIdentifier": "t_magic_transaction", + "typeString": "tx" + } + }, + "id": 4468, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "origin", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3219:9:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 4466, + "name": "setImmutableOwnership", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3746, + "src": "3197:21:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 4469, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3197:32:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4470, + "nodeType": "ExpressionStatement", + "src": "3197:32:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 4473, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 4471, + "name": "m_description", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4320, + "src": "3257:13:18", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 4472, + "name": "_description", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4441, + "src": "3292:12:18", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "3257:47:18", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 4474, + "nodeType": "ExpressionStatement", + "src": "3257:47:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 4477, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 4475, + "name": "m_stakeRatioPolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4322, + "src": "3308:18:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "3330", + "id": 4476, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3343:2:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_30_by_1", + "typeString": "int_const 30" + }, + "value": "30" + }, + "src": "3308:37:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4478, + "nodeType": "ExpressionStatement", + "src": "3308:37:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 4481, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 4479, + "name": "m_schedulerRewardRatioPolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4324, + "src": "3387:28:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "31", + "id": 4480, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3422:1:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "3387:36:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4482, + "nodeType": "ExpressionStatement", + "src": "3387:36:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 4485, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 4483, + "name": "m_subscriptionLockStakePolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4326, + "src": "3489:29:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 4484, + "name": "_subscriptionLockStakePolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4443, + "src": "3524:28:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3489:63:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4486, + "nodeType": "ExpressionStatement", + "src": "3489:63:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 4489, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 4487, + "name": "m_subscriptionMinimumStakePolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4328, + "src": "3633:32:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 4488, + "name": "_subscriptionMinimumStakePolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4445, + "src": "3668:31:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3633:66:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4490, + "nodeType": "ExpressionStatement", + "src": "3633:66:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 4493, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 4491, + "name": "m_subscriptionMinimumScorePolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4330, + "src": "3703:32:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 4492, + "name": "_subscriptionMinimumScorePolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4447, + "src": "3738:31:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3703:66:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4494, + "nodeType": "ExpressionStatement", + "src": "3703:66:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 4498, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 4495, + "name": "m_workerPoolHubAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4355, + "src": "3773:22:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4496, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "3808:3:18", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 4497, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3808:10:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "3773:45:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 4499, + "nodeType": "ExpressionStatement", + "src": "3773:45:18" + } + ] + }, + "documentation": "Methods", + "id": 4501, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "id": 4452, + "name": "_iexecHubAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4439, + "src": "3030:16:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 4453, + "modifierName": { + "argumentTypes": null, + "id": 4451, + "name": "IexecHubAccessor", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2475, + "src": "3013:16:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecHubAccessor_$2475_$", + "typeString": "type(contract IexecHubAccessor)" + } + }, + "nodeType": "ModifierInvocation", + "src": "3013:34:18" + }, + { + "arguments": [ + { + "argumentTypes": null, + "id": 4455, + "name": "_marketplaceAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4449, + "src": "3069:19:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 4456, + "modifierName": { + "argumentTypes": null, + "id": 4454, + "name": "MarketplaceAccessor", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3545, + "src": "3049:19:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_MarketplaceAccessor_$3545_$", + "typeString": "type(contract MarketplaceAccessor)" + } + }, + "nodeType": "ModifierInvocation", + "src": "3049:40:18" + } + ], + "name": "WorkerPool", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4450, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4439, + "name": "_iexecHubAddress", + "nodeType": "VariableDeclaration", + "scope": 4501, + "src": "2805:24:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4438, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2805:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4441, + "name": "_description", + "nodeType": "VariableDeclaration", + "scope": 4501, + "src": "2833:20:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 4440, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2833:6:18", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4443, + "name": "_subscriptionLockStakePolicy", + "nodeType": "VariableDeclaration", + "scope": 4501, + "src": "2857:36:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4442, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2857:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4445, + "name": "_subscriptionMinimumStakePolicy", + "nodeType": "VariableDeclaration", + "scope": 4501, + "src": "2897:39:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4444, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2897:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4447, + "name": "_subscriptionMinimumScorePolicy", + "nodeType": "VariableDeclaration", + "scope": 4501, + "src": "2940:39:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4446, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2940:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4449, + "name": "_marketplaceAddress", + "nodeType": "VariableDeclaration", + "scope": 4501, + "src": "2983:27:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4448, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2983:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2801:210:18" + }, + "payable": false, + "returnParameters": { + "id": 4457, + "nodeType": "ParameterList", + "parameters": [], + "src": "3099:0:18" + }, + "scope": 6097, + "src": "2782:1041:18", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 4547, + "nodeType": "Block", + "src": "4044:637:18", + "statements": [ + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4515, + "name": "m_stakeRatioPolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4322, + "src": "4080:18:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 4516, + "name": "_newStakeRatioPolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4503, + "src": "4114:20:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 4517, + "name": "m_schedulerRewardRatioPolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4324, + "src": "4139:28:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 4518, + "name": "_newSchedulerRewardRatioPolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4505, + "src": "4173:30:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 4519, + "name": "m_subscriptionMinimumStakePolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4328, + "src": "4208:32:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 4520, + "name": "_newSubscriptionMinimumStakePolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4507, + "src": "4242:34:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 4521, + "name": "m_subscriptionMinimumScorePolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4330, + "src": "4281:32:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 4522, + "name": "_newSubscriptionMinimumScorePolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4509, + "src": "4315:34:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 4514, + "name": "WorkerPoolPolicyUpdate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4373, + "src": "4053:22:18", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256)" + } + }, + "id": 4523, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4053:300:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4524, + "nodeType": "EmitStatement", + "src": "4048:305:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 4528, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 4526, + "name": "_newSchedulerRewardRatioPolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4505, + "src": "4365:30:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "argumentTypes": null, + "hexValue": "313030", + "id": 4527, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4399:3:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_100_by_1", + "typeString": "int_const 100" + }, + "value": "100" + }, + "src": "4365:37:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 4525, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "4357:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 4529, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4357:46:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4530, + "nodeType": "ExpressionStatement", + "src": "4357:46:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 4533, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 4531, + "name": "m_stakeRatioPolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4322, + "src": "4407:18:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 4532, + "name": "_newStakeRatioPolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4503, + "src": "4442:20:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4407:55:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4534, + "nodeType": "ExpressionStatement", + "src": "4407:55:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 4537, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 4535, + "name": "m_schedulerRewardRatioPolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4324, + "src": "4466:28:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 4536, + "name": "_newSchedulerRewardRatioPolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4505, + "src": "4501:30:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4466:65:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4538, + "nodeType": "ExpressionStatement", + "src": "4466:65:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 4541, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 4539, + "name": "m_subscriptionMinimumStakePolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4328, + "src": "4535:32:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 4540, + "name": "_newSubscriptionMinimumStakePolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4507, + "src": "4570:34:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4535:69:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4542, + "nodeType": "ExpressionStatement", + "src": "4535:69:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 4545, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 4543, + "name": "m_subscriptionMinimumScorePolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4330, + "src": "4608:32:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 4544, + "name": "_newSubscriptionMinimumScorePolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4509, + "src": "4643:34:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4608:69:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4546, + "nodeType": "ExpressionStatement", + "src": "4608:69:18" + } + ] + }, + "documentation": null, + "id": 4548, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 4512, + "modifierName": { + "argumentTypes": null, + "id": 4511, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3700, + "src": "4033:9:18", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "4033:9:18" + } + ], + "name": "changeWorkerPoolPolicy", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4510, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4503, + "name": "_newStakeRatioPolicy", + "nodeType": "VariableDeclaration", + "scope": 4548, + "src": "3861:28:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4502, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3861:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4505, + "name": "_newSchedulerRewardRatioPolicy", + "nodeType": "VariableDeclaration", + "scope": 4548, + "src": "3893:38:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4504, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3893:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4507, + "name": "_newSubscriptionMinimumStakePolicy", + "nodeType": "VariableDeclaration", + "scope": 4548, + "src": "3935:42:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4506, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3935:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4509, + "name": "_newSubscriptionMinimumScorePolicy", + "nodeType": "VariableDeclaration", + "scope": 4548, + "src": "3981:42:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4508, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3981:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3857:167:18" + }, + "payable": false, + "returnParameters": { + "id": 4513, + "nodeType": "ParameterList", + "parameters": [], + "src": "4044:0:18" + }, + "scope": 6097, + "src": "3826:855:18", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 4559, + "nodeType": "Block", + "src": "4833:32:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 4555, + "name": "m_workers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4333, + "src": "4844:9:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 4557, + "indexExpression": { + "argumentTypes": null, + "id": 4556, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4550, + "src": "4854:6:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4844:17:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 4554, + "id": 4558, + "nodeType": "Return", + "src": "4837:24:18" + } + ] + }, + "documentation": "*********************** worker list management *************************", + "id": 4560, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getWorkerAddress", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4551, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4550, + "name": "_index", + "nodeType": "VariableDeclaration", + "scope": 4560, + "src": "4789:11:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4549, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "4789:4:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4788:13:18" + }, + "payable": false, + "returnParameters": { + "id": 4554, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4553, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 4560, + "src": "4823:7:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4552, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4823:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4822:9:18" + }, + "scope": 6097, + "src": "4763:102:18", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 4583, + "nodeType": "Block", + "src": "4936:99:18", + "statements": [ + { + "assignments": [ + 4568 + ], + "declarations": [ + { + "constant": false, + "id": 4568, + "name": "index", + "nodeType": "VariableDeclaration", + "scope": 4584, + "src": "4940:10:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4567, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "4940:4:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 4572, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 4569, + "name": "m_workerIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4337, + "src": "4953:13:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 4571, + "indexExpression": { + "argumentTypes": null, + "id": 4570, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4562, + "src": "4967:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4953:22:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4940:35:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 4578, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 4574, + "name": "m_workers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4333, + "src": "4987:9:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 4576, + "indexExpression": { + "argumentTypes": null, + "id": 4575, + "name": "index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4568, + "src": "4997:5:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4987:16:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 4577, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4562, + "src": "5007:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "4987:27:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 4573, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "4979:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 4579, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4979:36:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4580, + "nodeType": "ExpressionStatement", + "src": "4979:36:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 4581, + "name": "index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4568, + "src": "5026:5:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 4566, + "id": 4582, + "nodeType": "Return", + "src": "5019:12:18" + } + ] + }, + "documentation": null, + "id": 4584, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getWorkerIndex", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4563, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4562, + "name": "_worker", + "nodeType": "VariableDeclaration", + "scope": 4584, + "src": "4891:15:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4561, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4891:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4890:17:18" + }, + "payable": false, + "returnParameters": { + "id": 4566, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4565, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 4584, + "src": "4929:4:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4564, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "4929:4:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4928:6:18" + }, + "scope": 6097, + "src": "4867:168:18", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 4592, + "nodeType": "Block", + "src": "5092:31:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4589, + "name": "m_workers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4333, + "src": "5103:9:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 4590, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "5103:16:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 4588, + "id": 4591, + "nodeType": "Return", + "src": "5096:23:18" + } + ] + }, + "documentation": null, + "id": 4593, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getWorkersCount", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4585, + "nodeType": "ParameterList", + "parameters": [], + "src": "5061:2:18" + }, + "payable": false, + "returnParameters": { + "id": 4588, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4587, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 4593, + "src": "5085:4:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4586, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "5085:4:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5084:6:18" + }, + "scope": 6097, + "src": "5037:86:18", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 4631, + "nodeType": "Block", + "src": "5176:224:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4601, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "5246:3:18", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 4602, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "5246:10:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 4599, + "name": "iexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2441, + "src": "5213:17:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$2802", + "typeString": "contract IexecHubInterface" + } + }, + "id": 4600, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "registerToPool", + "nodeType": "MemberAccess", + "referencedDeclaration": 2653, + "src": "5213:32:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$_t_bool_$", + "typeString": "function (address) external returns (bool)" + } + }, + "id": 4603, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5213:44:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 4598, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "5205:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 4604, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5205:53:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4605, + "nodeType": "ExpressionStatement", + "src": "5205:53:18" + }, + { + "assignments": [ + 4607 + ], + "declarations": [ + { + "constant": false, + "id": 4607, + "name": "index", + "nodeType": "VariableDeclaration", + "scope": 4632, + "src": "5262:10:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4606, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "5262:4:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 4613, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4610, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "5290:3:18", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 4611, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "5290:10:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 4608, + "name": "m_workers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4333, + "src": "5275:9:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 4609, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "push", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "5275:14:18", + "typeDescriptions": { + "typeIdentifier": "t_function_arraypush_nonpayable$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) returns (uint256)" + } + }, + "id": 4612, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5275:26:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5262:39:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 4622, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 4614, + "name": "m_workerIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4337, + "src": "5305:13:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 4617, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4615, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "5319:3:18", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 4616, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "5319:10:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "5305:25:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31", + "id": 4620, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5343:1:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "expression": { + "argumentTypes": null, + "id": 4618, + "name": "index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4607, + "src": "5333:5:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4619, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 3793, + "src": "5333:9:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 4621, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5333:12:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5305:40:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4623, + "nodeType": "ExpressionStatement", + "src": "5305:40:18" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4625, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "5370:3:18", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 4626, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "5370:10:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 4624, + "name": "WorkerSubscribe", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4429, + "src": "5354:15:18", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 4627, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5354:27:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4628, + "nodeType": "EmitStatement", + "src": "5349:32:18" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 4629, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5392:4:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 4597, + "id": 4630, + "nodeType": "Return", + "src": "5385:11:18" + } + ] + }, + "documentation": null, + "id": 4632, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "subscribeToPool", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4594, + "nodeType": "ParameterList", + "parameters": [], + "src": "5150:2:18" + }, + "payable": false, + "returnParameters": { + "id": 4597, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4596, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 4632, + "src": "5169:4:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 4595, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "5169:4:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5168:6:18" + }, + "scope": 6097, + "src": "5126:274:18", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 4659, + "nodeType": "Block", + "src": "5458:180:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4640, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "5532:3:18", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 4641, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "5532:10:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 4638, + "name": "iexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2441, + "src": "5495:17:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$2802", + "typeString": "contract IexecHubInterface" + } + }, + "id": 4639, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "unregisterFromPool", + "nodeType": "MemberAccess", + "referencedDeclaration": 2660, + "src": "5495:36:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$_t_bool_$", + "typeString": "function (address) external returns (bool)" + } + }, + "id": 4642, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5495:48:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 4637, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "5487:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 4643, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5487:57:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4644, + "nodeType": "ExpressionStatement", + "src": "5487:57:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4647, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "5569:3:18", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 4648, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "5569:10:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 4646, + "name": "removeWorker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4746, + "src": "5556:12:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$_t_bool_$", + "typeString": "function (address) returns (bool)" + } + }, + "id": 4649, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5556:24:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 4645, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "5548:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 4650, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5548:33:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4651, + "nodeType": "ExpressionStatement", + "src": "5548:33:18" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4653, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "5608:3:18", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 4654, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "5608:10:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 4652, + "name": "WorkerUnsubscribe", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4433, + "src": "5590:17:18", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 4655, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5590:29:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4656, + "nodeType": "EmitStatement", + "src": "5585:34:18" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 4657, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5630:4:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 4636, + "id": 4658, + "nodeType": "Return", + "src": "5623:11:18" + } + ] + }, + "documentation": null, + "id": 4660, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "unsubscribeFromPool", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4633, + "nodeType": "ParameterList", + "parameters": [], + "src": "5431:2:18" + }, + "payable": false, + "returnParameters": { + "id": 4636, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4635, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 4660, + "src": "5451:4:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 4634, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "5451:4:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5450:6:18" + }, + "scope": 6097, + "src": "5403:235:18", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 4688, + "nodeType": "Block", + "src": "5712:164:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4672, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4662, + "src": "5782:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 4670, + "name": "iexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2441, + "src": "5752:17:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$2802", + "typeString": "contract IexecHubInterface" + } + }, + "id": 4671, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "evictWorker", + "nodeType": "MemberAccess", + "referencedDeclaration": 2667, + "src": "5752:29:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$_t_bool_$", + "typeString": "function (address) external returns (bool)" + } + }, + "id": 4673, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5752:38:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 4669, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "5744:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 4674, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5744:47:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4675, + "nodeType": "ExpressionStatement", + "src": "5744:47:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4678, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4662, + "src": "5816:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 4677, + "name": "removeWorker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4746, + "src": "5803:12:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$_t_bool_$", + "typeString": "function (address) returns (bool)" + } + }, + "id": 4679, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5803:21:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 4676, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "5795:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 4680, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5795:30:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4681, + "nodeType": "ExpressionStatement", + "src": "5795:30:18" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4683, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4662, + "src": "5849:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 4682, + "name": "WorkerEviction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4437, + "src": "5834:14:18", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 4684, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5834:23:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4685, + "nodeType": "EmitStatement", + "src": "5829:28:18" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 4686, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5868:4:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 4668, + "id": 4687, + "nodeType": "Return", + "src": "5861:11:18" + } + ] + }, + "documentation": null, + "id": 4689, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 4665, + "modifierName": { + "argumentTypes": null, + "id": 4664, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3700, + "src": "5686:9:18", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "5686:9:18" + } + ], + "name": "evictWorker", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4663, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4662, + "name": "_worker", + "nodeType": "VariableDeclaration", + "scope": 4689, + "src": "5662:15:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4661, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5662:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5661:17:18" + }, + "payable": false, + "returnParameters": { + "id": 4668, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4667, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 4689, + "src": "5705:4:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 4666, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "5705:4:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5704:6:18" + }, + "scope": 6097, + "src": "5641:235:18", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 4745, + "nodeType": "Block", + "src": "5943:322:18", + "statements": [ + { + "assignments": [ + 4697 + ], + "declarations": [ + { + "constant": false, + "id": 4697, + "name": "index", + "nodeType": "VariableDeclaration", + "scope": 4746, + "src": "5947:10:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4696, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "5947:4:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 4701, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4699, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4691, + "src": "5975:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 4698, + "name": "getWorkerIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4584, + "src": "5960:14:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view returns (uint256)" + } + }, + "id": 4700, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5960:23:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5947:36:18" + }, + { + "assignments": [ + 4703 + ], + "declarations": [ + { + "constant": false, + "id": 4703, + "name": "lastWorker", + "nodeType": "VariableDeclaration", + "scope": 4746, + "src": "6021:18:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4702, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6021:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 4711, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 4704, + "name": "m_workers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4333, + "src": "6042:9:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 4710, + "indexExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31", + "id": 4708, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6073:1:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4705, + "name": "m_workers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4333, + "src": "6052:9:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 4706, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "6052:16:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4707, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 3793, + "src": "6052:20:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 4709, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6052:23:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6042:34:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6021:55:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 4716, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 4712, + "name": "m_workers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4333, + "src": "6080:9:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 4714, + "indexExpression": { + "argumentTypes": null, + "id": 4713, + "name": "index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4697, + "src": "6094:5:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "6080:25:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 4715, + "name": "lastWorker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4703, + "src": "6108:10:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "6080:38:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 4717, + "nodeType": "ExpressionStatement", + "src": "6080:38:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 4722, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 4718, + "name": "m_workerIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4337, + "src": "6122:13:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 4720, + "indexExpression": { + "argumentTypes": null, + "id": 4719, + "name": "lastWorker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4703, + "src": "6136:10:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "6122:25:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 4721, + "name": "index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4697, + "src": "6150:5:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6122:33:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4723, + "nodeType": "ExpressionStatement", + "src": "6122:33:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 4731, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "6159:41:18", + "subExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 4724, + "name": "m_workers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4333, + "src": "6166:9:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 4730, + "indexExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31", + "id": 4728, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6197:1:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4725, + "name": "m_workers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4333, + "src": "6176:9:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 4726, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "6176:16:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4727, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 3793, + "src": "6176:20:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 4729, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6176:23:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "6166:34:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4732, + "nodeType": "ExpressionStatement", + "src": "6159:41:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 4741, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4733, + "name": "m_workers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4333, + "src": "6204:9:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 4735, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "6204:16:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31", + "id": 4739, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6244:1:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4736, + "name": "m_workers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4333, + "src": "6223:9:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 4737, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "6223:16:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4738, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 3793, + "src": "6223:20:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 4740, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6223:23:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6204:42:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4742, + "nodeType": "ExpressionStatement", + "src": "6204:42:18" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 4743, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6257:4:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 4695, + "id": 4744, + "nodeType": "Return", + "src": "6250:11:18" + } + ] + }, + "documentation": null, + "id": 4746, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "removeWorker", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4692, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4691, + "name": "_worker", + "nodeType": "VariableDeclaration", + "scope": 4746, + "src": "5901:15:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4690, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5901:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5900:17:18" + }, + "payable": false, + "returnParameters": { + "id": 4695, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4694, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 4746, + "src": "5936:4:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 4693, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "5936:4:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5935:6:18" + }, + "scope": 6097, + "src": "5879:386:18", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 4793, + "nodeType": "Block", + "src": "6542:295:18", + "statements": [ + { + "assignments": [ + 4770 + ], + "declarations": [ + { + "constant": false, + "id": 4770, + "name": "consensus", + "nodeType": "VariableDeclaration", + "scope": 4794, + "src": "6546:36:18", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + }, + "typeName": { + "contractScope": null, + "id": 4769, + "name": "IexecLib.Consensus", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2854, + "src": "6546:18:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 4774, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 4771, + "name": "m_consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4341, + "src": "6585:11:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Consensus_$2854_storage_$", + "typeString": "mapping(address => struct IexecLib.Consensus storage ref)" + } + }, + "id": 4773, + "indexExpression": { + "argumentTypes": null, + "id": 4772, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4748, + "src": "6597:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6585:18:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage", + "typeString": "struct IexecLib.Consensus storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6546:57:18" + }, + { + "expression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4775, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4770, + "src": "6619:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 4776, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "poolReward", + "nodeType": "MemberAccess", + "referencedDeclaration": 2834, + "src": "6619:20:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4777, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4770, + "src": "6644:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 4778, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "stakeAmount", + "nodeType": "MemberAccess", + "referencedDeclaration": 2836, + "src": "6644:21:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4779, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4770, + "src": "6670:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 4780, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "consensus", + "nodeType": "MemberAccess", + "referencedDeclaration": 2838, + "src": "6670:19:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4781, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4770, + "src": "6694:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 4782, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "revealDate", + "nodeType": "MemberAccess", + "referencedDeclaration": 2840, + "src": "6694:20:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4783, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4770, + "src": "6719:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 4784, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "revealCounter", + "nodeType": "MemberAccess", + "referencedDeclaration": 2842, + "src": "6719:23:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4785, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4770, + "src": "6747:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 4786, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "consensusTimeout", + "nodeType": "MemberAccess", + "referencedDeclaration": 2844, + "src": "6747:26:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4787, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4770, + "src": "6778:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 4788, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "winnerCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 2846, + "src": "6778:21:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4789, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4770, + "src": "6804:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 4790, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "workerpoolOwner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2851, + "src": "6804:25:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 4791, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "6614:219:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_bytes32_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$", + "typeString": "tuple(uint256,uint256,bytes32,uint256,uint256,uint256,uint256,address)" + } + }, + "functionReturnParameters": 4766, + "id": 4792, + "nodeType": "Return", + "src": "6607:226:18" + } + ] + }, + "documentation": null, + "id": 4794, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getConsensusDetails", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4749, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4748, + "name": "_woid", + "nodeType": "VariableDeclaration", + "scope": 4794, + "src": "6297:13:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4747, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6297:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6296:15:18" + }, + "payable": false, + "returnParameters": { + "id": 4766, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4751, + "name": "c_poolReward", + "nodeType": "VariableDeclaration", + "scope": 4794, + "src": "6336:20:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4750, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6336:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4753, + "name": "c_stakeAmount", + "nodeType": "VariableDeclaration", + "scope": 4794, + "src": "6360:21:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4752, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6360:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4755, + "name": "c_consensus", + "nodeType": "VariableDeclaration", + "scope": 4794, + "src": "6385:19:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4754, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6385:7:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4757, + "name": "c_revealDate", + "nodeType": "VariableDeclaration", + "scope": 4794, + "src": "6408:20:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4756, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6408:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4759, + "name": "c_revealCounter", + "nodeType": "VariableDeclaration", + "scope": 4794, + "src": "6432:23:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4758, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6432:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4761, + "name": "c_consensusTimeout", + "nodeType": "VariableDeclaration", + "scope": 4794, + "src": "6459:26:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4760, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6459:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4763, + "name": "c_winnerCount", + "nodeType": "VariableDeclaration", + "scope": 4794, + "src": "6489:21:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4762, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6489:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4765, + "name": "c_workerpoolOwner", + "nodeType": "VariableDeclaration", + "scope": 4794, + "src": "6514:25:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4764, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6514:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6332:208:18" + }, + "scope": 6097, + "src": "6268:569:18", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 4807, + "nodeType": "Block", + "src": "6934:53:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 4801, + "name": "m_consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4341, + "src": "6945:11:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Consensus_$2854_storage_$", + "typeString": "mapping(address => struct IexecLib.Consensus storage ref)" + } + }, + "id": 4803, + "indexExpression": { + "argumentTypes": null, + "id": 4802, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4796, + "src": "6957:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6945:18:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage", + "typeString": "struct IexecLib.Consensus storage ref" + } + }, + "id": 4804, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "contributors", + "nodeType": "MemberAccess", + "referencedDeclaration": 2849, + "src": "6945:31:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 4805, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "6945:38:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 4800, + "id": 4806, + "nodeType": "Return", + "src": "6938:45:18" + } + ] + }, + "documentation": null, + "id": 4808, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getContributorsCount", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4797, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4796, + "name": "_woid", + "nodeType": "VariableDeclaration", + "scope": 4808, + "src": "6870:13:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4795, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6870:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6869:15:18" + }, + "payable": false, + "returnParameters": { + "id": 4800, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4799, + "name": "contributorsCount", + "nodeType": "VariableDeclaration", + "scope": 4808, + "src": "6906:25:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4798, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6906:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6905:27:18" + }, + "scope": 6097, + "src": "6840:147:18", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 4824, + "nodeType": "Block", + "src": "7087:53:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 4817, + "name": "m_consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4341, + "src": "7098:11:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Consensus_$2854_storage_$", + "typeString": "mapping(address => struct IexecLib.Consensus storage ref)" + } + }, + "id": 4819, + "indexExpression": { + "argumentTypes": null, + "id": 4818, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4810, + "src": "7110:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7098:18:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage", + "typeString": "struct IexecLib.Consensus storage ref" + } + }, + "id": 4820, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "contributors", + "nodeType": "MemberAccess", + "referencedDeclaration": 2849, + "src": "7098:31:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 4822, + "indexExpression": { + "argumentTypes": null, + "id": 4821, + "name": "index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4812, + "src": "7130:5:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7098:38:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 4816, + "id": 4823, + "nodeType": "Return", + "src": "7091:45:18" + } + ] + }, + "documentation": null, + "id": 4825, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getContributor", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4813, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4810, + "name": "_woid", + "nodeType": "VariableDeclaration", + "scope": 4825, + "src": "7014:13:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4809, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7014:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4812, + "name": "index", + "nodeType": "VariableDeclaration", + "scope": 4825, + "src": "7029:13:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4811, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7029:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7013:30:18" + }, + "payable": false, + "returnParameters": { + "id": 4816, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4815, + "name": "contributor", + "nodeType": "VariableDeclaration", + "scope": 4825, + "src": "7065:19:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4814, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7065:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7064:21:18" + }, + "scope": 6097, + "src": "6990:150:18", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 4845, + "nodeType": "Block", + "src": "7252:94:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", + "typeString": "enum IexecLib.ContributionStatusEnum" + }, + "id": 4843, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 4834, + "name": "m_contributions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4347, + "src": "7263:15:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_Contribution_$2873_storage_$_$", + "typeString": "mapping(address => mapping(address => struct IexecLib.Contribution storage ref))" + } + }, + "id": 4836, + "indexExpression": { + "argumentTypes": null, + "id": 4835, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4827, + "src": "7279:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7263:22:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Contribution_$2873_storage_$", + "typeString": "mapping(address => struct IexecLib.Contribution storage ref)" + } + }, + "id": 4838, + "indexExpression": { + "argumentTypes": null, + "id": 4837, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4829, + "src": "7286:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7263:31:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2873_storage", + "typeString": "struct IexecLib.Contribution storage ref" + } + }, + "id": 4839, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 2862, + "src": "7263:38:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", + "typeString": "enum IexecLib.ContributionStatusEnum" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4840, + "name": "IexecLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2893, + "src": "7305:8:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecLib_$2893_$", + "typeString": "type(library IexecLib)" + } + }, + "id": 4841, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "ContributionStatusEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 2860, + "src": "7305:31:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_ContributionStatusEnum_$2860_$", + "typeString": "type(enum IexecLib.ContributionStatusEnum)" + } + }, + "id": 4842, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "UNSET", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "7305:37:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", + "typeString": "enum IexecLib.ContributionStatusEnum" + } + }, + "src": "7263:79:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 4833, + "id": 4844, + "nodeType": "Return", + "src": "7256:86:18" + } + ] + }, + "documentation": null, + "id": 4846, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "existingContribution", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4830, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4827, + "name": "_woid", + "nodeType": "VariableDeclaration", + "scope": 4846, + "src": "7173:13:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4826, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7173:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4829, + "name": "_worker", + "nodeType": "VariableDeclaration", + "scope": 4846, + "src": "7188:15:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4828, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7188:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7172:32:18" + }, + "payable": false, + "returnParameters": { + "id": 4833, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4832, + "name": "contributionExist", + "nodeType": "VariableDeclaration", + "scope": 4846, + "src": "7227:22:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 4831, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "7227:4:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7226:24:18" + }, + "scope": 6097, + "src": "7143:203:18", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 4896, + "nodeType": "Block", + "src": "7579:337:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4867, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4848, + "src": "7612:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 4868, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4850, + "src": "7619:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 4866, + "name": "existingContribution", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4846, + "src": "7591:20:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_bool_$", + "typeString": "function (address,address) view returns (bool)" + } + }, + "id": 4869, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7591:36:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 4865, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "7583:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 4870, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7583:45:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4871, + "nodeType": "ExpressionStatement", + "src": "7583:45:18" + }, + { + "assignments": [ + 4875 + ], + "declarations": [ + { + "constant": false, + "id": 4875, + "name": "contribution", + "nodeType": "VariableDeclaration", + "scope": 4897, + "src": "7660:42:18", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + }, + "typeName": { + "contractScope": null, + "id": 4874, + "name": "IexecLib.Contribution", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2873, + "src": "7660:21:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 4881, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 4876, + "name": "m_contributions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4347, + "src": "7705:15:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_Contribution_$2873_storage_$_$", + "typeString": "mapping(address => mapping(address => struct IexecLib.Contribution storage ref))" + } + }, + "id": 4878, + "indexExpression": { + "argumentTypes": null, + "id": 4877, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4848, + "src": "7721:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7705:22:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Contribution_$2873_storage_$", + "typeString": "mapping(address => struct IexecLib.Contribution storage ref)" + } + }, + "id": 4880, + "indexExpression": { + "argumentTypes": null, + "id": 4879, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4850, + "src": "7728:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7705:31:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2873_storage", + "typeString": "struct IexecLib.Contribution storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7660:76:18" + }, + { + "expression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4882, + "name": "contribution", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4875, + "src": "7752:12:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + } + }, + "id": 4883, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 2862, + "src": "7752:19:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", + "typeString": "enum IexecLib.ContributionStatusEnum" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4884, + "name": "contribution", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4875, + "src": "7776:12:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + } + }, + "id": 4885, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "resultHash", + "nodeType": "MemberAccess", + "referencedDeclaration": 2864, + "src": "7776:23:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4886, + "name": "contribution", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4875, + "src": "7804:12:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + } + }, + "id": 4887, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "resultSign", + "nodeType": "MemberAccess", + "referencedDeclaration": 2866, + "src": "7804:23:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4888, + "name": "contribution", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4875, + "src": "7832:12:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + } + }, + "id": 4889, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "enclaveChallenge", + "nodeType": "MemberAccess", + "referencedDeclaration": 2868, + "src": "7832:29:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4890, + "name": "contribution", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4875, + "src": "7866:12:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + } + }, + "id": 4891, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "score", + "nodeType": "MemberAccess", + "referencedDeclaration": 2870, + "src": "7866:18:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4892, + "name": "contribution", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4875, + "src": "7889:12:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + } + }, + "id": 4893, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "weight", + "nodeType": "MemberAccess", + "referencedDeclaration": 2872, + "src": "7889:19:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 4894, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "7747:165:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_enum$_ContributionStatusEnum_$2860_$_t_bytes32_$_t_bytes32_$_t_address_$_t_uint256_$_t_uint256_$", + "typeString": "tuple(enum IexecLib.ContributionStatusEnum,bytes32,bytes32,address,uint256,uint256)" + } + }, + "functionReturnParameters": 4864, + "id": 4895, + "nodeType": "Return", + "src": "7740:172:18" + } + ] + }, + "documentation": null, + "id": 4897, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getContribution", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4851, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4848, + "name": "_woid", + "nodeType": "VariableDeclaration", + "scope": 4897, + "src": "7374:13:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4847, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7374:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4850, + "name": "_worker", + "nodeType": "VariableDeclaration", + "scope": 4897, + "src": "7389:15:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4849, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7389:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7373:32:18" + }, + "payable": false, + "returnParameters": { + "id": 4864, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4853, + "name": "status", + "nodeType": "VariableDeclaration", + "scope": 4897, + "src": "7431:38:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", + "typeString": "enum IexecLib.ContributionStatusEnum" + }, + "typeName": { + "contractScope": null, + "id": 4852, + "name": "IexecLib.ContributionStatusEnum", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2860, + "src": "7431:31:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", + "typeString": "enum IexecLib.ContributionStatusEnum" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4855, + "name": "resultHash", + "nodeType": "VariableDeclaration", + "scope": 4897, + "src": "7473:18:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4854, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "7473:7:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4857, + "name": "resultSign", + "nodeType": "VariableDeclaration", + "scope": 4897, + "src": "7495:18:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4856, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "7495:7:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4859, + "name": "enclaveChallenge", + "nodeType": "VariableDeclaration", + "scope": 4897, + "src": "7517:24:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4858, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7517:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4861, + "name": "score", + "nodeType": "VariableDeclaration", + "scope": 4897, + "src": "7545:13:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4860, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7545:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4863, + "name": "weight", + "nodeType": "VariableDeclaration", + "scope": 4897, + "src": "7562:14:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4862, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7562:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7427:150:18" + }, + "scope": 6097, + "src": "7349:567:18", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 4982, + "nodeType": "Block", + "src": "8098:735:18", + "statements": [ + { + "assignments": [ + 4909 + ], + "declarations": [ + { + "constant": false, + "id": 4909, + "name": "catid", + "nodeType": "VariableDeclaration", + "scope": 4983, + "src": "8102:13:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4908, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8102:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 4914, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4912, + "name": "_marketorderIdx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4901, + "src": "8164:15:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 4910, + "name": "marketplaceInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3520, + "src": "8120:20:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_MarketplaceInterface_$3620", + "typeString": "contract MarketplaceInterface" + } + }, + "id": 4911, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getMarketOrderCategory", + "nodeType": "MemberAccess", + "referencedDeclaration": 3593, + "src": "8120:43:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) view external returns (uint256)" + } + }, + "id": 4913, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8120:60:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "8102:78:18" + }, + { + "assignments": [ + 4916 + ], + "declarations": [ + { + "constant": false, + "id": 4916, + "name": "timeout", + "nodeType": "VariableDeclaration", + "scope": 4983, + "src": "8184:15:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4915, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8184:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 4927, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4925, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7010, + "src": "8289:3:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4922, + "name": "CONSENSUS_DURATION_RATIO", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4353, + "src": "8259:24:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4919, + "name": "catid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4909, + "src": "8248:5:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 4917, + "name": "iexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2441, + "src": "8202:17:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$2802", + "typeString": "contract IexecHubInterface" + } + }, + "id": 4918, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getCategoryWorkClockTimeRef", + "nodeType": "MemberAccess", + "referencedDeclaration": 2610, + "src": "8202:45:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) view external returns (uint256)" + } + }, + "id": 4920, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8202:52:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4921, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "mul", + "nodeType": "MemberAccess", + "referencedDeclaration": 3826, + "src": "8202:56:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 4923, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8202:82:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4924, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 3773, + "src": "8202:86:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 4926, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8202:91:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "8184:109:18" + }, + { + "assignments": [ + 4931 + ], + "declarations": [ + { + "constant": false, + "id": 4931, + "name": "consensus", + "nodeType": "VariableDeclaration", + "scope": 4983, + "src": "8298:36:18", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + }, + "typeName": { + "contractScope": null, + "id": 4930, + "name": "IexecLib.Consensus", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2854, + "src": "8298:18:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 4935, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 4932, + "name": "m_consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4341, + "src": "8337:11:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Consensus_$2854_storage_$", + "typeString": "mapping(address => struct IexecLib.Consensus storage ref)" + } + }, + "id": 4934, + "indexExpression": { + "argumentTypes": null, + "id": 4933, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4899, + "src": "8349:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8337:18:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage", + "typeString": "struct IexecLib.Consensus storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "8298:57:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 4943, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4936, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4931, + "src": "8359:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 4938, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "poolReward", + "nodeType": "MemberAccess", + "referencedDeclaration": 2834, + "src": "8359:20:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4941, + "name": "_marketorderIdx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4901, + "src": "8439:15:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 4939, + "name": "marketplaceInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3520, + "src": "8398:20:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_MarketplaceInterface_$3620", + "typeString": "contract MarketplaceInterface" + } + }, + "id": 4940, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getMarketOrderValue", + "nodeType": "MemberAccess", + "referencedDeclaration": 3579, + "src": "8398:40:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) view external returns (uint256)" + } + }, + "id": 4942, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8398:57:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8359:96:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4944, + "nodeType": "ExpressionStatement", + "src": "8359:96:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 4952, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4945, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4931, + "src": "8459:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 4947, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "workerpoolOwner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2851, + "src": "8459:25:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4950, + "name": "_marketorderIdx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4901, + "src": "8549:15:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 4948, + "name": "marketplaceInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3520, + "src": "8498:20:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_MarketplaceInterface_$3620", + "typeString": "contract MarketplaceInterface" + } + }, + "id": 4949, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getMarketOrderWorkerpoolOwner", + "nodeType": "MemberAccess", + "referencedDeclaration": 3586, + "src": "8498:50:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_address_$", + "typeString": "function (uint256) view external returns (address)" + } + }, + "id": 4951, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8498:67:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "8459:106:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 4953, + "nodeType": "ExpressionStatement", + "src": "8459:106:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 4962, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4954, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4931, + "src": "8569:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 4956, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "stakeAmount", + "nodeType": "MemberAccess", + "referencedDeclaration": 2836, + "src": "8569:21:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4960, + "name": "m_stakeRatioPolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4322, + "src": "8640:18:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4957, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4931, + "src": "8608:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 4958, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "poolReward", + "nodeType": "MemberAccess", + "referencedDeclaration": 2834, + "src": "8608:20:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4959, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "percentage", + "nodeType": "MemberAccess", + "referencedDeclaration": 3914, + "src": "8608:31:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 4961, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8608:51:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8569:90:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4963, + "nodeType": "ExpressionStatement", + "src": "8569:90:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 4968, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4964, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4931, + "src": "8663:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 4966, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "consensusTimeout", + "nodeType": "MemberAccess", + "referencedDeclaration": 2844, + "src": "8663:26:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 4967, + "name": "timeout", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4916, + "src": "8703:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8663:47:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4969, + "nodeType": "ExpressionStatement", + "src": "8663:47:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 4974, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4970, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4931, + "src": "8714:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 4972, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "schedulerRewardRatioPolicy", + "nodeType": "MemberAccess", + "referencedDeclaration": 2853, + "src": "8714:36:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 4973, + "name": "m_schedulerRewardRatioPolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4324, + "src": "8753:28:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8714:67:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4975, + "nodeType": "ExpressionStatement", + "src": "8714:67:18" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4977, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4899, + "src": "8807:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 4976, + "name": "WorkOrderActive", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4377, + "src": "8791:15:18", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 4978, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8791:22:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4979, + "nodeType": "EmitStatement", + "src": "8786:27:18" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 4980, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8825:4:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 4907, + "id": 4981, + "nodeType": "Return", + "src": "8818:11:18" + } + ] + }, + "documentation": "************************** Works management ****************************", + "id": 4983, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 4904, + "modifierName": { + "argumentTypes": null, + "id": 4903, + "name": "onlyIexecHub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2454, + "src": "8069:12:18", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "8069:12:18" + } + ], + "name": "emitWorkOrder", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4902, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4899, + "name": "_woid", + "nodeType": "VariableDeclaration", + "scope": 4983, + "src": "8022:13:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4898, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8022:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4901, + "name": "_marketorderIdx", + "nodeType": "VariableDeclaration", + "scope": 4983, + "src": "8037:23:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4900, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8037:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8021:40:18" + }, + "payable": false, + "returnParameters": { + "id": 4907, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4906, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 4983, + "src": "8091:4:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 4905, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "8091:4:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8090:6:18" + }, + "scope": 6097, + "src": "7999:834:18", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 5062, + "nodeType": "Block", + "src": "8917:456:18", + "statements": [ + { + "assignments": [ + 4995 + ], + "declarations": [ + { + "constant": false, + "id": 4995, + "name": "consensus", + "nodeType": "VariableDeclaration", + "scope": 5063, + "src": "8922:36:18", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + }, + "typeName": { + "contractScope": null, + "id": 4994, + "name": "IexecLib.Consensus", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2854, + "src": "8922:18:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 4999, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 4996, + "name": "m_consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4341, + "src": "8961:11:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Consensus_$2854_storage_$", + "typeString": "mapping(address => struct IexecLib.Consensus storage ref)" + } + }, + "id": 4998, + "indexExpression": { + "argumentTypes": null, + "id": 4997, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4985, + "src": "8973:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8961:18:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage", + "typeString": "struct IexecLib.Consensus storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "8922:57:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5004, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5001, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7010, + "src": "8991:3:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5002, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4995, + "src": "8997:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5003, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "consensusTimeout", + "nodeType": "MemberAccess", + "referencedDeclaration": 2844, + "src": "8997:26:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8991:32:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5000, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "8983:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5005, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8983:41:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5006, + "nodeType": "ExpressionStatement", + "src": "8983:41:18" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 5008, + "name": "i", + "nodeType": "VariableDeclaration", + "scope": 5063, + "src": "9028:9:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5007, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9028:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5009, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "9028:9:18" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 5011, + "name": "w", + "nodeType": "VariableDeclaration", + "scope": 5063, + "src": "9041:9:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5010, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9041:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5012, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "9041:9:18" + }, + { + "body": { + "id": 5054, + "nodeType": "Block", + "src": "9108:215:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 5030, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 5025, + "name": "w", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5011, + "src": "9113:1:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5026, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4995, + "src": "9117:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5027, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "contributors", + "nodeType": "MemberAccess", + "referencedDeclaration": 2849, + "src": "9117:22:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 5029, + "indexExpression": { + "argumentTypes": null, + "id": 5028, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5008, + "src": "9140:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9117:25:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "9113:29:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 5031, + "nodeType": "ExpressionStatement", + "src": "9113:29:18" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", + "typeString": "enum IexecLib.ContributionStatusEnum" + }, + "id": 5041, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5032, + "name": "m_contributions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4347, + "src": "9151:15:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_Contribution_$2873_storage_$_$", + "typeString": "mapping(address => mapping(address => struct IexecLib.Contribution storage ref))" + } + }, + "id": 5034, + "indexExpression": { + "argumentTypes": null, + "id": 5033, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4985, + "src": "9167:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9151:22:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Contribution_$2873_storage_$", + "typeString": "mapping(address => struct IexecLib.Contribution storage ref)" + } + }, + "id": 5036, + "indexExpression": { + "argumentTypes": null, + "id": 5035, + "name": "w", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5011, + "src": "9174:1:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9151:25:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2873_storage", + "typeString": "struct IexecLib.Contribution storage ref" + } + }, + "id": 5037, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 2862, + "src": "9151:32:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", + "typeString": "enum IexecLib.ContributionStatusEnum" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5038, + "name": "IexecLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2893, + "src": "9187:8:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecLib_$2893_$", + "typeString": "type(library IexecLib)" + } + }, + "id": 5039, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "ContributionStatusEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 2860, + "src": "9187:31:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_ContributionStatusEnum_$2860_$", + "typeString": "type(enum IexecLib.ContributionStatusEnum)" + } + }, + "id": 5040, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "AUTHORIZED", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "9187:42:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", + "typeString": "enum IexecLib.ContributionStatusEnum" + } + }, + "src": "9151:78:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 5053, + "nodeType": "IfStatement", + "src": "9147:172:18", + "trueBody": { + "id": 5052, + "nodeType": "Block", + "src": "9234:85:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5045, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4985, + "src": "9280:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 5046, + "name": "w", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5011, + "src": "9287:1:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5047, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4995, + "src": "9290:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5048, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "stakeAmount", + "nodeType": "MemberAccess", + "referencedDeclaration": 2836, + "src": "9290:21:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 5043, + "name": "iexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2441, + "src": "9248:17:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$2802", + "typeString": "contract IexecHubInterface" + } + }, + "id": 5044, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "unlockForWork", + "nodeType": "MemberAccess", + "referencedDeclaration": 2716, + "src": "9248:31:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,address,uint256) external returns (bool)" + } + }, + "id": 5049, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9248:64:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5042, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "9240:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5050, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9240:73:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5051, + "nodeType": "ExpressionStatement", + "src": "9240:73:18" + } + ] + } + } + ] + }, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5021, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5017, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5008, + "src": "9066:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5018, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4995, + "src": "9070:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5019, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "contributors", + "nodeType": "MemberAccess", + "referencedDeclaration": 2849, + "src": "9070:22:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 5020, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "9070:29:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9066:33:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 5055, + "initializationExpression": { + "expression": { + "argumentTypes": null, + "id": 5015, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 5013, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5008, + "src": "9059:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "30", + "id": 5014, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9063:1:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "9059:5:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5016, + "nodeType": "ExpressionStatement", + "src": "9059:5:18" + }, + "loopExpression": { + "expression": { + "argumentTypes": null, + "id": 5023, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": true, + "src": "9101:3:18", + "subExpression": { + "argumentTypes": null, + "id": 5022, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5008, + "src": "9103:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5024, + "nodeType": "ExpressionStatement", + "src": "9101:3:18" + }, + "nodeType": "ForStatement", + "src": "9054:269:18" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5057, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4985, + "src": "9348:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 5056, + "name": "WorkOrderClaimed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4381, + "src": "9331:16:18", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 5058, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9331:23:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5059, + "nodeType": "EmitStatement", + "src": "9326:28:18" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 5060, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9365:4:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 4991, + "id": 5061, + "nodeType": "Return", + "src": "9358:11:18" + } + ] + }, + "documentation": null, + "id": 5063, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 4988, + "modifierName": { + "argumentTypes": null, + "id": 4987, + "name": "onlyIexecHub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2454, + "src": "8888:12:18", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "8888:12:18" + } + ], + "name": "claimFailedConsensus", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4986, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4985, + "name": "_woid", + "nodeType": "VariableDeclaration", + "scope": 5063, + "src": "8866:13:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4984, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8866:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8865:15:18" + }, + "payable": false, + "returnParameters": { + "id": 4991, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4990, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 5063, + "src": "8910:4:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 4989, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "8910:4:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8909:6:18" + }, + "scope": 6097, + "src": "8836:537:18", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 5102, + "nodeType": "Block", + "src": "9522:148:18", + "statements": [ + { + "body": { + "id": 5098, + "nodeType": "Block", + "src": "9571:81:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5090, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5065, + "src": "9608:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5091, + "name": "_workers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5068, + "src": "9615:8:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 5093, + "indexExpression": { + "argumentTypes": null, + "id": 5092, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5078, + "src": "9624:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9615:11:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 5094, + "name": "_enclaveChallenge", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5070, + "src": "9628:17:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 5089, + "name": "allowWorkerToContribute", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5215, + "src": "9584:23:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$returns$_t_bool_$", + "typeString": "function (address,address,address) returns (bool)" + } + }, + "id": 5095, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9584:62:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5088, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "9576:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5096, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9576:71:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5097, + "nodeType": "ExpressionStatement", + "src": "9576:71:18" + } + ] + }, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5084, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5081, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5078, + "src": "9543:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5082, + "name": "_workers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5068, + "src": "9547:8:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 5083, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "9547:15:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9543:19:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 5099, + "initializationExpression": { + "assignments": [ + 5078 + ], + "declarations": [ + { + "constant": false, + "id": 5078, + "name": "i", + "nodeType": "VariableDeclaration", + "scope": 5103, + "src": "9531:6:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5077, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "9531:4:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5080, + "initialValue": { + "argumentTypes": null, + "hexValue": "30", + "id": 5079, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9540:1:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "9531:10:18" + }, + "loopExpression": { + "expression": { + "argumentTypes": null, + "id": 5086, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": true, + "src": "9564:3:18", + "subExpression": { + "argumentTypes": null, + "id": 5085, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5078, + "src": "9566:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5087, + "nodeType": "ExpressionStatement", + "src": "9564:3:18" + }, + "nodeType": "ForStatement", + "src": "9526:126:18" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 5100, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9662:4:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 5076, + "id": 5101, + "nodeType": "Return", + "src": "9655:11:18" + } + ] + }, + "documentation": null, + "id": 5103, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 5073, + "modifierName": { + "argumentTypes": null, + "id": 5072, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3700, + "src": "9479:9:18", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "9479:9:18" + } + ], + "name": "allowWorkersToContribute", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5071, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5065, + "name": "_woid", + "nodeType": "VariableDeclaration", + "scope": 5103, + "src": "9410:13:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5064, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9410:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5068, + "name": "_workers", + "nodeType": "VariableDeclaration", + "scope": 5103, + "src": "9425:18:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + }, + "typeName": { + "baseType": { + "id": 5066, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9425:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 5067, + "length": null, + "nodeType": "ArrayTypeName", + "src": "9425:9:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[] storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5070, + "name": "_enclaveChallenge", + "nodeType": "VariableDeclaration", + "scope": 5103, + "src": "9445:25:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5069, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9445:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "9409:62:18" + }, + "payable": false, + "returnParameters": { + "id": 5076, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5075, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 5103, + "src": "9515:4:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 5074, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "9515:4:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "9514:6:18" + }, + "scope": 6097, + "src": "9376:294:18", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 5214, + "nodeType": "Block", + "src": "9815:798:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5119, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5105, + "src": "9861:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 5117, + "name": "iexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2441, + "src": "9827:17:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$2802", + "typeString": "contract IexecHubInterface" + } + }, + "id": 5118, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "isWoidRegistred", + "nodeType": "MemberAccess", + "referencedDeclaration": 2570, + "src": "9827:33:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_bool_$", + "typeString": "function (address) view external returns (bool)" + } + }, + "id": 5120, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9827:40:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5116, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "9819:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5121, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9819:49:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5122, + "nodeType": "ExpressionStatement", + "src": "9819:49:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + }, + "id": 5132, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5125, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5105, + "src": "9890:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 5124, + "name": "WorkOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4299, + "src": "9880:9:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_WorkOrder_$4299_$", + "typeString": "type(contract WorkOrder)" + } + }, + "id": 5126, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9880:16:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4299", + "typeString": "contract WorkOrder" + } + }, + "id": 5127, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_status", + "nodeType": "MemberAccess", + "referencedDeclaration": 4040, + "src": "9880:25:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_enum$_WorkOrderStatusEnum_$2832_$", + "typeString": "function () view external returns (enum IexecLib.WorkOrderStatusEnum)" + } + }, + "id": 5128, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9880:27:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5129, + "name": "IexecLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2893, + "src": "9911:8:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecLib_$2893_$", + "typeString": "type(library IexecLib)" + } + }, + "id": 5130, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "WorkOrderStatusEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 2832, + "src": "9911:28:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_WorkOrderStatusEnum_$2832_$", + "typeString": "type(enum IexecLib.WorkOrderStatusEnum)" + } + }, + "id": 5131, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "ACTIVE", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "9911:35:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "src": "9880:66:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5123, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "9872:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5133, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9872:75:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5134, + "nodeType": "ExpressionStatement", + "src": "9872:75:18" + }, + { + "assignments": [ + 5138 + ], + "declarations": [ + { + "constant": false, + "id": 5138, + "name": "contribution", + "nodeType": "VariableDeclaration", + "scope": 5215, + "src": "9951:42:18", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + }, + "typeName": { + "contractScope": null, + "id": 5137, + "name": "IexecLib.Contribution", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2873, + "src": "9951:21:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5144, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5139, + "name": "m_contributions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4347, + "src": "9996:15:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_Contribution_$2873_storage_$_$", + "typeString": "mapping(address => mapping(address => struct IexecLib.Contribution storage ref))" + } + }, + "id": 5141, + "indexExpression": { + "argumentTypes": null, + "id": 5140, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5105, + "src": "10012:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9996:22:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Contribution_$2873_storage_$", + "typeString": "mapping(address => struct IexecLib.Contribution storage ref)" + } + }, + "id": 5143, + "indexExpression": { + "argumentTypes": null, + "id": 5142, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5107, + "src": "10019:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9996:31:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2873_storage", + "typeString": "struct IexecLib.Contribution storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "9951:76:18" + }, + { + "assignments": [ + 5148 + ], + "declarations": [ + { + "constant": false, + "id": 5148, + "name": "consensus", + "nodeType": "VariableDeclaration", + "scope": 5215, + "src": "10031:39:18", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + }, + "typeName": { + "contractScope": null, + "id": 5147, + "name": "IexecLib.Consensus", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2854, + "src": "10031:18:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5152, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5149, + "name": "m_consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4341, + "src": "10076:11:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Consensus_$2854_storage_$", + "typeString": "mapping(address => struct IexecLib.Consensus storage ref)" + } + }, + "id": 5151, + "indexExpression": { + "argumentTypes": null, + "id": 5150, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5105, + "src": "10088:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10076:18:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage", + "typeString": "struct IexecLib.Consensus storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "10031:63:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5157, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5154, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7010, + "src": "10106:3:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5155, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5148, + "src": "10113:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5156, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "consensusTimeout", + "nodeType": "MemberAccess", + "referencedDeclaration": 2844, + "src": "10113:26:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10106:33:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5153, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "10098:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5158, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10098:42:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5159, + "nodeType": "ExpressionStatement", + "src": "10098:42:18" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 5161, + "name": "workerPool", + "nodeType": "VariableDeclaration", + "scope": 5215, + "src": "10145:18:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5160, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "10145:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5162, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "10145:18:18" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 5164, + "name": "workerScore", + "nodeType": "VariableDeclaration", + "scope": 5215, + "src": "10167:19:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5163, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10167:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5165, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "10167:19:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 5173, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "id": 5166, + "name": "workerPool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5161, + "src": "10191:10:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 5167, + "name": "workerScore", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5164, + "src": "10203:11:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 5168, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "10190:25:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_address_$_t_uint256_$", + "typeString": "tuple(address,uint256)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5171, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5107, + "src": "10252:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 5169, + "name": "iexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2441, + "src": "10218:17:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$2802", + "typeString": "contract IexecHubInterface" + } + }, + "id": 5170, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getWorkerStatus", + "nodeType": "MemberAccess", + "referencedDeclaration": 2639, + "src": "10218:33:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_address_$_t_uint256_$", + "typeString": "function (address) view external returns (address,uint256)" + } + }, + "id": 5172, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10218:42:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_address_$_t_uint256_$", + "typeString": "tuple(address,uint256)" + } + }, + "src": "10190:70:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5174, + "nodeType": "ExpressionStatement", + "src": "10190:70:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 5180, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5176, + "name": "workerPool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5161, + "src": "10299:10:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5178, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7057, + "src": "10321:4:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkerPool_$6097", + "typeString": "contract WorkerPool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_WorkerPool_$6097", + "typeString": "contract WorkerPool" + } + ], + "id": 5177, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "10313:7:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 5179, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10313:13:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "10299:27:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5175, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "10291:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5181, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10291:36:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5182, + "nodeType": "ExpressionStatement", + "src": "10291:36:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", + "typeString": "enum IexecLib.ContributionStatusEnum" + }, + "id": 5189, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5184, + "name": "contribution", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5138, + "src": "10340:12:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + } + }, + "id": 5185, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 2862, + "src": "10340:19:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", + "typeString": "enum IexecLib.ContributionStatusEnum" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5186, + "name": "IexecLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2893, + "src": "10363:8:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecLib_$2893_$", + "typeString": "type(library IexecLib)" + } + }, + "id": 5187, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "ContributionStatusEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 2860, + "src": "10363:31:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_ContributionStatusEnum_$2860_$", + "typeString": "type(enum IexecLib.ContributionStatusEnum)" + } + }, + "id": 5188, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "UNSET", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "10363:37:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", + "typeString": "enum IexecLib.ContributionStatusEnum" + } + }, + "src": "10340:60:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5183, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "10332:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5190, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10332:69:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5191, + "nodeType": "ExpressionStatement", + "src": "10332:69:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 5198, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5192, + "name": "contribution", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5138, + "src": "10405:12:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + } + }, + "id": 5194, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 2862, + "src": "10405:19:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", + "typeString": "enum IexecLib.ContributionStatusEnum" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5195, + "name": "IexecLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2893, + "src": "10437:8:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecLib_$2893_$", + "typeString": "type(library IexecLib)" + } + }, + "id": 5196, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "ContributionStatusEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 2860, + "src": "10437:31:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_ContributionStatusEnum_$2860_$", + "typeString": "type(enum IexecLib.ContributionStatusEnum)" + } + }, + "id": 5197, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "AUTHORIZED", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "10437:42:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", + "typeString": "enum IexecLib.ContributionStatusEnum" + } + }, + "src": "10405:74:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", + "typeString": "enum IexecLib.ContributionStatusEnum" + } + }, + "id": 5199, + "nodeType": "ExpressionStatement", + "src": "10405:74:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 5204, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5200, + "name": "contribution", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5138, + "src": "10483:12:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + } + }, + "id": 5202, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "enclaveChallenge", + "nodeType": "MemberAccess", + "referencedDeclaration": 2868, + "src": "10483:29:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 5203, + "name": "_enclaveChallenge", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5109, + "src": "10515:17:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "10483:49:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 5205, + "nodeType": "ExpressionStatement", + "src": "10483:49:18" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5207, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5105, + "src": "10566:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 5208, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5107, + "src": "10573:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 5209, + "name": "workerScore", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5164, + "src": "10582:11:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5206, + "name": "AllowWorkerToContribute", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4389, + "src": "10542:23:18", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 5210, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10542:52:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5211, + "nodeType": "EmitStatement", + "src": "10537:57:18" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 5212, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10605:4:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 5115, + "id": 5213, + "nodeType": "Return", + "src": "10598:11:18" + } + ] + }, + "documentation": null, + "id": 5215, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 5112, + "modifierName": { + "argumentTypes": null, + "id": 5111, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3700, + "src": "9772:9:18", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "9772:9:18" + } + ], + "name": "allowWorkerToContribute", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5110, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5105, + "name": "_woid", + "nodeType": "VariableDeclaration", + "scope": 5215, + "src": "9706:13:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5104, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9706:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5107, + "name": "_worker", + "nodeType": "VariableDeclaration", + "scope": 5215, + "src": "9721:15:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5106, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9721:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5109, + "name": "_enclaveChallenge", + "nodeType": "VariableDeclaration", + "scope": 5215, + "src": "9738:25:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5108, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9738:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "9705:59:18" + }, + "payable": false, + "returnParameters": { + "id": 5115, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5114, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 5215, + "src": "9808:4:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 5113, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "9808:4:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "9807:6:18" + }, + "scope": 6097, + "src": "9673:940:18", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 5382, + "nodeType": "Block", + "src": "10765:1197:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5235, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5217, + "src": "10811:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 5233, + "name": "iexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2441, + "src": "10777:17:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$2802", + "typeString": "contract IexecHubInterface" + } + }, + "id": 5234, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "isWoidRegistred", + "nodeType": "MemberAccess", + "referencedDeclaration": 2570, + "src": "10777:33:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_bool_$", + "typeString": "function (address) view external returns (bool)" + } + }, + "id": 5236, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10777:40:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5232, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "10769:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5237, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10769:49:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5238, + "nodeType": "ExpressionStatement", + "src": "10769:49:18" + }, + { + "assignments": [ + 5242 + ], + "declarations": [ + { + "constant": false, + "id": 5242, + "name": "consensus", + "nodeType": "VariableDeclaration", + "scope": 5383, + "src": "10822:39:18", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + }, + "typeName": { + "contractScope": null, + "id": 5241, + "name": "IexecLib.Consensus", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2854, + "src": "10822:18:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5246, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5243, + "name": "m_consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4341, + "src": "10867:11:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Consensus_$2854_storage_$", + "typeString": "mapping(address => struct IexecLib.Consensus storage ref)" + } + }, + "id": 5245, + "indexExpression": { + "argumentTypes": null, + "id": 5244, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5217, + "src": "10879:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10867:18:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage", + "typeString": "struct IexecLib.Consensus storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "10822:63:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5251, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5248, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7010, + "src": "10897:3:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5249, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5242, + "src": "10904:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5250, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "consensusTimeout", + "nodeType": "MemberAccess", + "referencedDeclaration": 2844, + "src": "10904:26:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10897:33:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5247, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "10889:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5252, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10889:42:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5253, + "nodeType": "ExpressionStatement", + "src": "10889:42:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + }, + "id": 5263, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5256, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5217, + "src": "10953:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 5255, + "name": "WorkOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4299, + "src": "10943:9:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_WorkOrder_$4299_$", + "typeString": "type(contract WorkOrder)" + } + }, + "id": 5257, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10943:16:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4299", + "typeString": "contract WorkOrder" + } + }, + "id": 5258, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_status", + "nodeType": "MemberAccess", + "referencedDeclaration": 4040, + "src": "10943:25:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_enum$_WorkOrderStatusEnum_$2832_$", + "typeString": "function () view external returns (enum IexecLib.WorkOrderStatusEnum)" + } + }, + "id": 5259, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10943:27:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5260, + "name": "IexecLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2893, + "src": "10974:8:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecLib_$2893_$", + "typeString": "type(library IexecLib)" + } + }, + "id": 5261, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "WorkOrderStatusEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 2832, + "src": "10974:28:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_WorkOrderStatusEnum_$2832_$", + "typeString": "type(enum IexecLib.WorkOrderStatusEnum)" + } + }, + "id": 5262, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "ACTIVE", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "10974:35:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "src": "10943:66:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5254, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "10935:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5264, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10935:75:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5265, + "nodeType": "ExpressionStatement", + "src": "10935:75:18" + }, + { + "assignments": [ + 5269 + ], + "declarations": [ + { + "constant": false, + "id": 5269, + "name": "contribution", + "nodeType": "VariableDeclaration", + "scope": 5383, + "src": "11070:42:18", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + }, + "typeName": { + "contractScope": null, + "id": 5268, + "name": "IexecLib.Contribution", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2873, + "src": "11070:21:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5276, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5270, + "name": "m_contributions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4347, + "src": "11115:15:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_Contribution_$2873_storage_$_$", + "typeString": "mapping(address => mapping(address => struct IexecLib.Contribution storage ref))" + } + }, + "id": 5272, + "indexExpression": { + "argumentTypes": null, + "id": 5271, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5217, + "src": "11131:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11115:22:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Contribution_$2873_storage_$", + "typeString": "mapping(address => struct IexecLib.Contribution storage ref)" + } + }, + "id": 5275, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5273, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "11138:3:18", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5274, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "11138:10:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11115:34:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2873_storage", + "typeString": "struct IexecLib.Contribution storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "11070:79:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 5280, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5278, + "name": "_resultHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5219, + "src": "11189:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "hexValue": "307830", + "id": 5279, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11204:3:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + }, + "src": "11189:18:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5277, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "11181:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5281, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11181:27:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5282, + "nodeType": "ExpressionStatement", + "src": "11181:27:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 5286, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5284, + "name": "_resultSign", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5221, + "src": "11220:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "hexValue": "307830", + "id": 5285, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11235:3:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + }, + "src": "11220:18:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5283, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "11212:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5287, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11212:27:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5288, + "nodeType": "ExpressionStatement", + "src": "11212:27:18" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 5294, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5289, + "name": "contribution", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5269, + "src": "11247:12:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + } + }, + "id": 5290, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "enclaveChallenge", + "nodeType": "MemberAccess", + "referencedDeclaration": 2868, + "src": "11247:29:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 5292, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11288:1:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 5291, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "11280:7:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 5293, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11280:10:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "11247:43:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 5312, + "nodeType": "IfStatement", + "src": "11243:197:18", + "trueBody": { + "id": 5311, + "nodeType": "Block", + "src": "11294:146:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 5308, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5296, + "name": "contribution", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5269, + "src": "11307:12:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + } + }, + "id": 5297, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "enclaveChallenge", + "nodeType": "MemberAccess", + "referencedDeclaration": 2868, + "src": "11307:29:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "19457468657265756d205369676e6564204d6573736167653a0a3634", + "id": 5300, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11360:34:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_9835cb014a61578493d8e56753fb400073be9e8b300198bc2d66711870e6f164", + "typeString": "literal_string \"\u0019Ethereum Signed Message:\n64\"" + }, + "value": "\u0019Ethereum Signed Message:\n64" + }, + { + "argumentTypes": null, + "id": 5301, + "name": "_resultHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5219, + "src": "11396:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 5302, + "name": "_resultSign", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5221, + "src": "11409:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_9835cb014a61578493d8e56753fb400073be9e8b300198bc2d66711870e6f164", + "typeString": "literal_string \"\u0019Ethereum Signed Message:\n64\"" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 5299, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7002, + "src": "11350:9:18", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 5303, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11350:71:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 5304, + "name": "_v", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5223, + "src": "11423:2:18", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "argumentTypes": null, + "id": 5305, + "name": "_r", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5225, + "src": "11427:2:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 5306, + "name": "_s", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5227, + "src": "11431:2:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 5298, + "name": "ecrecover", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7000, + "src": "11340:9:18", + "typeDescriptions": { + "typeIdentifier": "t_function_ecrecover_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32,uint8,bytes32,bytes32) pure returns (address)" + } + }, + "id": 5307, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11340:94:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "11307:127:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5295, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "11299:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5309, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11299:136:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5310, + "nodeType": "ExpressionStatement", + "src": "11299:136:18" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", + "typeString": "enum IexecLib.ContributionStatusEnum" + }, + "id": 5319, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5314, + "name": "contribution", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5269, + "src": "11452:12:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + } + }, + "id": 5315, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 2862, + "src": "11452:19:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", + "typeString": "enum IexecLib.ContributionStatusEnum" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5316, + "name": "IexecLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2893, + "src": "11475:8:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecLib_$2893_$", + "typeString": "type(library IexecLib)" + } + }, + "id": 5317, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "ContributionStatusEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 2860, + "src": "11475:31:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_ContributionStatusEnum_$2860_$", + "typeString": "type(enum IexecLib.ContributionStatusEnum)" + } + }, + "id": 5318, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "AUTHORIZED", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "11475:42:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", + "typeString": "enum IexecLib.ContributionStatusEnum" + } + }, + "src": "11452:65:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5313, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "11444:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5320, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11444:74:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5321, + "nodeType": "ExpressionStatement", + "src": "11444:74:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 5328, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5322, + "name": "contribution", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5269, + "src": "11522:12:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + } + }, + "id": 5324, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 2862, + "src": "11522:19:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", + "typeString": "enum IexecLib.ContributionStatusEnum" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5325, + "name": "IexecLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2893, + "src": "11548:8:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecLib_$2893_$", + "typeString": "type(library IexecLib)" + } + }, + "id": 5326, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "ContributionStatusEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 2860, + "src": "11548:31:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_ContributionStatusEnum_$2860_$", + "typeString": "type(enum IexecLib.ContributionStatusEnum)" + } + }, + "id": 5327, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "CONTRIBUTED", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "11548:43:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", + "typeString": "enum IexecLib.ContributionStatusEnum" + } + }, + "src": "11522:69:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", + "typeString": "enum IexecLib.ContributionStatusEnum" + } + }, + "id": 5329, + "nodeType": "ExpressionStatement", + "src": "11522:69:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 5334, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5330, + "name": "contribution", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5269, + "src": "11595:12:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + } + }, + "id": 5332, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "resultHash", + "nodeType": "MemberAccess", + "referencedDeclaration": 2864, + "src": "11595:23:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 5333, + "name": "_resultHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5219, + "src": "11621:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "11595:37:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 5335, + "nodeType": "ExpressionStatement", + "src": "11595:37:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 5340, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5336, + "name": "contribution", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5269, + "src": "11636:12:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + } + }, + "id": 5338, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "resultSign", + "nodeType": "MemberAccess", + "referencedDeclaration": 2866, + "src": "11636:23:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 5339, + "name": "_resultSign", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5221, + "src": "11662:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "11636:37:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 5341, + "nodeType": "ExpressionStatement", + "src": "11636:37:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 5350, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5342, + "name": "contribution", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5269, + "src": "11677:12:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + } + }, + "id": 5344, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "score", + "nodeType": "MemberAccess", + "referencedDeclaration": 2870, + "src": "11677:18:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5347, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "11736:3:18", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5348, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "11736:10:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 5345, + "name": "iexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2441, + "src": "11703:17:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$2802", + "typeString": "contract IexecHubInterface" + } + }, + "id": 5346, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getWorkerScore", + "nodeType": "MemberAccess", + "referencedDeclaration": 2646, + "src": "11703:32:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view external returns (uint256)" + } + }, + "id": 5349, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11703:44:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11677:70:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5351, + "nodeType": "ExpressionStatement", + "src": "11677:70:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5357, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "11779:3:18", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5358, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "11779:10:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5352, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5242, + "src": "11751:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5355, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "contributors", + "nodeType": "MemberAccess", + "referencedDeclaration": 2849, + "src": "11751:22:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 5356, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "push", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "11751:27:18", + "typeDescriptions": { + "typeIdentifier": "t_function_arraypush_nonpayable$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) returns (uint256)" + } + }, + "id": 5359, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11751:39:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5360, + "nodeType": "ExpressionStatement", + "src": "11751:39:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5364, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5217, + "src": "11833:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5365, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "11840:3:18", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5366, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "11840:10:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5367, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5242, + "src": "11852:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5368, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "stakeAmount", + "nodeType": "MemberAccess", + "referencedDeclaration": 2836, + "src": "11852:21:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 5362, + "name": "iexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2441, + "src": "11803:17:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$2802", + "typeString": "contract IexecHubInterface" + } + }, + "id": 5363, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "lockForWork", + "nodeType": "MemberAccess", + "referencedDeclaration": 2705, + "src": "11803:29:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,address,uint256) external returns (bool)" + } + }, + "id": 5369, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11803:71:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5361, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "11795:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5370, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11795:80:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5371, + "nodeType": "ExpressionStatement", + "src": "11795:80:18" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5373, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5217, + "src": "11895:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5374, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "11902:3:18", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5375, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "11902:10:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 5376, + "name": "_resultHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5219, + "src": "11914:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 5372, + "name": "Contribute", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4397, + "src": "11884:10:18", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$", + "typeString": "function (address,address,bytes32)" + } + }, + "id": 5377, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11884:42:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5378, + "nodeType": "EmitStatement", + "src": "11879:47:18" + }, + { + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5379, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5242, + "src": "11937:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5380, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "stakeAmount", + "nodeType": "MemberAccess", + "referencedDeclaration": 2836, + "src": "11937:21:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 5231, + "id": 5381, + "nodeType": "Return", + "src": "11930:28:18" + } + ] + }, + "documentation": null, + "id": 5383, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "contribute", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5228, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5217, + "name": "_woid", + "nodeType": "VariableDeclaration", + "scope": 5383, + "src": "10636:13:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5216, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "10636:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5219, + "name": "_resultHash", + "nodeType": "VariableDeclaration", + "scope": 5383, + "src": "10651:19:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 5218, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "10651:7:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5221, + "name": "_resultSign", + "nodeType": "VariableDeclaration", + "scope": 5383, + "src": "10672:19:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 5220, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "10672:7:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5223, + "name": "_v", + "nodeType": "VariableDeclaration", + "scope": 5383, + "src": "10693:8:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 5222, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "10693:5:18", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5225, + "name": "_r", + "nodeType": "VariableDeclaration", + "scope": 5383, + "src": "10703:10:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 5224, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "10703:7:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5227, + "name": "_s", + "nodeType": "VariableDeclaration", + "scope": 5383, + "src": "10715:10:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 5226, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "10715:7:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "10635:91:18" + }, + "payable": false, + "returnParameters": { + "id": 5231, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5230, + "name": "workerStake", + "nodeType": "VariableDeclaration", + "scope": 5383, + "src": "10743:19:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5229, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10743:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "10742:21:18" + }, + "scope": 6097, + "src": "10616:1346:18", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 5524, + "nodeType": "Block", + "src": "12075:1064:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5397, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5385, + "src": "12121:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 5395, + "name": "iexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2441, + "src": "12087:17:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$2802", + "typeString": "contract IexecHubInterface" + } + }, + "id": 5396, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "isWoidRegistred", + "nodeType": "MemberAccess", + "referencedDeclaration": 2570, + "src": "12087:33:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_bool_$", + "typeString": "function (address) view external returns (bool)" + } + }, + "id": 5398, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12087:40:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5394, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "12079:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5399, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12079:49:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5400, + "nodeType": "ExpressionStatement", + "src": "12079:49:18" + }, + { + "assignments": [ + 5404 + ], + "declarations": [ + { + "constant": false, + "id": 5404, + "name": "consensus", + "nodeType": "VariableDeclaration", + "scope": 5525, + "src": "12132:36:18", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + }, + "typeName": { + "contractScope": null, + "id": 5403, + "name": "IexecLib.Consensus", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2854, + "src": "12132:18:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5408, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5405, + "name": "m_consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4341, + "src": "12171:11:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Consensus_$2854_storage_$", + "typeString": "mapping(address => struct IexecLib.Consensus storage ref)" + } + }, + "id": 5407, + "indexExpression": { + "argumentTypes": null, + "id": 5406, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5385, + "src": "12183:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12171:18:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage", + "typeString": "struct IexecLib.Consensus storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "12132:57:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5413, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5410, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7010, + "src": "12201:3:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5411, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5404, + "src": "12208:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5412, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "consensusTimeout", + "nodeType": "MemberAccess", + "referencedDeclaration": 2844, + "src": "12208:26:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12201:33:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5409, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "12193:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5414, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12193:42:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5415, + "nodeType": "ExpressionStatement", + "src": "12193:42:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5418, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5385, + "src": "12257:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 5417, + "name": "WorkOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4299, + "src": "12247:9:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_WorkOrder_$4299_$", + "typeString": "type(contract WorkOrder)" + } + }, + "id": 5419, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12247:16:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4299", + "typeString": "contract WorkOrder" + } + }, + "id": 5420, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "startRevealingPhase", + "nodeType": "MemberAccess", + "referencedDeclaration": 4188, + "src": "12247:36:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$__$returns$_t_bool_$", + "typeString": "function () external returns (bool)" + } + }, + "id": 5421, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12247:38:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5416, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "12239:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5422, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12239:47:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5423, + "nodeType": "ExpressionStatement", + "src": "12239:47:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 5428, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5424, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5404, + "src": "12291:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5426, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "winnerCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 2846, + "src": "12291:21:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "30", + "id": 5427, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12315:1:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "12291:25:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5429, + "nodeType": "ExpressionStatement", + "src": "12291:25:18" + }, + { + "body": { + "id": 5480, + "nodeType": "Block", + "src": "12380:317:18", + "statements": [ + { + "assignments": [ + 5443 + ], + "declarations": [ + { + "constant": false, + "id": 5443, + "name": "w", + "nodeType": "VariableDeclaration", + "scope": 5525, + "src": "12385:9:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5442, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "12385:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5448, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5444, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5404, + "src": "12397:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5445, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "contributors", + "nodeType": "MemberAccess", + "referencedDeclaration": 2849, + "src": "12397:22:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 5447, + "indexExpression": { + "argumentTypes": null, + "id": 5446, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5431, + "src": "12420:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12397:25:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "12385:37:18" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 5467, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 5456, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5449, + "name": "m_contributions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4347, + "src": "12436:15:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_Contribution_$2873_storage_$_$", + "typeString": "mapping(address => mapping(address => struct IexecLib.Contribution storage ref))" + } + }, + "id": 5451, + "indexExpression": { + "argumentTypes": null, + "id": 5450, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5385, + "src": "12452:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12436:22:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Contribution_$2873_storage_$", + "typeString": "mapping(address => struct IexecLib.Contribution storage ref)" + } + }, + "id": 5453, + "indexExpression": { + "argumentTypes": null, + "id": 5452, + "name": "w", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5443, + "src": "12459:1:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12436:25:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2873_storage", + "typeString": "struct IexecLib.Contribution storage ref" + } + }, + "id": 5454, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "resultHash", + "nodeType": "MemberAccess", + "referencedDeclaration": 2864, + "src": "12436:36:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 5455, + "name": "_consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5387, + "src": "12476:10:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "12436:50:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", + "typeString": "enum IexecLib.ContributionStatusEnum" + }, + "id": 5466, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5457, + "name": "m_contributions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4347, + "src": "12498:15:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_Contribution_$2873_storage_$_$", + "typeString": "mapping(address => mapping(address => struct IexecLib.Contribution storage ref))" + } + }, + "id": 5459, + "indexExpression": { + "argumentTypes": null, + "id": 5458, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5385, + "src": "12514:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12498:22:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Contribution_$2873_storage_$", + "typeString": "mapping(address => struct IexecLib.Contribution storage ref)" + } + }, + "id": 5461, + "indexExpression": { + "argumentTypes": null, + "id": 5460, + "name": "w", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5443, + "src": "12521:1:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12498:25:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2873_storage", + "typeString": "struct IexecLib.Contribution storage ref" + } + }, + "id": 5462, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 2862, + "src": "12498:32:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", + "typeString": "enum IexecLib.ContributionStatusEnum" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5463, + "name": "IexecLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2893, + "src": "12534:8:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecLib_$2893_$", + "typeString": "type(library IexecLib)" + } + }, + "id": 5464, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "ContributionStatusEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 2860, + "src": "12534:31:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_ContributionStatusEnum_$2860_$", + "typeString": "type(enum IexecLib.ContributionStatusEnum)" + } + }, + "id": 5465, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "CONTRIBUTED", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "12534:43:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", + "typeString": "enum IexecLib.ContributionStatusEnum" + } + }, + "src": "12498:79:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "12436:141:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 5479, + "nodeType": "IfStatement", + "src": "12427:266:18", + "trueBody": { + "id": 5478, + "nodeType": "Block", + "src": "12629:64:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 5476, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5468, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5404, + "src": "12635:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5470, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "winnerCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 2846, + "src": "12635:21:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31", + "id": 5474, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12685:1:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5471, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5404, + "src": "12659:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5472, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "winnerCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 2846, + "src": "12659:21:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5473, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 3773, + "src": "12659:25:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 5475, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12659:28:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12635:52:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5477, + "nodeType": "ExpressionStatement", + "src": "12635:52:18" + } + ] + } + } + ] + }, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5438, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5434, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5431, + "src": "12340:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5435, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5404, + "src": "12342:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5436, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "contributors", + "nodeType": "MemberAccess", + "referencedDeclaration": 2849, + "src": "12342:22:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 5437, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "12342:29:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12340:31:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 5481, + "initializationExpression": { + "assignments": [ + 5431 + ], + "declarations": [ + { + "constant": false, + "id": 5431, + "name": "i", + "nodeType": "VariableDeclaration", + "scope": 5525, + "src": "12325:9:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5430, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "12325:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5433, + "initialValue": { + "argumentTypes": null, + "hexValue": "30", + "id": 5432, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12337:1:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "12325:13:18" + }, + "loopExpression": { + "expression": { + "argumentTypes": null, + "id": 5440, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": true, + "src": "12373:3:18", + "subExpression": { + "argumentTypes": null, + "id": 5439, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5431, + "src": "12375:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5441, + "nodeType": "ExpressionStatement", + "src": "12373:3:18" + }, + "nodeType": "ForStatement", + "src": "12320:377:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5486, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5483, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5404, + "src": "12708:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5484, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "winnerCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 2846, + "src": "12708:21:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 5485, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12732:1:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "12708:25:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5482, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "12700:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5487, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12700:34:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5488, + "nodeType": "ExpressionStatement", + "src": "12700:34:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 5493, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5489, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5404, + "src": "12811:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5491, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "consensus", + "nodeType": "MemberAccess", + "referencedDeclaration": 2838, + "src": "12811:19:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 5492, + "name": "_consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5387, + "src": "12834:10:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "12811:33:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 5494, + "nodeType": "ExpressionStatement", + "src": "12811:33:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 5515, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5495, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5404, + "src": "12848:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5497, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "revealDate", + "nodeType": "MemberAccess", + "referencedDeclaration": 2840, + "src": "12848:20:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5513, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7010, + "src": "13037:3:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5510, + "name": "REVEAL_PERIOD_DURATION_RATIO", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4350, + "src": "13003:28:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5503, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5385, + "src": "12971:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 5502, + "name": "WorkOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4299, + "src": "12961:9:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_WorkOrder_$4299_$", + "typeString": "type(contract WorkOrder)" + } + }, + "id": 5504, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12961:16:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4299", + "typeString": "contract WorkOrder" + } + }, + "id": 5505, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_marketorderIdx", + "nodeType": "MemberAccess", + "referencedDeclaration": 4042, + "src": "12961:33:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", + "typeString": "function () view external returns (uint256)" + } + }, + "id": 5506, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12961:35:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 5500, + "name": "marketplaceInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3520, + "src": "12917:20:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_MarketplaceInterface_$3620", + "typeString": "contract MarketplaceInterface" + } + }, + "id": 5501, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getMarketOrderCategory", + "nodeType": "MemberAccess", + "referencedDeclaration": 3593, + "src": "12917:43:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) view external returns (uint256)" + } + }, + "id": 5507, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12917:80:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 5498, + "name": "iexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2441, + "src": "12871:17:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$2802", + "typeString": "contract IexecHubInterface" + } + }, + "id": 5499, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getCategoryWorkClockTimeRef", + "nodeType": "MemberAccess", + "referencedDeclaration": 2610, + "src": "12871:45:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) view external returns (uint256)" + } + }, + "id": 5508, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12871:127:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5509, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "mul", + "nodeType": "MemberAccess", + "referencedDeclaration": 3826, + "src": "12871:131:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 5511, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12871:161:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5512, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 3773, + "src": "12871:165:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 5514, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12871:170:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12848:193:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5516, + "nodeType": "ExpressionStatement", + "src": "12848:193:18" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5518, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5385, + "src": "13102:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 5519, + "name": "_consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5387, + "src": "13109:10:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 5517, + "name": "RevealConsensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4403, + "src": "13086:15:18", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_bytes32_$returns$__$", + "typeString": "function (address,bytes32)" + } + }, + "id": 5520, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13086:34:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5521, + "nodeType": "EmitStatement", + "src": "13081:39:18" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 5522, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13131:4:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 5393, + "id": 5523, + "nodeType": "Return", + "src": "13124:11:18" + } + ] + }, + "documentation": null, + "id": 5525, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 5390, + "modifierName": { + "argumentTypes": null, + "id": 5389, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3700, + "src": "12032:9:18", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "12032:9:18" + } + ], + "name": "revealConsensus", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5388, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5385, + "name": "_woid", + "nodeType": "VariableDeclaration", + "scope": 5525, + "src": "11990:13:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5384, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "11990:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5387, + "name": "_consensus", + "nodeType": "VariableDeclaration", + "scope": 5525, + "src": "12005:18:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 5386, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "12005:7:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "11989:35:18" + }, + "payable": false, + "returnParameters": { + "id": 5393, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5392, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 5525, + "src": "12068:4:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 5391, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "12068:4:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "12067:6:18" + }, + "scope": 6097, + "src": "11965:1174:18", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 5653, + "nodeType": "Block", + "src": "13213:964:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5537, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5527, + "src": "13259:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 5535, + "name": "iexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2441, + "src": "13225:17:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$2802", + "typeString": "contract IexecHubInterface" + } + }, + "id": 5536, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "isWoidRegistred", + "nodeType": "MemberAccess", + "referencedDeclaration": 2570, + "src": "13225:33:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_bool_$", + "typeString": "function (address) view external returns (bool)" + } + }, + "id": 5538, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13225:40:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5534, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "13217:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5539, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13217:49:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5540, + "nodeType": "ExpressionStatement", + "src": "13217:49:18" + }, + { + "assignments": [ + 5544 + ], + "declarations": [ + { + "constant": false, + "id": 5544, + "name": "consensus", + "nodeType": "VariableDeclaration", + "scope": 5654, + "src": "13270:39:18", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + }, + "typeName": { + "contractScope": null, + "id": 5543, + "name": "IexecLib.Consensus", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2854, + "src": "13270:18:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5548, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5545, + "name": "m_consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4341, + "src": "13315:11:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Consensus_$2854_storage_$", + "typeString": "mapping(address => struct IexecLib.Consensus storage ref)" + } + }, + "id": 5547, + "indexExpression": { + "argumentTypes": null, + "id": 5546, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5527, + "src": "13327:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "13315:18:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage", + "typeString": "struct IexecLib.Consensus storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "13270:63:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5553, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5550, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7010, + "src": "13345:3:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5551, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5544, + "src": "13352:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5552, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "consensusTimeout", + "nodeType": "MemberAccess", + "referencedDeclaration": 2844, + "src": "13352:26:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "13345:33:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5549, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "13337:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5554, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13337:42:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5555, + "nodeType": "ExpressionStatement", + "src": "13337:42:18" + }, + { + "assignments": [ + 5559 + ], + "declarations": [ + { + "constant": false, + "id": 5559, + "name": "contribution", + "nodeType": "VariableDeclaration", + "scope": 5654, + "src": "13383:42:18", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + }, + "typeName": { + "contractScope": null, + "id": 5558, + "name": "IexecLib.Contribution", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2873, + "src": "13383:21:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5566, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5560, + "name": "m_contributions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4347, + "src": "13428:15:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_Contribution_$2873_storage_$_$", + "typeString": "mapping(address => mapping(address => struct IexecLib.Contribution storage ref))" + } + }, + "id": 5562, + "indexExpression": { + "argumentTypes": null, + "id": 5561, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5527, + "src": "13444:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "13428:22:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Contribution_$2873_storage_$", + "typeString": "mapping(address => struct IexecLib.Contribution storage ref)" + } + }, + "id": 5565, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5563, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "13451:3:18", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5564, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "13451:10:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "13428:34:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2873_storage", + "typeString": "struct IexecLib.Contribution storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "13383:79:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + }, + "id": 5576, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5569, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5527, + "src": "13485:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 5568, + "name": "WorkOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4299, + "src": "13475:9:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_WorkOrder_$4299_$", + "typeString": "type(contract WorkOrder)" + } + }, + "id": 5570, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13475:16:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4299", + "typeString": "contract WorkOrder" + } + }, + "id": 5571, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "m_status", + "nodeType": "MemberAccess", + "referencedDeclaration": 4040, + "src": "13475:25:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_enum$_WorkOrderStatusEnum_$2832_$", + "typeString": "function () view external returns (enum IexecLib.WorkOrderStatusEnum)" + } + }, + "id": 5572, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13475:27:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5573, + "name": "IexecLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2893, + "src": "13506:8:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecLib_$2893_$", + "typeString": "type(library IexecLib)" + } + }, + "id": 5574, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "WorkOrderStatusEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 2832, + "src": "13506:28:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_WorkOrderStatusEnum_$2832_$", + "typeString": "type(enum IexecLib.WorkOrderStatusEnum)" + } + }, + "id": 5575, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "REVEALING", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "13506:38:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_WorkOrderStatusEnum_$2832", + "typeString": "enum IexecLib.WorkOrderStatusEnum" + } + }, + "src": "13475:69:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5567, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "13467:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5577, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13467:83:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5578, + "nodeType": "ExpressionStatement", + "src": "13467:83:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5583, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5580, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5544, + "src": "13562:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5581, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "revealDate", + "nodeType": "MemberAccess", + "referencedDeclaration": 2840, + "src": "13562:20:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "id": 5582, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7010, + "src": "13593:3:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "13562:34:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5579, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "13554:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5584, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13554:83:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5585, + "nodeType": "ExpressionStatement", + "src": "13554:83:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", + "typeString": "enum IexecLib.ContributionStatusEnum" + }, + "id": 5592, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5587, + "name": "contribution", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5559, + "src": "13649:12:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + } + }, + "id": 5588, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 2862, + "src": "13649:19:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", + "typeString": "enum IexecLib.ContributionStatusEnum" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5589, + "name": "IexecLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2893, + "src": "13680:8:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecLib_$2893_$", + "typeString": "type(library IexecLib)" + } + }, + "id": 5590, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "ContributionStatusEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 2860, + "src": "13680:31:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_ContributionStatusEnum_$2860_$", + "typeString": "type(enum IexecLib.ContributionStatusEnum)" + } + }, + "id": 5591, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "CONTRIBUTED", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "13680:43:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", + "typeString": "enum IexecLib.ContributionStatusEnum" + } + }, + "src": "13649:74:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5586, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "13641:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5593, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13641:83:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5594, + "nodeType": "ExpressionStatement", + "src": "13641:83:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 5600, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5596, + "name": "contribution", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5559, + "src": "13736:12:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + } + }, + "id": 5597, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "resultHash", + "nodeType": "MemberAccess", + "referencedDeclaration": 2864, + "src": "13736:23:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5598, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5544, + "src": "13767:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5599, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "consensus", + "nodeType": "MemberAccess", + "referencedDeclaration": 2838, + "src": "13767:19:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "13736:50:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5595, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "13728:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5601, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13728:83:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5602, + "nodeType": "ExpressionStatement", + "src": "13728:83:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 5609, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5604, + "name": "contribution", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5559, + "src": "13823:12:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + } + }, + "id": 5605, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "resultHash", + "nodeType": "MemberAccess", + "referencedDeclaration": 2864, + "src": "13823:23:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5607, + "name": "_result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5529, + "src": "13864:7:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 5606, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7002, + "src": "13854:9:18", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 5608, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13854:42:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "13823:73:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5603, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "13815:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5610, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13815:83:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5611, + "nodeType": "ExpressionStatement", + "src": "13815:83:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 5623, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5613, + "name": "contribution", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5559, + "src": "13910:12:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + } + }, + "id": 5614, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "resultSign", + "nodeType": "MemberAccess", + "referencedDeclaration": 2866, + "src": "13910:23:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 5621, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5616, + "name": "_result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5529, + "src": "13951:7:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "^", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5618, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "13971:3:18", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5619, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "13971:10:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 5617, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7002, + "src": "13961:9:18", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 5620, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13961:21:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "13951:31:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 5615, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7002, + "src": "13941:9:18", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 5622, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13941:42:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "13910:73:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5612, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "13902:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5624, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13902:83:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5625, + "nodeType": "ExpressionStatement", + "src": "13902:83:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 5632, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5626, + "name": "contribution", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5559, + "src": "13990:12:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + } + }, + "id": 5628, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 2862, + "src": "13990:19:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", + "typeString": "enum IexecLib.ContributionStatusEnum" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5629, + "name": "IexecLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2893, + "src": "14016:8:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecLib_$2893_$", + "typeString": "type(library IexecLib)" + } + }, + "id": 5630, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "ContributionStatusEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 2860, + "src": "14016:31:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_ContributionStatusEnum_$2860_$", + "typeString": "type(enum IexecLib.ContributionStatusEnum)" + } + }, + "id": 5631, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "PROVED", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "14016:38:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", + "typeString": "enum IexecLib.ContributionStatusEnum" + } + }, + "src": "13990:64:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", + "typeString": "enum IexecLib.ContributionStatusEnum" + } + }, + "id": 5633, + "nodeType": "ExpressionStatement", + "src": "13990:64:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 5642, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5634, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5544, + "src": "14058:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5636, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "revealCounter", + "nodeType": "MemberAccess", + "referencedDeclaration": 2842, + "src": "14058:23:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31", + "id": 5640, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14112:1:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5637, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5544, + "src": "14084:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5638, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "revealCounter", + "nodeType": "MemberAccess", + "referencedDeclaration": 2842, + "src": "14084:23:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5639, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 3773, + "src": "14084:27:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 5641, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14084:30:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "14058:56:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5643, + "nodeType": "ExpressionStatement", + "src": "14058:56:18" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5645, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5527, + "src": "14131:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5646, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "14138:3:18", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5647, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "14138:10:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 5648, + "name": "_result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5529, + "src": "14150:7:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 5644, + "name": "Reveal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4411, + "src": "14124:6:18", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$", + "typeString": "function (address,address,bytes32)" + } + }, + "id": 5649, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14124:34:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5650, + "nodeType": "EmitStatement", + "src": "14119:39:18" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 5651, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14169:4:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 5533, + "id": 5652, + "nodeType": "Return", + "src": "14162:11:18" + } + ] + }, + "documentation": null, + "id": 5654, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "reveal", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5530, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5527, + "name": "_woid", + "nodeType": "VariableDeclaration", + "scope": 5654, + "src": "13158:13:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5526, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "13158:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5529, + "name": "_result", + "nodeType": "VariableDeclaration", + "scope": 5654, + "src": "13173:15:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 5528, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "13173:7:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "13157:32:18" + }, + "payable": false, + "returnParameters": { + "id": 5533, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5532, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 5654, + "src": "13206:4:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 5531, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "13206:4:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "13205:6:18" + }, + "scope": 6097, + "src": "13142:1035:18", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 5772, + "nodeType": "Block", + "src": "14261:798:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5666, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5656, + "src": "14307:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 5664, + "name": "iexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2441, + "src": "14273:17:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$2802", + "typeString": "contract IexecHubInterface" + } + }, + "id": 5665, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "isWoidRegistred", + "nodeType": "MemberAccess", + "referencedDeclaration": 2570, + "src": "14273:33:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_bool_$", + "typeString": "function (address) view external returns (bool)" + } + }, + "id": 5667, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14273:40:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5663, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "14265:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5668, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14265:49:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5669, + "nodeType": "ExpressionStatement", + "src": "14265:49:18" + }, + { + "assignments": [ + 5673 + ], + "declarations": [ + { + "constant": false, + "id": 5673, + "name": "consensus", + "nodeType": "VariableDeclaration", + "scope": 5773, + "src": "14318:36:18", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + }, + "typeName": { + "contractScope": null, + "id": 5672, + "name": "IexecLib.Consensus", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2854, + "src": "14318:18:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5677, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5674, + "name": "m_consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4341, + "src": "14357:11:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Consensus_$2854_storage_$", + "typeString": "mapping(address => struct IexecLib.Consensus storage ref)" + } + }, + "id": 5676, + "indexExpression": { + "argumentTypes": null, + "id": 5675, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5656, + "src": "14369:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14357:18:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage", + "typeString": "struct IexecLib.Consensus storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "14318:57:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5682, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5679, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7010, + "src": "14387:3:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5680, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5673, + "src": "14394:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5681, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "consensusTimeout", + "nodeType": "MemberAccess", + "referencedDeclaration": 2844, + "src": "14394:26:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "14387:33:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5678, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "14379:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5683, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14379:42:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5684, + "nodeType": "ExpressionStatement", + "src": "14379:42:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 5694, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5689, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5686, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5673, + "src": "14433:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5687, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "revealDate", + "nodeType": "MemberAccess", + "referencedDeclaration": 2840, + "src": "14433:20:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "argumentTypes": null, + "id": 5688, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7010, + "src": "14457:3:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "14433:27:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5693, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5690, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5673, + "src": "14464:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5691, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "revealCounter", + "nodeType": "MemberAccess", + "referencedDeclaration": 2842, + "src": "14464:23:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 5692, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14491:1:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "14464:28:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "14433:59:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5685, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "14425:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5695, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14425:68:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5696, + "nodeType": "ExpressionStatement", + "src": "14425:68:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5699, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5656, + "src": "14515:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 5698, + "name": "WorkOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4299, + "src": "14505:9:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_WorkOrder_$4299_$", + "typeString": "type(contract WorkOrder)" + } + }, + "id": 5700, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14505:16:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkOrder_$4299", + "typeString": "contract WorkOrder" + } + }, + "id": 5701, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "reActivate", + "nodeType": "MemberAccess", + "referencedDeclaration": 4220, + "src": "14505:27:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$__$returns$_t_bool_$", + "typeString": "function () external returns (bool)" + } + }, + "id": 5702, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14505:29:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5697, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "14497:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5703, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14497:38:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5704, + "nodeType": "ExpressionStatement", + "src": "14497:38:18" + }, + { + "body": { + "id": 5746, + "nodeType": "Block", + "src": "14602:206:18", + "statements": [ + { + "assignments": [ + 5718 + ], + "declarations": [ + { + "constant": false, + "id": 5718, + "name": "w", + "nodeType": "VariableDeclaration", + "scope": 5773, + "src": "14607:9:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5717, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "14607:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5723, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5719, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5673, + "src": "14619:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5720, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "contributors", + "nodeType": "MemberAccess", + "referencedDeclaration": 2849, + "src": "14619:22:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 5722, + "indexExpression": { + "argumentTypes": null, + "id": 5721, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5706, + "src": "14642:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14619:25:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "14607:37:18" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 5732, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5724, + "name": "m_contributions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4347, + "src": "14653:15:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_Contribution_$2873_storage_$_$", + "typeString": "mapping(address => mapping(address => struct IexecLib.Contribution storage ref))" + } + }, + "id": 5726, + "indexExpression": { + "argumentTypes": null, + "id": 5725, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5656, + "src": "14669:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14653:22:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Contribution_$2873_storage_$", + "typeString": "mapping(address => struct IexecLib.Contribution storage ref)" + } + }, + "id": 5728, + "indexExpression": { + "argumentTypes": null, + "id": 5727, + "name": "w", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5718, + "src": "14676:1:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14653:25:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2873_storage", + "typeString": "struct IexecLib.Contribution storage ref" + } + }, + "id": 5729, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "resultHash", + "nodeType": "MemberAccess", + "referencedDeclaration": 2864, + "src": "14653:36:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5730, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5673, + "src": "14693:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5731, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "consensus", + "nodeType": "MemberAccess", + "referencedDeclaration": 2838, + "src": "14693:19:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "14653:59:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 5745, + "nodeType": "IfStatement", + "src": "14649:155:18", + "trueBody": { + "id": 5744, + "nodeType": "Block", + "src": "14717:87:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 5742, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5733, + "name": "m_contributions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4347, + "src": "14723:15:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_Contribution_$2873_storage_$_$", + "typeString": "mapping(address => mapping(address => struct IexecLib.Contribution storage ref))" + } + }, + "id": 5736, + "indexExpression": { + "argumentTypes": null, + "id": 5734, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5656, + "src": "14739:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14723:22:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Contribution_$2873_storage_$", + "typeString": "mapping(address => struct IexecLib.Contribution storage ref)" + } + }, + "id": 5737, + "indexExpression": { + "argumentTypes": null, + "id": 5735, + "name": "w", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5718, + "src": "14746:1:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14723:25:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2873_storage", + "typeString": "struct IexecLib.Contribution storage ref" + } + }, + "id": 5738, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 2862, + "src": "14723:32:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", + "typeString": "enum IexecLib.ContributionStatusEnum" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5739, + "name": "IexecLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2893, + "src": "14758:8:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecLib_$2893_$", + "typeString": "type(library IexecLib)" + } + }, + "id": 5740, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "ContributionStatusEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 2860, + "src": "14758:31:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_ContributionStatusEnum_$2860_$", + "typeString": "type(enum IexecLib.ContributionStatusEnum)" + } + }, + "id": 5741, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "REJECTED", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "14758:40:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", + "typeString": "enum IexecLib.ContributionStatusEnum" + } + }, + "src": "14723:75:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", + "typeString": "enum IexecLib.ContributionStatusEnum" + } + }, + "id": 5743, + "nodeType": "ExpressionStatement", + "src": "14723:75:18" + } + ] + } + } + ] + }, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5713, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5709, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5706, + "src": "14560:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5710, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5673, + "src": "14564:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5711, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "contributors", + "nodeType": "MemberAccess", + "referencedDeclaration": 2849, + "src": "14564:22:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 5712, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "14564:29:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "14560:33:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 5747, + "initializationExpression": { + "assignments": [ + 5706 + ], + "declarations": [ + { + "constant": false, + "id": 5706, + "name": "i", + "nodeType": "VariableDeclaration", + "scope": 5773, + "src": "14545:9:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5705, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "14545:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5708, + "initialValue": { + "argumentTypes": null, + "hexValue": "30", + "id": 5707, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14557:1:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "14545:13:18" + }, + "loopExpression": { + "expression": { + "argumentTypes": null, + "id": 5715, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": true, + "src": "14595:3:18", + "subExpression": { + "argumentTypes": null, + "id": 5714, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5706, + "src": "14597:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5716, + "nodeType": "ExpressionStatement", + "src": "14595:3:18" + }, + "nodeType": "ForStatement", + "src": "14540:268:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 5752, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5748, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5673, + "src": "14933:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5750, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "winnerCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 2846, + "src": "14933:21:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "30", + "id": 5751, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14957:1:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "14933:25:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5753, + "nodeType": "ExpressionStatement", + "src": "14933:25:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 5758, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5754, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5673, + "src": "14962:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5756, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "consensus", + "nodeType": "MemberAccess", + "referencedDeclaration": 2838, + "src": "14962:19:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "307830", + "id": 5757, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14986:3:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + }, + "src": "14962:27:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 5759, + "nodeType": "ExpressionStatement", + "src": "14962:27:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 5764, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5760, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5673, + "src": "14993:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5762, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "revealDate", + "nodeType": "MemberAccess", + "referencedDeclaration": 2840, + "src": "14993:20:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "30", + "id": 5763, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15017:1:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "14993:25:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5765, + "nodeType": "ExpressionStatement", + "src": "14993:25:18" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5767, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5656, + "src": "15034:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 5766, + "name": "Reopen", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4415, + "src": "15027:6:18", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 5768, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15027:13:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5769, + "nodeType": "EmitStatement", + "src": "15022:18:18" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 5770, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15051:4:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 5662, + "id": 5771, + "nodeType": "Return", + "src": "15044:11:18" + } + ] + }, + "documentation": null, + "id": 5773, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 5659, + "modifierName": { + "argumentTypes": null, + "id": 5658, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3700, + "src": "14218:9:18", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "14218:9:18" + } + ], + "name": "reopen", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5657, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5656, + "name": "_woid", + "nodeType": "VariableDeclaration", + "scope": 5773, + "src": "14196:13:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5655, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "14196:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "14195:15:18" + }, + "payable": false, + "returnParameters": { + "id": 5662, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5661, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 5773, + "src": "14254:4:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 5660, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "14254:4:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "14253:6:18" + }, + "scope": 6097, + "src": "14180:879:18", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 5856, + "nodeType": "Block", + "src": "15296:612:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5791, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5775, + "src": "15342:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 5789, + "name": "iexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2441, + "src": "15308:17:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$2802", + "typeString": "contract IexecHubInterface" + } + }, + "id": 5790, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "isWoidRegistred", + "nodeType": "MemberAccess", + "referencedDeclaration": 2570, + "src": "15308:33:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_bool_$", + "typeString": "function (address) view external returns (bool)" + } + }, + "id": 5792, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15308:40:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5788, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "15300:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5793, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15300:49:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5794, + "nodeType": "ExpressionStatement", + "src": "15300:49:18" + }, + { + "assignments": [ + 5798 + ], + "declarations": [ + { + "constant": false, + "id": 5798, + "name": "consensus", + "nodeType": "VariableDeclaration", + "scope": 5857, + "src": "15353:36:18", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + }, + "typeName": { + "contractScope": null, + "id": 5797, + "name": "IexecLib.Consensus", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2854, + "src": "15353:18:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5802, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5799, + "name": "m_consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4341, + "src": "15392:11:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Consensus_$2854_storage_$", + "typeString": "mapping(address => struct IexecLib.Consensus storage ref)" + } + }, + "id": 5801, + "indexExpression": { + "argumentTypes": null, + "id": 5800, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5775, + "src": "15404:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "15392:18:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage", + "typeString": "struct IexecLib.Consensus storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "15353:57:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5807, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5804, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7010, + "src": "15422:3:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5805, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5798, + "src": "15429:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5806, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "consensusTimeout", + "nodeType": "MemberAccess", + "referencedDeclaration": 2844, + "src": "15429:26:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "15422:33:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5803, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "15414:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5808, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15414:42:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5809, + "nodeType": "ExpressionStatement", + "src": "15414:42:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 5827, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 5819, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5814, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5811, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5798, + "src": "15469:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5812, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "revealDate", + "nodeType": "MemberAccess", + "referencedDeclaration": 2840, + "src": "15469:20:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "argumentTypes": null, + "id": 5813, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7010, + "src": "15493:3:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "15469:27:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5818, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5815, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5798, + "src": "15500:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5816, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "revealCounter", + "nodeType": "MemberAccess", + "referencedDeclaration": 2842, + "src": "15500:23:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 5817, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15526:1:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "15500:27:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "15469:58:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 5820, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "15468:60:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5825, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5821, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5798, + "src": "15533:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5822, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "revealCounter", + "nodeType": "MemberAccess", + "referencedDeclaration": 2842, + "src": "15533:23:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5823, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5798, + "src": "15560:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "id": 5824, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "winnerCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 2846, + "src": "15560:21:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "15533:48:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 5826, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "15532:50:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "15468:114:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5810, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "15460:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5828, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15460:123:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5829, + "nodeType": "ExpressionStatement", + "src": "15460:123:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5832, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5775, + "src": "15742:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 5833, + "name": "consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5798, + "src": "15749:9:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + ], + "id": 5831, + "name": "distributeRewards", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6096, + "src": "15724:17:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_struct$_Consensus_$2854_memory_ptr_$returns$_t_bool_$", + "typeString": "function (address,struct IexecLib.Consensus memory) returns (bool)" + } + }, + "id": 5834, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15724:35:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5830, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "15716:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5835, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15716:44:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5836, + "nodeType": "ExpressionStatement", + "src": "15716:44:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5840, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5775, + "src": "15809:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 5841, + "name": "_stdout", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5777, + "src": "15816:7:18", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "id": 5842, + "name": "_stderr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5779, + "src": "15825:7:18", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "id": 5843, + "name": "_uri", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5781, + "src": "15834:4:18", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "argumentTypes": null, + "id": 5838, + "name": "iexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2441, + "src": "15773:17:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$2802", + "typeString": "contract IexecHubInterface" + } + }, + "id": 5839, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "finalizeWorkOrder", + "nodeType": "MemberAccess", + "referencedDeclaration": 2603, + "src": "15773:35:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$", + "typeString": "function (address,string memory,string memory,string memory) external returns (bool)" + } + }, + "id": 5844, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15773:66:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5837, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "15765:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5845, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15765:75:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5846, + "nodeType": "ExpressionStatement", + "src": "15765:75:18" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5848, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5775, + "src": "15862:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 5849, + "name": "_stdout", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5777, + "src": "15868:7:18", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "id": 5850, + "name": "_stderr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5779, + "src": "15876:7:18", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "id": 5851, + "name": "_uri", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5781, + "src": "15884:4:18", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 5847, + "name": "FinalizeWork", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4425, + "src": "15849:12:18", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (address,string memory,string memory,string memory)" + } + }, + "id": 5852, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15849:40:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5853, + "nodeType": "EmitStatement", + "src": "15844:45:18" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 5854, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15900:4:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 5787, + "id": 5855, + "nodeType": "Return", + "src": "15893:11:18" + } + ] + }, + "documentation": null, + "id": 5857, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 5784, + "modifierName": { + "argumentTypes": null, + "id": 5783, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3700, + "src": "15253:9:18", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "15253:9:18" + } + ], + "name": "finalizeWork", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5782, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5775, + "name": "_woid", + "nodeType": "VariableDeclaration", + "scope": 5857, + "src": "15186:13:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5774, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "15186:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5777, + "name": "_stdout", + "nodeType": "VariableDeclaration", + "scope": 5857, + "src": "15201:14:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 5776, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "15201:6:18", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5779, + "name": "_stderr", + "nodeType": "VariableDeclaration", + "scope": 5857, + "src": "15217:14:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 5778, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "15217:6:18", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5781, + "name": "_uri", + "nodeType": "VariableDeclaration", + "scope": 5857, + "src": "15233:11:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + "typeName": { + "id": 5780, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "15233:6:18", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "15185:60:18" + }, + "payable": false, + "returnParameters": { + "id": 5787, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5786, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 5857, + "src": "15289:4:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 5785, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "15289:4:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "15288:6:18" + }, + "scope": 6097, + "src": "15164:744:18", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 6095, + "nodeType": "Block", + "src": "16009:1934:18", + "statements": [ + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 5867, + "name": "i", + "nodeType": "VariableDeclaration", + "scope": 6096, + "src": "16013:9:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5866, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "16013:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5868, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "16013:9:18" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 5870, + "name": "w", + "nodeType": "VariableDeclaration", + "scope": 6096, + "src": "16026:9:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5869, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "16026:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5871, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "16026:9:18" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 5873, + "name": "workerBonus", + "nodeType": "VariableDeclaration", + "scope": 6096, + "src": "16039:19:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5872, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "16039:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5874, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "16039:19:18" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 5876, + "name": "workerWeight", + "nodeType": "VariableDeclaration", + "scope": 6096, + "src": "16062:20:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5875, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "16062:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5877, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "16062:20:18" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 5879, + "name": "totalWeight", + "nodeType": "VariableDeclaration", + "scope": 6096, + "src": "16086:19:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5878, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "16086:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5880, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "16086:19:18" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 5882, + "name": "individualWorkerReward", + "nodeType": "VariableDeclaration", + "scope": 6096, + "src": "16109:30:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5881, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "16109:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5883, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "16109:30:18" + }, + { + "assignments": [ + 5885 + ], + "declarations": [ + { + "constant": false, + "id": 5885, + "name": "totalReward", + "nodeType": "VariableDeclaration", + "scope": 6096, + "src": "16143:19:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5884, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "16143:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5888, + "initialValue": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5886, + "name": "_consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5861, + "src": "16165:10:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_memory_ptr", + "typeString": "struct IexecLib.Consensus memory" + } + }, + "id": 5887, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "poolReward", + "nodeType": "MemberAccess", + "referencedDeclaration": 2834, + "src": "16165:21:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "16143:43:18" + }, + { + "assignments": [ + 5892 + ], + "declarations": [ + { + "constant": false, + "id": 5892, + "name": "contributors", + "nodeType": "VariableDeclaration", + "scope": 6096, + "src": "16190:29:18", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + }, + "typeName": { + "baseType": { + "id": 5890, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "16190:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 5891, + "length": null, + "nodeType": "ArrayTypeName", + "src": "16190:9:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[] storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5895, + "initialValue": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5893, + "name": "_consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5861, + "src": "16222:10:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_memory_ptr", + "typeString": "struct IexecLib.Consensus memory" + } + }, + "id": 5894, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "contributors", + "nodeType": "MemberAccess", + "referencedDeclaration": 2849, + "src": "16222:23:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory", + "typeString": "address[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "16190:55:18" + }, + { + "body": { + "id": 5978, + "nodeType": "Block", + "src": "16291:590:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 5911, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 5907, + "name": "w", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5870, + "src": "16296:1:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5908, + "name": "contributors", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5892, + "src": "16300:12:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 5910, + "indexExpression": { + "argumentTypes": null, + "id": 5909, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5867, + "src": "16313:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16300:15:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "16296:19:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 5912, + "nodeType": "ExpressionStatement", + "src": "16296:19:18" + }, + { + "assignments": [ + 5916 + ], + "declarations": [ + { + "constant": false, + "id": 5916, + "name": "c", + "nodeType": "VariableDeclaration", + "scope": 6096, + "src": "16320:31:18", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + }, + "typeName": { + "contractScope": null, + "id": 5915, + "name": "IexecLib.Contribution", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2873, + "src": "16320:21:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5922, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5917, + "name": "m_contributions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4347, + "src": "16354:15:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_Contribution_$2873_storage_$_$", + "typeString": "mapping(address => mapping(address => struct IexecLib.Contribution storage ref))" + } + }, + "id": 5919, + "indexExpression": { + "argumentTypes": null, + "id": 5918, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5859, + "src": "16370:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16354:22:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Contribution_$2873_storage_$", + "typeString": "mapping(address => struct IexecLib.Contribution storage ref)" + } + }, + "id": 5921, + "indexExpression": { + "argumentTypes": null, + "id": 5920, + "name": "w", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5870, + "src": "16377:1:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16354:25:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2873_storage", + "typeString": "struct IexecLib.Contribution storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "16320:59:18" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", + "typeString": "enum IexecLib.ContributionStatusEnum" + }, + "id": 5928, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5923, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5916, + "src": "16388:1:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + } + }, + "id": 5924, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 2862, + "src": "16388:8:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", + "typeString": "enum IexecLib.ContributionStatusEnum" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5925, + "name": "IexecLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2893, + "src": "16400:8:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecLib_$2893_$", + "typeString": "type(library IexecLib)" + } + }, + "id": 5926, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "ContributionStatusEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 2860, + "src": "16400:31:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_ContributionStatusEnum_$2860_$", + "typeString": "type(enum IexecLib.ContributionStatusEnum)" + } + }, + "id": 5927, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "PROVED", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "16400:38:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", + "typeString": "enum IexecLib.ContributionStatusEnum" + } + }, + "src": "16388:50:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 5976, + "nodeType": "Block", + "src": "16812:65:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 5974, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 5968, + "name": "totalReward", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5885, + "src": "16818:11:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5971, + "name": "_consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5861, + "src": "16848:10:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_memory_ptr", + "typeString": "struct IexecLib.Consensus memory" + } + }, + "id": 5972, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "stakeAmount", + "nodeType": "MemberAccess", + "referencedDeclaration": 2836, + "src": "16848:22:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 5969, + "name": "totalReward", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5885, + "src": "16832:11:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5970, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 3773, + "src": "16832:15:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 5973, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16832:39:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "16818:53:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5975, + "nodeType": "ExpressionStatement", + "src": "16818:53:18" + } + ] + }, + "id": 5977, + "nodeType": "IfStatement", + "src": "16384:493:18", + "trueBody": { + "id": 5967, + "nodeType": "Block", + "src": "16443:271:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 5940, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 5929, + "name": "workerBonus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5873, + "src": "16449:11:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "condition": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 5935, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5930, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5916, + "src": "16465:1:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + } + }, + "id": 5931, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "enclaveChallenge", + "nodeType": "MemberAccess", + "referencedDeclaration": 2868, + "src": "16465:18:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 5933, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16495:1:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 5932, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "16487:7:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 5934, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16487:10:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "16465:32:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 5936, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "16464:34:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "argumentTypes": null, + "hexValue": "31", + "id": 5938, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16505:1:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "id": 5939, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "16464:42:18", + "trueExpression": { + "argumentTypes": null, + "hexValue": "33", + "id": 5937, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16501:1:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + }, + "value": "3" + }, + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "src": "16449:57:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5941, + "nodeType": "ExpressionStatement", + "src": "16449:57:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 5952, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 5942, + "name": "workerWeight", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5876, + "src": "16537:12:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5951, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "hexValue": "31", + "id": 5943, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16552:1:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5947, + "name": "workerBonus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5873, + "src": "16568:11:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5944, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5916, + "src": "16556:1:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + } + }, + "id": 5945, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "score", + "nodeType": "MemberAccess", + "referencedDeclaration": 2870, + "src": "16556:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5946, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "mul", + "nodeType": "MemberAccess", + "referencedDeclaration": 3826, + "src": "16556:11:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 5948, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16556:24:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5949, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "log", + "nodeType": "MemberAccess", + "referencedDeclaration": 3923, + "src": "16556:28:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + } + }, + "id": 5950, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16556:30:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "16552:34:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "16537:49:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5953, + "nodeType": "ExpressionStatement", + "src": "16537:49:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 5959, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 5954, + "name": "totalWeight", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5879, + "src": "16592:11:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5957, + "name": "workerWeight", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5876, + "src": "16623:12:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 5955, + "name": "totalWeight", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5879, + "src": "16607:11:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5956, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 3773, + "src": "16607:15:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 5958, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16607:29:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "16592:44:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5960, + "nodeType": "ExpressionStatement", + "src": "16592:44:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 5965, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5961, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5916, + "src": "16642:1:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2873_storage_ptr", + "typeString": "struct IexecLib.Contribution storage pointer" + } + }, + "id": 5963, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "weight", + "nodeType": "MemberAccess", + "referencedDeclaration": 2872, + "src": "16642:8:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 5964, + "name": "workerWeight", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5876, + "src": "16657:12:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "16642:27:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5966, + "nodeType": "ExpressionStatement", + "src": "16642:27:18" + } + ] + } + } + ] + }, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5903, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5900, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5867, + "src": "16261:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5901, + "name": "contributors", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5892, + "src": "16263:12:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 5902, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "16263:19:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "16261:21:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 5979, + "initializationExpression": { + "expression": { + "argumentTypes": null, + "id": 5898, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 5896, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5867, + "src": "16254:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "30", + "id": 5897, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16258:1:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "16254:5:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5899, + "nodeType": "ExpressionStatement", + "src": "16254:5:18" + }, + "loopExpression": { + "expression": { + "argumentTypes": null, + "id": 5905, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": true, + "src": "16284:3:18", + "subExpression": { + "argumentTypes": null, + "id": 5904, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5867, + "src": "16286:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5906, + "nodeType": "ExpressionStatement", + "src": "16284:3:18" + }, + "nodeType": "ForStatement", + "src": "16249:632:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5983, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5981, + "name": "totalWeight", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5879, + "src": "16892:11:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 5982, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16906:1:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "16892:15:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5980, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "16884:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5984, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16884:24:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5985, + "nodeType": "ExpressionStatement", + "src": "16884:24:18" + }, + { + "assignments": [ + 5987 + ], + "declarations": [ + { + "constant": false, + "id": 5987, + "name": "totalWorkersReward", + "nodeType": "VariableDeclaration", + "scope": 6096, + "src": "16959:26:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5986, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "16959:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5998, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5994, + "name": "_consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5861, + "src": "17028:10:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_memory_ptr", + "typeString": "struct IexecLib.Consensus memory" + } + }, + "id": 5995, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "schedulerRewardRatioPolicy", + "nodeType": "MemberAccess", + "referencedDeclaration": 2853, + "src": "17028:37:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "313030", + "id": 5991, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "17019:3:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_100_by_1", + "typeString": "int_const 100" + }, + "value": "100" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_100_by_1", + "typeString": "int_const 100" + } + ], + "id": 5990, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "17011:7:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": "uint256" + }, + "id": 5992, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17011:12:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5993, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 3793, + "src": "17011:16:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 5996, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17011:55:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 5988, + "name": "totalReward", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5885, + "src": "16988:11:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5989, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "percentage", + "nodeType": "MemberAccess", + "referencedDeclaration": 3914, + "src": "16988:22:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 5997, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16988:79:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "16959:108:18" + }, + { + "body": { + "id": 6080, + "nodeType": "Block", + "src": "17114:661:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 6014, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 6010, + "name": "w", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5870, + "src": "17119:1:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6011, + "name": "contributors", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5892, + "src": "17123:12:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 6013, + "indexExpression": { + "argumentTypes": null, + "id": 6012, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5867, + "src": "17136:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "17123:15:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "17119:19:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 6015, + "nodeType": "ExpressionStatement", + "src": "17119:19:18" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", + "typeString": "enum IexecLib.ContributionStatusEnum" + }, + "id": 6025, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6016, + "name": "m_contributions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4347, + "src": "17147:15:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_Contribution_$2873_storage_$_$", + "typeString": "mapping(address => mapping(address => struct IexecLib.Contribution storage ref))" + } + }, + "id": 6018, + "indexExpression": { + "argumentTypes": null, + "id": 6017, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5859, + "src": "17163:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "17147:22:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Contribution_$2873_storage_$", + "typeString": "mapping(address => struct IexecLib.Contribution storage ref)" + } + }, + "id": 6020, + "indexExpression": { + "argumentTypes": null, + "id": 6019, + "name": "w", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5870, + "src": "17170:1:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "17147:25:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2873_storage", + "typeString": "struct IexecLib.Contribution storage ref" + } + }, + "id": 6021, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 2862, + "src": "17147:32:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", + "typeString": "enum IexecLib.ContributionStatusEnum" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6022, + "name": "IexecLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2893, + "src": "17183:8:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecLib_$2893_$", + "typeString": "type(library IexecLib)" + } + }, + "id": 6023, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "ContributionStatusEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 2860, + "src": "17183:31:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_ContributionStatusEnum_$2860_$", + "typeString": "type(enum IexecLib.ContributionStatusEnum)" + } + }, + "id": 6024, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "PROVED", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "17183:38:18", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$2860", + "typeString": "enum IexecLib.ContributionStatusEnum" + } + }, + "src": "17147:74:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 6078, + "nodeType": "Block", + "src": "17663:108:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6070, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5859, + "src": "17708:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 6071, + "name": "w", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5870, + "src": "17715:1:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6072, + "name": "_consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5861, + "src": "17718:10:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_memory_ptr", + "typeString": "struct IexecLib.Consensus memory" + } + }, + "id": 6073, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "stakeAmount", + "nodeType": "MemberAccess", + "referencedDeclaration": 2836, + "src": "17718:22:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "74727565", + "id": 6074, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "17742:4:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "argumentTypes": null, + "id": 6068, + "name": "iexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2441, + "src": "17677:17:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$2802", + "typeString": "contract IexecHubInterface" + } + }, + "id": 6069, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "seizeForWork", + "nodeType": "MemberAccess", + "referencedDeclaration": 2742, + "src": "17677:30:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bool_$returns$_t_bool_$", + "typeString": "function (address,address,uint256,bool) external returns (bool)" + } + }, + "id": 6075, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17677:70:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 6067, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "17669:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 6076, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17669:79:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6077, + "nodeType": "ExpressionStatement", + "src": "17669:79:18" + } + ] + }, + "id": 6079, + "nodeType": "IfStatement", + "src": "17143:628:18", + "trueBody": { + "id": 6066, + "nodeType": "Block", + "src": "17226:342:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 6037, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 6026, + "name": "individualWorkerReward", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5882, + "src": "17232:22:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6029, + "name": "m_contributions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4347, + "src": "17290:15:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_Contribution_$2873_storage_$_$", + "typeString": "mapping(address => mapping(address => struct IexecLib.Contribution storage ref))" + } + }, + "id": 6031, + "indexExpression": { + "argumentTypes": null, + "id": 6030, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5859, + "src": "17306:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "17290:22:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Contribution_$2873_storage_$", + "typeString": "mapping(address => struct IexecLib.Contribution storage ref)" + } + }, + "id": 6033, + "indexExpression": { + "argumentTypes": null, + "id": 6032, + "name": "w", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5870, + "src": "17313:1:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "17290:25:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$2873_storage", + "typeString": "struct IexecLib.Contribution storage ref" + } + }, + "id": 6034, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "weight", + "nodeType": "MemberAccess", + "referencedDeclaration": 2872, + "src": "17290:32:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 6035, + "name": "totalWeight", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5879, + "src": "17324:11:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 6027, + "name": "totalWorkersReward", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5987, + "src": "17257:18:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6028, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "mulByFraction", + "nodeType": "MemberAccess", + "referencedDeclaration": 3898, + "src": "17257:32:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" + } + }, + "id": 6036, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17257:79:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "17232:104:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6038, + "nodeType": "ExpressionStatement", + "src": "17232:104:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 6044, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 6039, + "name": "totalReward", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5885, + "src": "17342:11:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6042, + "name": "individualWorkerReward", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5882, + "src": "17373:22:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 6040, + "name": "totalReward", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5885, + "src": "17357:11:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6041, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 3793, + "src": "17357:15:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 6043, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17357:39:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "17342:54:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6045, + "nodeType": "ExpressionStatement", + "src": "17342:54:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6049, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5859, + "src": "17442:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 6050, + "name": "w", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5870, + "src": "17449:1:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6051, + "name": "_consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5861, + "src": "17452:10:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_memory_ptr", + "typeString": "struct IexecLib.Consensus memory" + } + }, + "id": 6052, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "stakeAmount", + "nodeType": "MemberAccess", + "referencedDeclaration": 2836, + "src": "17452:22:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 6047, + "name": "iexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2441, + "src": "17410:17:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$2802", + "typeString": "contract IexecHubInterface" + } + }, + "id": 6048, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "unlockForWork", + "nodeType": "MemberAccess", + "referencedDeclaration": 2716, + "src": "17410:31:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,address,uint256) external returns (bool)" + } + }, + "id": 6053, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17410:65:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 6046, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "17402:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 6054, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17402:74:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6055, + "nodeType": "ExpressionStatement", + "src": "17402:74:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6059, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5859, + "src": "17522:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 6060, + "name": "w", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5870, + "src": "17529:1:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 6061, + "name": "individualWorkerReward", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5882, + "src": "17532:22:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "74727565", + "id": 6062, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "17556:4:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "argumentTypes": null, + "id": 6057, + "name": "iexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2441, + "src": "17490:17:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$2802", + "typeString": "contract IexecHubInterface" + } + }, + "id": 6058, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "rewardForWork", + "nodeType": "MemberAccess", + "referencedDeclaration": 2729, + "src": "17490:31:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bool_$returns$_t_bool_$", + "typeString": "function (address,address,uint256,bool) external returns (bool)" + } + }, + "id": 6063, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17490:71:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 6056, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "17482:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 6064, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17482:80:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6065, + "nodeType": "ExpressionStatement", + "src": "17482:80:18" + } + ] + } + } + ] + }, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6006, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 6003, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5867, + "src": "17084:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6004, + "name": "contributors", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5892, + "src": "17086:12:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 6005, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "17086:19:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "17084:21:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 6081, + "initializationExpression": { + "expression": { + "argumentTypes": null, + "id": 6001, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 5999, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5867, + "src": "17077:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "30", + "id": 6000, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "17081:1:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "17077:5:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6002, + "nodeType": "ExpressionStatement", + "src": "17077:5:18" + }, + "loopExpression": { + "expression": { + "argumentTypes": null, + "id": 6008, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": true, + "src": "17107:3:18", + "subExpression": { + "argumentTypes": null, + "id": 6007, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5867, + "src": "17109:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6009, + "nodeType": "ExpressionStatement", + "src": "17107:3:18" + }, + "nodeType": "ForStatement", + "src": "17072:703:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6085, + "name": "_woid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5859, + "src": "17868:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6086, + "name": "_consensus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5861, + "src": "17875:10:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_memory_ptr", + "typeString": "struct IexecLib.Consensus memory" + } + }, + "id": 6087, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "workerpoolOwner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2851, + "src": "17875:26:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 6088, + "name": "totalReward", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5885, + "src": "17903:11:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 6089, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "17916:5:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "argumentTypes": null, + "id": 6083, + "name": "iexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2441, + "src": "17836:17:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$2802", + "typeString": "contract IexecHubInterface" + } + }, + "id": 6084, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "rewardForWork", + "nodeType": "MemberAccess", + "referencedDeclaration": 2729, + "src": "17836:31:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bool_$returns$_t_bool_$", + "typeString": "function (address,address,uint256,bool) external returns (bool)" + } + }, + "id": 6090, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17836:86:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 6082, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "17828:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 6091, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17828:95:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6092, + "nodeType": "ExpressionStatement", + "src": "17828:95:18" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 6093, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "17935:4:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 5865, + "id": 6094, + "nodeType": "Return", + "src": "17928:11:18" + } + ] + }, + "documentation": null, + "id": 6096, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "distributeRewards", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5862, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5859, + "name": "_woid", + "nodeType": "VariableDeclaration", + "scope": 6096, + "src": "15938:13:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5858, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "15938:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5861, + "name": "_consensus", + "nodeType": "VariableDeclaration", + "scope": 6096, + "src": "15953:29:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_memory_ptr", + "typeString": "struct IexecLib.Consensus memory" + }, + "typeName": { + "contractScope": null, + "id": 5860, + "name": "IexecLib.Consensus", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2854, + "src": "15953:18:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Consensus_$2854_storage_ptr", + "typeString": "struct IexecLib.Consensus storage pointer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "15937:46:18" + }, + "payable": false, + "returnParameters": { + "id": 5865, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5864, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 6096, + "src": "16002:4:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 5863, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "16002:4:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "16001:6:18" + }, + "scope": 6097, + "src": "15911:2032:18", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + } + ], + "scope": 6098, + "src": "253:17693:18" + } + ], + "src": "0:17947:18" + }, + "compiler": { + "name": "solc", + "version": "0.4.21+commit.dfe3193c.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "2.0.0", + "updatedAt": "2018-06-12T14:56:21.152Z" +} \ No newline at end of file diff --git a/deployed/contracts/WorkerPoolHub.json b/deployed/contracts/WorkerPoolHub.json new file mode 100644 index 00000000..142f3c2f --- /dev/null +++ b/deployed/contracts/WorkerPoolHub.json @@ -0,0 +1,6498 @@ +{ + "contractName": "WorkerPoolHub", + "abi": [ + { + "constant": false, + "inputs": [ + { + "name": "_newOwner", + "type": "address" + } + ], + "name": "setImmutableOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "m_totalWorkerPoolCount", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "m_owner", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "m_changeable", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "constant": true, + "inputs": [ + { + "name": "_workerPool", + "type": "address" + } + ], + "name": "isWorkerPoolRegistered", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_owner", + "type": "address" + } + ], + "name": "getWorkerPoolsCount", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_owner", + "type": "address" + }, + { + "name": "_index", + "type": "uint256" + } + ], + "name": "getWorkerPool", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_index", + "type": "uint256" + } + ], + "name": "getWorkerPoolByIndex", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_worker", + "type": "address" + } + ], + "name": "getWorkerAffectation", + "outputs": [ + { + "name": "workerPool", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_description", + "type": "string" + }, + { + "name": "_subscriptionLockStakePolicy", + "type": "uint256" + }, + { + "name": "_subscriptionMinimumStakePolicy", + "type": "uint256" + }, + { + "name": "_subscriptionMinimumScorePolicy", + "type": "uint256" + }, + { + "name": "_marketplaceAddress", + "type": "address" + } + ], + "name": "createWorkerPool", + "outputs": [ + { + "name": "createdWorkerPool", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_workerPool", + "type": "address" + }, + { + "name": "_worker", + "type": "address" + } + ], + "name": "registerWorkerAffectation", + "outputs": [ + { + "name": "subscribed", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_workerPool", + "type": "address" + }, + { + "name": "_worker", + "type": "address" + } + ], + "name": "unregisterWorkerAffectation", + "outputs": [ + { + "name": "unsubscribed", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x6060604052341561000f57600080fd5b6000805474010000000000000000000000000000000000000000600160a060020a031990911633600160a060020a03161760a060020a60ff021916178155613a7d90819061005d90396000f3006060604052600436106100b95763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166301a08a8b81146100be5780630b00de8d146100fc5780631884c51714610135578063215bd3031461015a57806368c197dd1461018e57806369bee8a1146101ad578063bbac78a9146101de578063bc1013db146101ff578063d440c6f314610212578063dee3efb214610231578063deff41c114610247578063e21b9d081461025a575b600080fd5b34156100c957600080fd5b6100e0600160a060020a036004351660243561026d565b604051600160a060020a03909116815260200160405180910390f35b341561010757600080fd5b610121600160a060020a0360043581169060243516610295565b604051901515815260200160405180910390f35b341561014057600080fd5b610121600160a060020a0360043581169060243516610315565b341561016557600080fd5b6100e0602460048035828101929101359035604435606435600160a060020a0360843516610399565b341561019957600080fd5b610121600160a060020a0360043516610444565b34156101b857600080fd5b6101cc600160a060020a0360043516610462565b60405190815260200160405180910390f35b34156101e957600080fd5b6101fd600160a060020a036004351661047d565b005b341561020a57600080fd5b6101cc610559565b341561021d57600080fd5b6100e0600160a060020a036004351661055f565b341561023c57600080fd5b6100e060043561057d565b341561025257600080fd5b6100e0610598565b341561026557600080fd5b6101216105a7565b600160a060020a03918216600090815260036020908152604080832093835292905220541690565b6000805433600160a060020a039081169116146102b157600080fd5b600160a060020a038281166000908152600160205260409020548116908416146102da57600080fd5b50600160a060020a03166000908152600160208190526040909120805473ffffffffffffffffffffffffffffffffffffffff19169055919050565b6000805433600160a060020a0390811691161461033157600080fd5b600160a060020a03828116600090815260016020526040902054161561035657600080fd5b50600160a060020a039081166000908152600160208190526040909120805473ffffffffffffffffffffffffffffffffffffffff19169390921692909217905590565b60008054819033600160a060020a039081169116146103b757600080fd5b338888888888886103c66106a0565b600160a060020a038089168252604082018690526060820185905260808201849052821660a082015260c06020820181815290820187905260e08201888880828437820191505098505050505050505050604051809103906000f080151561042d57600080fd5b905061043932826105c8565b979650505050505050565b600160a060020a031660009081526004602052604090205460ff1690565b600160a060020a031660009081526002602052604090205490565b60005433600160a060020a0390811691161461049857600080fd5b60005474010000000000000000000000000000000000000000900460ff1615156104c157600080fd5b600160a060020a03811615156104d657600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911774ff000000000000000000000000000000000000000019169055565b60065481565b600160a060020a039081166000908152600160205260409020541690565b600090815260056020526040902054600160a060020a031690565b600054600160a060020a031681565b60005474010000000000000000000000000000000000000000900460ff1681565b600160a060020a0382166000908152600260205260408120546105f290600163ffffffff61068a16565b60065490915061060990600163ffffffff61068a16565b600681905560009081526005602090815260408083208054600160a060020a0396871673ffffffffffffffffffffffffffffffffffffffff199182168117909255969095168352600282528083208490556003825280832093835292815282822080549095168417909455918252600490925220805460ff19166001179055565b60008282018381101561069957fe5b9392505050565b6040516133a1806106b1833901905600606060405234156200001057600080fd5b604051620033a1380380620033a183398101604052808051919060200180518201919060200180519190602001805191906020018051919060200180516000805460a060020a60ff0219600160a060020a03338116600160a060020a031990931692909217167401000000000000000000000000000000000000000017909155909250829150879081161515620000a657600080fd5b60018054600160a060020a031916600160a060020a0392831617905581161515620000d057600080fd5b60028054600160a060020a03928316600160a060020a031991821681179092556003805490911690911790553281163390911614156200010f57600080fd5b6200012832640100000000620020476200017882021704565b60048580516200013d9291602001906200023c565b5050601e60055560016006556007929092556008556009555050600e8054600160a060020a03191633600160a060020a0316179055620002e1565b60005433600160a060020a039081169116146200019457600080fd5b60005474010000000000000000000000000000000000000000900460ff161515620001be57600080fd5b600160a060020a0381161515620001d457600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008054600160a060020a031916600160a060020a03929092169190911760a060020a60ff0219169055565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200027f57805160ff1916838001178555620002af565b82800160010185558215620002af579182015b82811115620002af57825182559160200191906001019062000292565b50620002bd929150620002c1565b5090565b620002de91905b80821115620002bd5760008155600101620002c8565b90565b6130b080620002f16000396000f3006060604052600436106101b35763ffffffff60e060020a600035041663031ee1c881146101b857806306021e7e146101fb5780630c6e29e3146102f2578063126eac431461030557806316ebf77d146103795780631f1e74061461039b5780632b8fd18a146104105780633ec6a4c41461044257806340f036051461046157806341cb01ad1461048657806345b99d28146104a55780635a628525146104b85780636ab6936a146104da5780637919233f146104ed5780637bd220bb1461050f5780637c60988514610534578063835436b41461059c57806387639c68146105bb57806389869163146105ce5780638d7db2f7146105ed578063900b7b6214610677578063b32ca9c51461068d578063bb7fb08b146106a0578063bbac78a9146106c2578063c6c5b072146106e3578063c6ced32b146106f6578063cc6f06a314610709578063dc988b401461071c578063deff41c114610747578063e21b9d081461075a578063e2d36ef51461076d578063e653ec6a14610780578063ec1847b614610793578063ef9cb474146107b2578063f20e56ec146107d1578063f4efa24c146107e4578063ff266d2614610852575b600080fd5b34156101c357600080fd5b6101e9600160a060020a036004351660243560443560ff6064351660843560a435610871565b60405190815260200160405180910390f35b341561020657600080fd5b6102de60048035600160a060020a03169060446024803590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528181529291906020840183838082843750949650610c4a95505050505050565b604051901515815260200160405180910390f35b34156102fd57600080fd5b6102de611168565b341561031057600080fd5b61032a600160a060020a0360043581169060243516611275565b6040518087600481111561033a57fe5b60ff168152602081019690965250604080860194909452600160a060020a039092166060850152608084015260a083015260c090910191505180910390f35b341561038457600080fd5b6102de600160a060020a03600435166024356112f1565b34156103a657600080fd5b6103ba600160a060020a036004351661166d565b60405198895260208901979097526040808901969096526060880194909452608087019290925260a086015260c0850152600160a060020a031660e0840152610100830191909152610120909101905180910390f35b341561041b57600080fd5b6104266004356116c1565b604051600160a060020a03909116815260200160405180910390f35b341561044d57600080fd5b6101e9600160a060020a03600435166116e9565b341561046c57600080fd5b6102de600160a060020a0360043581169060243516611707565b341561049157600080fd5b6101e9600160a060020a0360043516611747565b34156104b057600080fd5b6101e9611759565b34156104c357600080fd5b6102de600160a060020a036004351660243561175e565b34156104e557600080fd5b6101e96119b3565b34156104f857600080fd5b6102de600160a060020a03600435166024356119b9565b341561051a57600080fd5b61032a600160a060020a0360043581169060243516611bf1565b341561053f57600080fd5b6102de60048035600160a060020a031690604460248035908101908301358060208082020160405190810160405280939291908181526020018383602002808284375094965050509235600160a060020a03169250611c3f915050565b34156105a757600080fd5b6102de600160a060020a0360043516611ca8565b34156105c657600080fd5b6101e9611d88565b34156105d957600080fd5b6102de600160a060020a0360043516611d8e565b34156105f857600080fd5b610600611f2b565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561063c578082015183820152602001610624565b50505050905090810190601f1680156106695780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561068257600080fd5b610426600435611fc9565b341561069857600080fd5b610426611ff5565b34156106ab57600080fd5b610426600160a060020a0360043516602435612004565b34156106cd57600080fd5b6106e1600160a060020a0360043516612047565b005b34156106ee57600080fd5b6101e9612116565b341561070157600080fd5b6101e961211c565b341561071457600080fd5b6101e9612123565b341561072757600080fd5b6102de600160a060020a0360043581169060243581169060443516612129565b341561075257600080fd5b61042661238e565b341561076557600080fd5b6102de61239d565b341561077857600080fd5b6101e96123be565b341561078b57600080fd5b6102de6123c4565b341561079e57600080fd5b6101e9600160a060020a0360043516612489565b34156107bd57600080fd5b6106e16004356024356044356064356124d9565b34156107dc57600080fd5b6101e961258d565b34156107ef57600080fd5b610803600160a060020a0360043516612592565b60405197885260208801969096526040808801959095526060870193909352608086019190915260a085015260c0840152600160a060020a0390911660e0830152610100909101905180910390f35b341561085d57600080fd5b6102de600160a060020a03600435166125e4565b60015460009081908190600160a060020a03166332ca55878a60405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b15156108c857600080fd5b5af115156108d557600080fd5b5050506040518051905015156108ea57600080fd5b600160a060020a0389166000908152600c60205260409020600581015490925042111561091657600080fd5b600189600160a060020a031663e329c4786040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561095557600080fd5b5af1151561096257600080fd5b50505060405180519050600481111561097757fe5b1461098157600080fd5b50600160a060020a038089166000908152600d60209081526040808320339094168352929052208715156109b457600080fd5b8615156109c057600080fd5b6003810154600160a060020a031615610a8f57600188886040517f19457468657265756d205369676e6564204d6573736167653a0a3634000000008152601c810192909252603c820152605c0160405180910390208787876040516000815260200160405260405193845260ff9092166020808501919091526040808501929092526060840192909252608090920191516020810390808403906000865af11515610a6a57600080fd5b5050602060405103516003820154600160a060020a03908116911614610a8f57600080fd5b6001815460ff166004811115610aa157fe5b14610aab57600080fd5b805460ff19166002908117825560018083018a905590820188905554600160a060020a0316638c0f8e113360405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515610b1457600080fd5b5af11515610b2157600080fd5b505050604051805160048301555060078201805460018101610b43838261302f565b5060009182526020909120018054600160a060020a03191633600160a060020a03818116929092179092556001805490850154911691638981d077918c919060405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b1515610bd157600080fd5b5af11515610bde57600080fd5b505050604051805190501515610bf357600080fd5b33600160a060020a031689600160a060020a03167f1593a9a000265660fd299c9f8c9bbacfeb4d428861542e6c44b68615324225d48a60405190815260200160405180910390a35060010154979650505050505050565b60008054819033600160a060020a03908116911614610c6857600080fd5b600154600160a060020a03166332ca55878760405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515610cb857600080fd5b5af11515610cc557600080fd5b505050604051805190501515610cda57600080fd5b50600160a060020a0385166000908152600c602052604090206005810154421115610d0457600080fd5b42816003015411158015610d1c575060008160040154115b80610d2e575080600601548160040154145b1515610d3957600080fd5b610e1e8682610140604051908101604052908160008201548152602001600182015481526020016002820154600019166000191681526020016003820154815260200160048201548152602001600582015481526020016006820154815260200160078201805480602002602001604051908101604052809291908181526020018280548015610df257602002820191906000526020600020905b8154600160a060020a03168152600190910190602001808311610dd4575b50505091835250506008820154600160a060020a03166020820152600990910154604090910152612818565b1515610e2957600080fd5b600154600160a060020a031663b6b57ebd878787876040518563ffffffff1660e060020a0281526004018085600160a060020a0316600160a060020a03168152602001806020018060200180602001848103845287818151815260200191508051906020019080838360005b83811015610ead578082015183820152602001610e95565b50505050905090810190601f168015610eda5780820380516001836020036101000a031916815260200191505b50848103835286818151815260200191508051906020019080838360005b83811015610f10578082015183820152602001610ef8565b50505050905090810190601f168015610f3d5780820380516001836020036101000a031916815260200191505b50848103825285818151815260200191508051906020019080838360005b83811015610f73578082015183820152602001610f5b565b50505050905090810190601f168015610fa05780820380516001836020036101000a031916815260200191505b50975050505050505050602060405180830381600087803b1515610fc357600080fd5b5af11515610fd057600080fd5b505050604051805190501515610fe557600080fd5b85600160a060020a03167f4bfecaabd22e1b95e9aa9eb161b19f645b3460e7533d5e0f6349faf8dc0a724486868660405180806020018060200180602001848103845287818151815260200191508051906020019080838360005b83811015611058578082015183820152602001611040565b50505050905090810190601f1680156110855780820380516001836020036101000a031916815260200191505b50848103835286818151815260200191508051906020019080838360005b838110156110bb5780820151838201526020016110a3565b50505050905090810190601f1680156110e85780820380516001836020036101000a031916815260200191505b50848103825285818151815260200191508051906020019080838360005b8381101561111e578082015183820152602001611106565b50505050905090810190601f16801561114b5780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390a250600195945050505050565b6001546000908190600160a060020a031663b218cf153360405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b15156111bd57600080fd5b5af115156111ca57600080fd5b5050506040518051905015156111df57600080fd5b600a8054600181016111f1838261302f565b60009283526020909220018054600160a060020a03191633600160a060020a03161790559050611222816001612c92565b600160a060020a0333166000818152600b60205260409081902092909255907f67799bb3ec4a3491a0c1c4e6d02ec99927df7ba7fa268c216672c0c5ecc1e8f8905160405180910390a2600191505b5090565b600080600080600080600061128a8989611707565b151561129557600080fd5b50505050600160a060020a039485166000908152600d602090815260408083209688168352959052939093208054600182015460028301546003840154600485015460059095015460ff90941699929891975016945091925090565b6000805481908190819033600160a060020a0390811691161461131357600080fd5b600154600160a060020a03166332ca55878760405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151561136357600080fd5b5af1151561137057600080fd5b50505060405180519050151561138557600080fd5b600160a060020a0386166000908152600c6020526040902060058101549093504211156113b157600080fd5b85600160a060020a0316632d4d671f6040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156113ee57600080fd5b5af115156113fb57600080fd5b50505060405180519050151561141057600080fd5b60006006840181905591505b60078301548210156114dc576007830180548390811061143857fe5b6000918252602080832090910154600160a060020a038981168452600d8352604080852091909216808552925290912060010154909150851480156114b057506002600160a060020a038088166000908152600d602090815260408083209386168352929052205460ff1660048111156114ae57fe5b145b156114d15760068301546114cb90600163ffffffff612ca416565b60068401555b81600101915061141c565b6006830154600090116114ee57600080fd5b600280840186905560015460035461161f92429261161392600160a060020a0391821691631f87172691811690634cfddcfb908e1663ecc40f646040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561155657600080fd5b5af1151561156357600080fd5b5050506040518051905060405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b15156115a357600080fd5b5af115156115b057600080fd5b5050506040518051905060405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b15156115f057600080fd5b5af115156115fd57600080fd5b505050604051805191905063ffffffff612cbe16565b9063ffffffff612ca416565b6003840155600160a060020a0386167fa1b9f527f9799a46d54103401c99dc62f3744afe1d095a1c53620758dc38b2868660405190815260200160405180910390a250600195945050505050565b600c602052600090815260409020805460018201546002830154600384015460048501546005860154600687015460088801546009909801549697959694959394929391929091600160a060020a03169089565b600a8054829081106116cf57fe5b600091825260209091200154600160a060020a0316905081565b600160a060020a03166000908152600c602052604090206007015490565b600080600160a060020a038085166000908152600d602090815260408083209387168352929052205460ff16600481111561173e57fe5b14159392505050565b600b6020526000908152604090205481565b600a81565b60015460009081908190600160a060020a03166332ca55878660405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b15156117b557600080fd5b5af115156117c257600080fd5b5050506040518051905015156117d757600080fd5b600160a060020a0385166000908152600c60205260409020600581015490925042111561180357600080fd5b50600160a060020a038085166000908152600d6020908152604080832033909416835292905220600285600160a060020a031663e329c4786040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561186957600080fd5b5af1151561187657600080fd5b50505060405180519050600481111561188b57fe5b1461189557600080fd5b60038201544290116118a657600080fd5b6002815460ff1660048111156118b857fe5b146118c257600080fd5b60028201546001820154146118d657600080fd5b836040519081526020016040519081900390206001820154146118f857600080fd5b33604051600160a060020a03919091166c010000000000000000000000000281526014016040518091039020841860405190815260200160405190819003902060028201541461194757600080fd5b805460ff191660031781556004820154611962906001612ca4565b6004830155600160a060020a033381169086167f4f5df7005a83b6f11e90ead1268eb534656169a5034e8d239c763471294be3d58660405190815260200160405180910390a3506001949350505050565b60085481565b60015460009081908190819033600160a060020a039081169116146119dd57600080fd5b600354600160a060020a0316634cfddcfb8660405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b1515611a2557600080fd5b5af11515611a3257600080fd5b5050506040518051600154909450611a939150429061161390600a90600160a060020a0316631f8717268860405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b15156115f057600080fd5b600160a060020a038088166000908152600c60205260409081902060035493955093509116906338c4090b9087905160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b1515611af557600080fd5b5af11515611b0257600080fd5b5050506040518051825550600354600160a060020a03166355d66c3e8660405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b1515611b5557600080fd5b5af11515611b6257600080fd5b5050506040518051600883018054600160a060020a031916600160a060020a0392909216919091179055506005548154611b9b91612ce9565b6001820155600581018290556006546009820155600160a060020a0386167f9c081174ce28e85a62530b1102b0df58428b8da5027e81fbb4984aa1dc03310760405160405180910390a250600195945050505050565b600d60209081526000928352604080842090915290825290208054600182015460028301546003840154600485015460059095015460ff9094169492939192600160a060020a039091169186565b60008054819033600160a060020a03908116911614611c5d57600080fd5b5060005b8351811015611c9d57611c8a85858381518110611c7a57fe5b9060200190602002015185612129565b1515611c9557600080fd5b600101611c61565b506001949350505050565b6000805433600160a060020a03908116911614611cc457600080fd5b600154600160a060020a031663835436b48360405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515611d1457600080fd5b5af11515611d2157600080fd5b505050604051805190501515611d3657600080fd5b611d3f82612cfe565b1515611d4a57600080fd5b81600160a060020a03167fb22288215ec8cbd28148d7ffa053c6e6e23c62b58d0eb71a6387b59fad33a01960405160405180910390a2506001919050565b60065481565b60015460009081908190819033600160a060020a03908116911614611db257600080fd5b600160a060020a0385166000908152600c6020526040902060058101549093504211611ddd57600080fd5b600091505b6007830154821015611eea5760078301805483908110611dfe57fe5b600091825260209091200154600160a060020a031690506001600160a060020a038087166000908152600d602090815260408083209386168352929052205460ff166004811115611e4b57fe5b14611edf576001805490840154600160a060020a0390911690636b4f6865908790849060405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b1515611ebd57600080fd5b5af11515611eca57600080fd5b505050604051805190501515611edf57600080fd5b816001019150611de2565b84600160a060020a03167f8d8d47a5d5034ce9c01a2308543fdaa83d60863e4b735b7d57361987cdc8ed9460405160405180910390a2506001949350505050565b60048054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611fc15780601f10611f9657610100808354040283529160200191611fc1565b820191906000526020600020905b815481529060010190602001808311611fa457829003601f168201915b505050505081565b6000600a82815481101515611fda57fe5b600091825260209091200154600160a060020a031692915050565b600e54600160a060020a031681565b600160a060020a0382166000908152600c6020526040812060070180548390811061202b57fe5b600091825260209091200154600160a060020a03169392505050565b60005433600160a060020a0390811691161461206257600080fd5b60005474010000000000000000000000000000000000000000900460ff16151561208b57600080fd5b600160a060020a03811615156120a057600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008054600160a060020a031916600160a060020a03929092169190911774ff000000000000000000000000000000000000000019169055565b60055481565b600a545b90565b60095481565b60008054819081908190819033600160a060020a0390811691161461214d57600080fd5b600154600160a060020a03166332ca55878960405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151561219d57600080fd5b5af115156121aa57600080fd5b5050506040518051905015156121bf57600080fd5b600188600160a060020a031663e329c4786040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156121fe57600080fd5b5af1151561220b57600080fd5b50505060405180519050600481111561222057fe5b1461222a57600080fd5b600160a060020a038089166000818152600d60209081526040808320948c168352938152838220928252600c9052919091206005810154919550935042111561227257600080fd5b600154600160a060020a031663f69f190c8860405160e060020a63ffffffff8416028152600160a060020a0390911660048201526024016040805180830381600087803b15156122c157600080fd5b5af115156122ce57600080fd5b50505060405180519060200180519193509091505030600160a060020a03908116908316146122fc57600080fd5b6000845460ff16600481111561230e57fe5b1461231857600080fd5b835460ff19166001178455600384018054600160a060020a03888116600160a060020a0319909216919091179091558781169089167f9cade22a92ceb705fefd1c03e9ac4dbbf787cd493ec63a9f2b078cbc859c06298360405190815260200160405180910390a3506001979650505050505050565b600054600160a060020a031681565b60005474010000000000000000000000000000000000000000900460ff1681565b60075481565b600154600090600160a060020a0316631708d7253360405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151561241757600080fd5b5af1151561242457600080fd5b50505060405180519050151561243957600080fd5b61244233612cfe565b151561244d57600080fd5b33600160a060020a03167fd08d61a9c25ada3385d23554bae10e5d15c9518d4bfd27571c190558f7030f6e60405160405180910390a250600190565b600160a060020a0381166000818152600b6020526040812054600a805492939192839081106124b457fe5b600091825260209091200154600160a060020a0316146124d357600080fd5b92915050565b60005433600160a060020a039081169116146124f457600080fd5b7f52bb55d3097463659f724f9b420d259719787a8563b48eb82368680999bfea0760055485600654866008548760095488604051808981526020018881526020018781526020018681526020018581526020018481526020018381526020018281526020019850505050505050505060405180910390a1606483111561257957600080fd5b600593909355600691909155600855600955565b600281565b600160a060020a039081166000908152600c6020526040902080546001820154600283015460038401546004850154600586015460068701546008909701549598949793969295919490939190911690565b6000805481908190819033600160a060020a0390811691161461260657600080fd5b600154600160a060020a03166332ca55878660405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151561265657600080fd5b5af1151561266357600080fd5b50505060405180519050151561267857600080fd5b600160a060020a0385166000908152600c6020526040902060058101549093504211156126a457600080fd5b428360030154111580156126ba57506004830154155b15156126c557600080fd5b84600160a060020a0316631a514d976040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561270257600080fd5b5af1151561270f57600080fd5b50505060405180519050151561272457600080fd5b600091505b60078301548210156127c2576007830180548390811061274557fe5b60009182526020808320909101546002860154600160a060020a038981168552600d8452604080862091909316808652935292206001015490925014156127b757600160a060020a038581166000908152600d60209081526040808320938516835292905220805460ff191660041790555b816001019150612729565b600060068401819055600284018190556003840155600160a060020a0385167f631055693b4cbe13143279bc507432c42de858b6d04b3ba4e1ff3d2c88a7e52b60405160405180910390a2506001949350505050565b60008060008060008060008061282c613058565b6000808b5193508b60e001519250600099505b82518a101561292857828a8151811061285457fe5b90602001906020020151600160a060020a03808f166000908152600d6020908152604080832093851683529290522090995091506003825460ff16600481111561289a57fe5b1415612905576003820154600160a060020a031615156128bb5760016128be565b60035b60ff1697506128e26128dd898460040154612cbe90919063ffffffff16565b612de2565b60010196506128f7868863ffffffff612ca416565b60058301889055955061291d565b61291a8c60200151859063ffffffff612ca416565b93505b89600101995061283f565b6000861161293557600080fd5b61295c61294f8d610120015160649063ffffffff612c9216565b859063ffffffff612ce916565b9050600099505b82518a1015612bee57828a8151811061297857fe5b9060200190602002015198506003600160a060020a03808f166000908152600d60209081526040808320938e168352929052205460ff1660048111156129ba57fe5b1415612b4057600160a060020a03808e166000908152600d60209081526040808320938d16835292905220600501546129fb9082908863ffffffff612ffb16565b9450612a0d848663ffffffff612c9216565b9350600160009054906101000a9004600160a060020a0316600160a060020a0316636b4f68658e8b8f6020015160405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b1515612a8957600080fd5b5af11515612a9657600080fd5b505050604051805190501515612aab57600080fd5b60018054600160a060020a031690630c91f2d0908f908c90899060405160e060020a63ffffffff8716028152600160a060020a03948516600482015292909316602483015260448201529015156064820152608401602060405180830381600087803b1515612b1957600080fd5b5af11515612b2657600080fd5b505050604051805190501515612b3b57600080fd5b612be3565b600160009054906101000a9004600160a060020a0316600160a060020a0316639fdf96258e8b8f60200151600160405160e060020a63ffffffff8716028152600160a060020a03948516600482015292909316602483015260448201529015156064820152608401602060405180830381600087803b1515612bc157600080fd5b5af11515612bce57600080fd5b505050604051805190501515612be357600080fd5b896001019950612963565b600154600160a060020a0316630c91f2d08e6101008f015187600060405160e060020a63ffffffff8716028152600160a060020a03948516600482015292909316602483015260448201529015156064820152608401602060405180830381600087803b1515612c5d57600080fd5b5af11515612c6a57600080fd5b505050604051805190501515612c7f57600080fd5b5060019c9b505050505050505050505050565b600082821115612c9e57fe5b50900390565b600082820183811015612cb357fe5b8091505b5092915050565b600080831515612cd15760009150612cb7565b50828202828482811515612ce157fe5b0414612cb357fe5b6000612cf783836064612ffb565b9392505050565b6000806000612d0c84612489565b600a805491935090612d2590600163ffffffff612c9216565b81548110612d2f57fe5b600091825260209091200154600a8054600160a060020a039092169250829184908110612d5857fe5b60009182526020808320919091018054600160a060020a031916600160a060020a039485161790559183168152600b90915260409020829055600a8054612da0906001612c92565b81548110612daa57fe5b60009182526020909120018054600160a060020a0319169055600a54612dd790600163ffffffff612c9216565b611c9d600a8261302f565b700100000000000000000000000000000000680100000000000000006401000000006201000061010060106004600260001989019081041790810417908104179081041790810417908104179081041790810417600101906000906040517ff8f9cbfae6cc78fbefe7cdc3a1793dfcf4f0e8bbd8cec470b6a28a7a5a3e1efd81527ff5ecf1b3e9debc68e1d9cfabc5997135bfb7a7a3938b7b606b5b4b3f2f1f0ffe60208201527ff6e4ed9ff2d6b458eadcdf97bd91692de2d4da8fd2d0ac50c6ae9a827252361660408201527fc8c0b887b0a8a4489c948c7f847c6125746c645c544c444038302820181008ff60608201527ff7cae577eec2a03cf3bad76fb589591debb2dd67e0aa9834bea6925f6a4a2e0e60808201527fe39ed557db96902cd38ed14fad815115c786af479b7e8324736353433727170760a08201527fc976c13bb96e881cb166a933a55e490d9d56952b8d4e801485467d236242260660c08201527f753a6d1b65325d0c552a4d1345224105391a310b29122104190a11030902010060e082015261010081016040527e818283848586878898a8b8c8d8e8f929395969799a9b9d9e9faaeb6bedeeff7f01000000000000000000000000000000000000000000000000000000000000008082870204818160ff038501510495507f8000000000000000000000000000000000000000000000000000000000000000851161010002860195505050505050919050565b600061301061300a8585612cbe565b83613018565b949350505050565b600080828481151561302657fe5b04949350505050565b8154818355818115116130535760008381526020902061305391810190830161306a565b505050565b60206040519081016040526000815290565b61212091905b8082111561127157600081556001016130705600a165627a7a723058204bd60a5d84290b2bdfc72f3d4d9633b5c868e69c228c5d05ceb5053f697380d00029a165627a7a723058202c6a055cc1e026fca788dc10ef215cef6f0da547e4a1241b87378e48c84fe0260029", + "deployedBytecode": "0x6060604052600436106100b95763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166301a08a8b81146100be5780630b00de8d146100fc5780631884c51714610135578063215bd3031461015a57806368c197dd1461018e57806369bee8a1146101ad578063bbac78a9146101de578063bc1013db146101ff578063d440c6f314610212578063dee3efb214610231578063deff41c114610247578063e21b9d081461025a575b600080fd5b34156100c957600080fd5b6100e0600160a060020a036004351660243561026d565b604051600160a060020a03909116815260200160405180910390f35b341561010757600080fd5b610121600160a060020a0360043581169060243516610295565b604051901515815260200160405180910390f35b341561014057600080fd5b610121600160a060020a0360043581169060243516610315565b341561016557600080fd5b6100e0602460048035828101929101359035604435606435600160a060020a0360843516610399565b341561019957600080fd5b610121600160a060020a0360043516610444565b34156101b857600080fd5b6101cc600160a060020a0360043516610462565b60405190815260200160405180910390f35b34156101e957600080fd5b6101fd600160a060020a036004351661047d565b005b341561020a57600080fd5b6101cc610559565b341561021d57600080fd5b6100e0600160a060020a036004351661055f565b341561023c57600080fd5b6100e060043561057d565b341561025257600080fd5b6100e0610598565b341561026557600080fd5b6101216105a7565b600160a060020a03918216600090815260036020908152604080832093835292905220541690565b6000805433600160a060020a039081169116146102b157600080fd5b600160a060020a038281166000908152600160205260409020548116908416146102da57600080fd5b50600160a060020a03166000908152600160208190526040909120805473ffffffffffffffffffffffffffffffffffffffff19169055919050565b6000805433600160a060020a0390811691161461033157600080fd5b600160a060020a03828116600090815260016020526040902054161561035657600080fd5b50600160a060020a039081166000908152600160208190526040909120805473ffffffffffffffffffffffffffffffffffffffff19169390921692909217905590565b60008054819033600160a060020a039081169116146103b757600080fd5b338888888888886103c66106a0565b600160a060020a038089168252604082018690526060820185905260808201849052821660a082015260c06020820181815290820187905260e08201888880828437820191505098505050505050505050604051809103906000f080151561042d57600080fd5b905061043932826105c8565b979650505050505050565b600160a060020a031660009081526004602052604090205460ff1690565b600160a060020a031660009081526002602052604090205490565b60005433600160a060020a0390811691161461049857600080fd5b60005474010000000000000000000000000000000000000000900460ff1615156104c157600080fd5b600160a060020a03811615156104d657600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911774ff000000000000000000000000000000000000000019169055565b60065481565b600160a060020a039081166000908152600160205260409020541690565b600090815260056020526040902054600160a060020a031690565b600054600160a060020a031681565b60005474010000000000000000000000000000000000000000900460ff1681565b600160a060020a0382166000908152600260205260408120546105f290600163ffffffff61068a16565b60065490915061060990600163ffffffff61068a16565b600681905560009081526005602090815260408083208054600160a060020a0396871673ffffffffffffffffffffffffffffffffffffffff199182168117909255969095168352600282528083208490556003825280832093835292815282822080549095168417909455918252600490925220805460ff19166001179055565b60008282018381101561069957fe5b9392505050565b6040516133a1806106b1833901905600606060405234156200001057600080fd5b604051620033a1380380620033a183398101604052808051919060200180518201919060200180519190602001805191906020018051919060200180516000805460a060020a60ff0219600160a060020a03338116600160a060020a031990931692909217167401000000000000000000000000000000000000000017909155909250829150879081161515620000a657600080fd5b60018054600160a060020a031916600160a060020a0392831617905581161515620000d057600080fd5b60028054600160a060020a03928316600160a060020a031991821681179092556003805490911690911790553281163390911614156200010f57600080fd5b6200012832640100000000620020476200017882021704565b60048580516200013d9291602001906200023c565b5050601e60055560016006556007929092556008556009555050600e8054600160a060020a03191633600160a060020a0316179055620002e1565b60005433600160a060020a039081169116146200019457600080fd5b60005474010000000000000000000000000000000000000000900460ff161515620001be57600080fd5b600160a060020a0381161515620001d457600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008054600160a060020a031916600160a060020a03929092169190911760a060020a60ff0219169055565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200027f57805160ff1916838001178555620002af565b82800160010185558215620002af579182015b82811115620002af57825182559160200191906001019062000292565b50620002bd929150620002c1565b5090565b620002de91905b80821115620002bd5760008155600101620002c8565b90565b6130b080620002f16000396000f3006060604052600436106101b35763ffffffff60e060020a600035041663031ee1c881146101b857806306021e7e146101fb5780630c6e29e3146102f2578063126eac431461030557806316ebf77d146103795780631f1e74061461039b5780632b8fd18a146104105780633ec6a4c41461044257806340f036051461046157806341cb01ad1461048657806345b99d28146104a55780635a628525146104b85780636ab6936a146104da5780637919233f146104ed5780637bd220bb1461050f5780637c60988514610534578063835436b41461059c57806387639c68146105bb57806389869163146105ce5780638d7db2f7146105ed578063900b7b6214610677578063b32ca9c51461068d578063bb7fb08b146106a0578063bbac78a9146106c2578063c6c5b072146106e3578063c6ced32b146106f6578063cc6f06a314610709578063dc988b401461071c578063deff41c114610747578063e21b9d081461075a578063e2d36ef51461076d578063e653ec6a14610780578063ec1847b614610793578063ef9cb474146107b2578063f20e56ec146107d1578063f4efa24c146107e4578063ff266d2614610852575b600080fd5b34156101c357600080fd5b6101e9600160a060020a036004351660243560443560ff6064351660843560a435610871565b60405190815260200160405180910390f35b341561020657600080fd5b6102de60048035600160a060020a03169060446024803590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528181529291906020840183838082843750949650610c4a95505050505050565b604051901515815260200160405180910390f35b34156102fd57600080fd5b6102de611168565b341561031057600080fd5b61032a600160a060020a0360043581169060243516611275565b6040518087600481111561033a57fe5b60ff168152602081019690965250604080860194909452600160a060020a039092166060850152608084015260a083015260c090910191505180910390f35b341561038457600080fd5b6102de600160a060020a03600435166024356112f1565b34156103a657600080fd5b6103ba600160a060020a036004351661166d565b60405198895260208901979097526040808901969096526060880194909452608087019290925260a086015260c0850152600160a060020a031660e0840152610100830191909152610120909101905180910390f35b341561041b57600080fd5b6104266004356116c1565b604051600160a060020a03909116815260200160405180910390f35b341561044d57600080fd5b6101e9600160a060020a03600435166116e9565b341561046c57600080fd5b6102de600160a060020a0360043581169060243516611707565b341561049157600080fd5b6101e9600160a060020a0360043516611747565b34156104b057600080fd5b6101e9611759565b34156104c357600080fd5b6102de600160a060020a036004351660243561175e565b34156104e557600080fd5b6101e96119b3565b34156104f857600080fd5b6102de600160a060020a03600435166024356119b9565b341561051a57600080fd5b61032a600160a060020a0360043581169060243516611bf1565b341561053f57600080fd5b6102de60048035600160a060020a031690604460248035908101908301358060208082020160405190810160405280939291908181526020018383602002808284375094965050509235600160a060020a03169250611c3f915050565b34156105a757600080fd5b6102de600160a060020a0360043516611ca8565b34156105c657600080fd5b6101e9611d88565b34156105d957600080fd5b6102de600160a060020a0360043516611d8e565b34156105f857600080fd5b610600611f2b565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561063c578082015183820152602001610624565b50505050905090810190601f1680156106695780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561068257600080fd5b610426600435611fc9565b341561069857600080fd5b610426611ff5565b34156106ab57600080fd5b610426600160a060020a0360043516602435612004565b34156106cd57600080fd5b6106e1600160a060020a0360043516612047565b005b34156106ee57600080fd5b6101e9612116565b341561070157600080fd5b6101e961211c565b341561071457600080fd5b6101e9612123565b341561072757600080fd5b6102de600160a060020a0360043581169060243581169060443516612129565b341561075257600080fd5b61042661238e565b341561076557600080fd5b6102de61239d565b341561077857600080fd5b6101e96123be565b341561078b57600080fd5b6102de6123c4565b341561079e57600080fd5b6101e9600160a060020a0360043516612489565b34156107bd57600080fd5b6106e16004356024356044356064356124d9565b34156107dc57600080fd5b6101e961258d565b34156107ef57600080fd5b610803600160a060020a0360043516612592565b60405197885260208801969096526040808801959095526060870193909352608086019190915260a085015260c0840152600160a060020a0390911660e0830152610100909101905180910390f35b341561085d57600080fd5b6102de600160a060020a03600435166125e4565b60015460009081908190600160a060020a03166332ca55878a60405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b15156108c857600080fd5b5af115156108d557600080fd5b5050506040518051905015156108ea57600080fd5b600160a060020a0389166000908152600c60205260409020600581015490925042111561091657600080fd5b600189600160a060020a031663e329c4786040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561095557600080fd5b5af1151561096257600080fd5b50505060405180519050600481111561097757fe5b1461098157600080fd5b50600160a060020a038089166000908152600d60209081526040808320339094168352929052208715156109b457600080fd5b8615156109c057600080fd5b6003810154600160a060020a031615610a8f57600188886040517f19457468657265756d205369676e6564204d6573736167653a0a3634000000008152601c810192909252603c820152605c0160405180910390208787876040516000815260200160405260405193845260ff9092166020808501919091526040808501929092526060840192909252608090920191516020810390808403906000865af11515610a6a57600080fd5b5050602060405103516003820154600160a060020a03908116911614610a8f57600080fd5b6001815460ff166004811115610aa157fe5b14610aab57600080fd5b805460ff19166002908117825560018083018a905590820188905554600160a060020a0316638c0f8e113360405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515610b1457600080fd5b5af11515610b2157600080fd5b505050604051805160048301555060078201805460018101610b43838261302f565b5060009182526020909120018054600160a060020a03191633600160a060020a03818116929092179092556001805490850154911691638981d077918c919060405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b1515610bd157600080fd5b5af11515610bde57600080fd5b505050604051805190501515610bf357600080fd5b33600160a060020a031689600160a060020a03167f1593a9a000265660fd299c9f8c9bbacfeb4d428861542e6c44b68615324225d48a60405190815260200160405180910390a35060010154979650505050505050565b60008054819033600160a060020a03908116911614610c6857600080fd5b600154600160a060020a03166332ca55878760405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515610cb857600080fd5b5af11515610cc557600080fd5b505050604051805190501515610cda57600080fd5b50600160a060020a0385166000908152600c602052604090206005810154421115610d0457600080fd5b42816003015411158015610d1c575060008160040154115b80610d2e575080600601548160040154145b1515610d3957600080fd5b610e1e8682610140604051908101604052908160008201548152602001600182015481526020016002820154600019166000191681526020016003820154815260200160048201548152602001600582015481526020016006820154815260200160078201805480602002602001604051908101604052809291908181526020018280548015610df257602002820191906000526020600020905b8154600160a060020a03168152600190910190602001808311610dd4575b50505091835250506008820154600160a060020a03166020820152600990910154604090910152612818565b1515610e2957600080fd5b600154600160a060020a031663b6b57ebd878787876040518563ffffffff1660e060020a0281526004018085600160a060020a0316600160a060020a03168152602001806020018060200180602001848103845287818151815260200191508051906020019080838360005b83811015610ead578082015183820152602001610e95565b50505050905090810190601f168015610eda5780820380516001836020036101000a031916815260200191505b50848103835286818151815260200191508051906020019080838360005b83811015610f10578082015183820152602001610ef8565b50505050905090810190601f168015610f3d5780820380516001836020036101000a031916815260200191505b50848103825285818151815260200191508051906020019080838360005b83811015610f73578082015183820152602001610f5b565b50505050905090810190601f168015610fa05780820380516001836020036101000a031916815260200191505b50975050505050505050602060405180830381600087803b1515610fc357600080fd5b5af11515610fd057600080fd5b505050604051805190501515610fe557600080fd5b85600160a060020a03167f4bfecaabd22e1b95e9aa9eb161b19f645b3460e7533d5e0f6349faf8dc0a724486868660405180806020018060200180602001848103845287818151815260200191508051906020019080838360005b83811015611058578082015183820152602001611040565b50505050905090810190601f1680156110855780820380516001836020036101000a031916815260200191505b50848103835286818151815260200191508051906020019080838360005b838110156110bb5780820151838201526020016110a3565b50505050905090810190601f1680156110e85780820380516001836020036101000a031916815260200191505b50848103825285818151815260200191508051906020019080838360005b8381101561111e578082015183820152602001611106565b50505050905090810190601f16801561114b5780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390a250600195945050505050565b6001546000908190600160a060020a031663b218cf153360405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b15156111bd57600080fd5b5af115156111ca57600080fd5b5050506040518051905015156111df57600080fd5b600a8054600181016111f1838261302f565b60009283526020909220018054600160a060020a03191633600160a060020a03161790559050611222816001612c92565b600160a060020a0333166000818152600b60205260409081902092909255907f67799bb3ec4a3491a0c1c4e6d02ec99927df7ba7fa268c216672c0c5ecc1e8f8905160405180910390a2600191505b5090565b600080600080600080600061128a8989611707565b151561129557600080fd5b50505050600160a060020a039485166000908152600d602090815260408083209688168352959052939093208054600182015460028301546003840154600485015460059095015460ff90941699929891975016945091925090565b6000805481908190819033600160a060020a0390811691161461131357600080fd5b600154600160a060020a03166332ca55878760405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151561136357600080fd5b5af1151561137057600080fd5b50505060405180519050151561138557600080fd5b600160a060020a0386166000908152600c6020526040902060058101549093504211156113b157600080fd5b85600160a060020a0316632d4d671f6040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156113ee57600080fd5b5af115156113fb57600080fd5b50505060405180519050151561141057600080fd5b60006006840181905591505b60078301548210156114dc576007830180548390811061143857fe5b6000918252602080832090910154600160a060020a038981168452600d8352604080852091909216808552925290912060010154909150851480156114b057506002600160a060020a038088166000908152600d602090815260408083209386168352929052205460ff1660048111156114ae57fe5b145b156114d15760068301546114cb90600163ffffffff612ca416565b60068401555b81600101915061141c565b6006830154600090116114ee57600080fd5b600280840186905560015460035461161f92429261161392600160a060020a0391821691631f87172691811690634cfddcfb908e1663ecc40f646040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561155657600080fd5b5af1151561156357600080fd5b5050506040518051905060405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b15156115a357600080fd5b5af115156115b057600080fd5b5050506040518051905060405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b15156115f057600080fd5b5af115156115fd57600080fd5b505050604051805191905063ffffffff612cbe16565b9063ffffffff612ca416565b6003840155600160a060020a0386167fa1b9f527f9799a46d54103401c99dc62f3744afe1d095a1c53620758dc38b2868660405190815260200160405180910390a250600195945050505050565b600c602052600090815260409020805460018201546002830154600384015460048501546005860154600687015460088801546009909801549697959694959394929391929091600160a060020a03169089565b600a8054829081106116cf57fe5b600091825260209091200154600160a060020a0316905081565b600160a060020a03166000908152600c602052604090206007015490565b600080600160a060020a038085166000908152600d602090815260408083209387168352929052205460ff16600481111561173e57fe5b14159392505050565b600b6020526000908152604090205481565b600a81565b60015460009081908190600160a060020a03166332ca55878660405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b15156117b557600080fd5b5af115156117c257600080fd5b5050506040518051905015156117d757600080fd5b600160a060020a0385166000908152600c60205260409020600581015490925042111561180357600080fd5b50600160a060020a038085166000908152600d6020908152604080832033909416835292905220600285600160a060020a031663e329c4786040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561186957600080fd5b5af1151561187657600080fd5b50505060405180519050600481111561188b57fe5b1461189557600080fd5b60038201544290116118a657600080fd5b6002815460ff1660048111156118b857fe5b146118c257600080fd5b60028201546001820154146118d657600080fd5b836040519081526020016040519081900390206001820154146118f857600080fd5b33604051600160a060020a03919091166c010000000000000000000000000281526014016040518091039020841860405190815260200160405190819003902060028201541461194757600080fd5b805460ff191660031781556004820154611962906001612ca4565b6004830155600160a060020a033381169086167f4f5df7005a83b6f11e90ead1268eb534656169a5034e8d239c763471294be3d58660405190815260200160405180910390a3506001949350505050565b60085481565b60015460009081908190819033600160a060020a039081169116146119dd57600080fd5b600354600160a060020a0316634cfddcfb8660405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b1515611a2557600080fd5b5af11515611a3257600080fd5b5050506040518051600154909450611a939150429061161390600a90600160a060020a0316631f8717268860405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b15156115f057600080fd5b600160a060020a038088166000908152600c60205260409081902060035493955093509116906338c4090b9087905160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b1515611af557600080fd5b5af11515611b0257600080fd5b5050506040518051825550600354600160a060020a03166355d66c3e8660405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b1515611b5557600080fd5b5af11515611b6257600080fd5b5050506040518051600883018054600160a060020a031916600160a060020a0392909216919091179055506005548154611b9b91612ce9565b6001820155600581018290556006546009820155600160a060020a0386167f9c081174ce28e85a62530b1102b0df58428b8da5027e81fbb4984aa1dc03310760405160405180910390a250600195945050505050565b600d60209081526000928352604080842090915290825290208054600182015460028301546003840154600485015460059095015460ff9094169492939192600160a060020a039091169186565b60008054819033600160a060020a03908116911614611c5d57600080fd5b5060005b8351811015611c9d57611c8a85858381518110611c7a57fe5b9060200190602002015185612129565b1515611c9557600080fd5b600101611c61565b506001949350505050565b6000805433600160a060020a03908116911614611cc457600080fd5b600154600160a060020a031663835436b48360405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515611d1457600080fd5b5af11515611d2157600080fd5b505050604051805190501515611d3657600080fd5b611d3f82612cfe565b1515611d4a57600080fd5b81600160a060020a03167fb22288215ec8cbd28148d7ffa053c6e6e23c62b58d0eb71a6387b59fad33a01960405160405180910390a2506001919050565b60065481565b60015460009081908190819033600160a060020a03908116911614611db257600080fd5b600160a060020a0385166000908152600c6020526040902060058101549093504211611ddd57600080fd5b600091505b6007830154821015611eea5760078301805483908110611dfe57fe5b600091825260209091200154600160a060020a031690506001600160a060020a038087166000908152600d602090815260408083209386168352929052205460ff166004811115611e4b57fe5b14611edf576001805490840154600160a060020a0390911690636b4f6865908790849060405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b1515611ebd57600080fd5b5af11515611eca57600080fd5b505050604051805190501515611edf57600080fd5b816001019150611de2565b84600160a060020a03167f8d8d47a5d5034ce9c01a2308543fdaa83d60863e4b735b7d57361987cdc8ed9460405160405180910390a2506001949350505050565b60048054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611fc15780601f10611f9657610100808354040283529160200191611fc1565b820191906000526020600020905b815481529060010190602001808311611fa457829003601f168201915b505050505081565b6000600a82815481101515611fda57fe5b600091825260209091200154600160a060020a031692915050565b600e54600160a060020a031681565b600160a060020a0382166000908152600c6020526040812060070180548390811061202b57fe5b600091825260209091200154600160a060020a03169392505050565b60005433600160a060020a0390811691161461206257600080fd5b60005474010000000000000000000000000000000000000000900460ff16151561208b57600080fd5b600160a060020a03811615156120a057600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008054600160a060020a031916600160a060020a03929092169190911774ff000000000000000000000000000000000000000019169055565b60055481565b600a545b90565b60095481565b60008054819081908190819033600160a060020a0390811691161461214d57600080fd5b600154600160a060020a03166332ca55878960405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151561219d57600080fd5b5af115156121aa57600080fd5b5050506040518051905015156121bf57600080fd5b600188600160a060020a031663e329c4786040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156121fe57600080fd5b5af1151561220b57600080fd5b50505060405180519050600481111561222057fe5b1461222a57600080fd5b600160a060020a038089166000818152600d60209081526040808320948c168352938152838220928252600c9052919091206005810154919550935042111561227257600080fd5b600154600160a060020a031663f69f190c8860405160e060020a63ffffffff8416028152600160a060020a0390911660048201526024016040805180830381600087803b15156122c157600080fd5b5af115156122ce57600080fd5b50505060405180519060200180519193509091505030600160a060020a03908116908316146122fc57600080fd5b6000845460ff16600481111561230e57fe5b1461231857600080fd5b835460ff19166001178455600384018054600160a060020a03888116600160a060020a0319909216919091179091558781169089167f9cade22a92ceb705fefd1c03e9ac4dbbf787cd493ec63a9f2b078cbc859c06298360405190815260200160405180910390a3506001979650505050505050565b600054600160a060020a031681565b60005474010000000000000000000000000000000000000000900460ff1681565b60075481565b600154600090600160a060020a0316631708d7253360405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151561241757600080fd5b5af1151561242457600080fd5b50505060405180519050151561243957600080fd5b61244233612cfe565b151561244d57600080fd5b33600160a060020a03167fd08d61a9c25ada3385d23554bae10e5d15c9518d4bfd27571c190558f7030f6e60405160405180910390a250600190565b600160a060020a0381166000818152600b6020526040812054600a805492939192839081106124b457fe5b600091825260209091200154600160a060020a0316146124d357600080fd5b92915050565b60005433600160a060020a039081169116146124f457600080fd5b7f52bb55d3097463659f724f9b420d259719787a8563b48eb82368680999bfea0760055485600654866008548760095488604051808981526020018881526020018781526020018681526020018581526020018481526020018381526020018281526020019850505050505050505060405180910390a1606483111561257957600080fd5b600593909355600691909155600855600955565b600281565b600160a060020a039081166000908152600c6020526040902080546001820154600283015460038401546004850154600586015460068701546008909701549598949793969295919490939190911690565b6000805481908190819033600160a060020a0390811691161461260657600080fd5b600154600160a060020a03166332ca55878660405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151561265657600080fd5b5af1151561266357600080fd5b50505060405180519050151561267857600080fd5b600160a060020a0385166000908152600c6020526040902060058101549093504211156126a457600080fd5b428360030154111580156126ba57506004830154155b15156126c557600080fd5b84600160a060020a0316631a514d976040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561270257600080fd5b5af1151561270f57600080fd5b50505060405180519050151561272457600080fd5b600091505b60078301548210156127c2576007830180548390811061274557fe5b60009182526020808320909101546002860154600160a060020a038981168552600d8452604080862091909316808652935292206001015490925014156127b757600160a060020a038581166000908152600d60209081526040808320938516835292905220805460ff191660041790555b816001019150612729565b600060068401819055600284018190556003840155600160a060020a0385167f631055693b4cbe13143279bc507432c42de858b6d04b3ba4e1ff3d2c88a7e52b60405160405180910390a2506001949350505050565b60008060008060008060008061282c613058565b6000808b5193508b60e001519250600099505b82518a101561292857828a8151811061285457fe5b90602001906020020151600160a060020a03808f166000908152600d6020908152604080832093851683529290522090995091506003825460ff16600481111561289a57fe5b1415612905576003820154600160a060020a031615156128bb5760016128be565b60035b60ff1697506128e26128dd898460040154612cbe90919063ffffffff16565b612de2565b60010196506128f7868863ffffffff612ca416565b60058301889055955061291d565b61291a8c60200151859063ffffffff612ca416565b93505b89600101995061283f565b6000861161293557600080fd5b61295c61294f8d610120015160649063ffffffff612c9216565b859063ffffffff612ce916565b9050600099505b82518a1015612bee57828a8151811061297857fe5b9060200190602002015198506003600160a060020a03808f166000908152600d60209081526040808320938e168352929052205460ff1660048111156129ba57fe5b1415612b4057600160a060020a03808e166000908152600d60209081526040808320938d16835292905220600501546129fb9082908863ffffffff612ffb16565b9450612a0d848663ffffffff612c9216565b9350600160009054906101000a9004600160a060020a0316600160a060020a0316636b4f68658e8b8f6020015160405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b1515612a8957600080fd5b5af11515612a9657600080fd5b505050604051805190501515612aab57600080fd5b60018054600160a060020a031690630c91f2d0908f908c90899060405160e060020a63ffffffff8716028152600160a060020a03948516600482015292909316602483015260448201529015156064820152608401602060405180830381600087803b1515612b1957600080fd5b5af11515612b2657600080fd5b505050604051805190501515612b3b57600080fd5b612be3565b600160009054906101000a9004600160a060020a0316600160a060020a0316639fdf96258e8b8f60200151600160405160e060020a63ffffffff8716028152600160a060020a03948516600482015292909316602483015260448201529015156064820152608401602060405180830381600087803b1515612bc157600080fd5b5af11515612bce57600080fd5b505050604051805190501515612be357600080fd5b896001019950612963565b600154600160a060020a0316630c91f2d08e6101008f015187600060405160e060020a63ffffffff8716028152600160a060020a03948516600482015292909316602483015260448201529015156064820152608401602060405180830381600087803b1515612c5d57600080fd5b5af11515612c6a57600080fd5b505050604051805190501515612c7f57600080fd5b5060019c9b505050505050505050505050565b600082821115612c9e57fe5b50900390565b600082820183811015612cb357fe5b8091505b5092915050565b600080831515612cd15760009150612cb7565b50828202828482811515612ce157fe5b0414612cb357fe5b6000612cf783836064612ffb565b9392505050565b6000806000612d0c84612489565b600a805491935090612d2590600163ffffffff612c9216565b81548110612d2f57fe5b600091825260209091200154600a8054600160a060020a039092169250829184908110612d5857fe5b60009182526020808320919091018054600160a060020a031916600160a060020a039485161790559183168152600b90915260409020829055600a8054612da0906001612c92565b81548110612daa57fe5b60009182526020909120018054600160a060020a0319169055600a54612dd790600163ffffffff612c9216565b611c9d600a8261302f565b700100000000000000000000000000000000680100000000000000006401000000006201000061010060106004600260001989019081041790810417908104179081041790810417908104179081041790810417600101906000906040517ff8f9cbfae6cc78fbefe7cdc3a1793dfcf4f0e8bbd8cec470b6a28a7a5a3e1efd81527ff5ecf1b3e9debc68e1d9cfabc5997135bfb7a7a3938b7b606b5b4b3f2f1f0ffe60208201527ff6e4ed9ff2d6b458eadcdf97bd91692de2d4da8fd2d0ac50c6ae9a827252361660408201527fc8c0b887b0a8a4489c948c7f847c6125746c645c544c444038302820181008ff60608201527ff7cae577eec2a03cf3bad76fb589591debb2dd67e0aa9834bea6925f6a4a2e0e60808201527fe39ed557db96902cd38ed14fad815115c786af479b7e8324736353433727170760a08201527fc976c13bb96e881cb166a933a55e490d9d56952b8d4e801485467d236242260660c08201527f753a6d1b65325d0c552a4d1345224105391a310b29122104190a11030902010060e082015261010081016040527e818283848586878898a8b8c8d8e8f929395969799a9b9d9e9faaeb6bedeeff7f01000000000000000000000000000000000000000000000000000000000000008082870204818160ff038501510495507f8000000000000000000000000000000000000000000000000000000000000000851161010002860195505050505050919050565b600061301061300a8585612cbe565b83613018565b949350505050565b600080828481151561302657fe5b04949350505050565b8154818355818115116130535760008381526020902061305391810190830161306a565b505050565b60206040519081016040526000815290565b61212091905b8082111561127157600081556001016130705600a165627a7a723058204bd60a5d84290b2bdfc72f3d4d9633b5c868e69c228c5d05ceb5053f697380d00029a165627a7a723058202c6a055cc1e026fca788dc10ef215cef6f0da547e4a1241b87378e48c84fe0260029", + "sourceMap": "107:3240:19:-;;;899:37;;;;;;;;667:7:14;:25;;696:19;-1:-1:-1;;;;;;667:25:14;;;682:10;-1:-1:-1;;;;;667:25:14;;-1:-1:-1;;;;;;696:19:14;;;;107:3240:19;;;;;;;;", + "deployedSourceMap": "107:3240:19:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1219:143;;;;;;;;;;-1:-1:-1;;;;;1219:143:19;;;;;;;;;;-1:-1:-1;;;;;1219:143:19;;;;;;;;;;;;;;3082:263;;;;;;;;;;-1:-1:-1;;;;;3082:263:19;;;;;;;;;;;;;;;;;;;;;;;;;;;2756:323;;;;;;;;;;-1:-1:-1;;;;;2756:323:19;;;;;;;;;;2064:689;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2064:689:19;;;;;961:131;;;;;;;;;;-1:-1:-1;;;;;961:131:19;;;;;1094:123;;;;;;;;;;-1:-1:-1;;;;;1094:123:19;;;;;;;;;;;;;;;;;;;;876:234:14;;;;;;;;;;-1:-1:-1;;;;;876:234:14;;;;;;;797:70:19;;;;;;;;;;;;1485:132;;;;;;;;;;-1:-1:-1;;;;;1485:132:19;;;;;1364:119;;;;;;;;;;;;;;238:22:14;;;;;;;;;;;;263:27;;;;;;;;;;;;1219:143:19;-1:-1:-1;;;;;1316:34:19;;;1295:7;1316:34;;;:26;:34;;;;;;;;:42;;;;;;;;;;1219:143::o;3082:263::-;3205:17;502:7:14;;488:10;-1:-1:-1;;;;;488:21:14;;;502:7;;488:21;480:30;;;;;;-1:-1:-1;;;;;3237:28:19;;;;;;;:19;:28;;;;;;;;:43;;;;3229:52;;;;;;-1:-1:-1;;;;;;3285:28:19;3324:1;3285:28;;;:19;:28;;;;;;;;:41;;-1:-1:-1;;3285:41:19;;;:19;3082:263;-1:-1:-1;3082:263:19:o;2756:323::-;2877:15;502:7:14;;488:10;-1:-1:-1;;;;;488:21:14;;;502:7;;488:21;480:30;;;;;;-1:-1:-1;;;;;2971:28:19;;;3011:1;2971:28;;;:19;:28;;;;;;;:42;2963:51;;;;;;-1:-1:-1;;;;;;3018:28:19;;;;;;;:19;:28;;;;;;;;:42;;-1:-1:-1;;3018:42:19;;;;;;;;;;;:19;2756:323::o;2064:689::-;2322:25;502:7:14;;2322:25:19;;488:10:14;-1:-1:-1;;;;;488:21:14;;;502:7;;488:21;480:30;;;;;;2503:10:19;2537:12;;2554:28;2587:31;2623;2659:19;2484:198;;:::i;:::-;-1:-1:-1;;;;;2484:198:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2460:222;;2686:39;2700:9;2711:13;2686;:39::i;:::-;2736:13;2064:689;-1:-1:-1;;;;;;;2064:689:19:o;961:131::-;-1:-1:-1;;;;;1053:35:19;1035:4;1053:35;;;:22;:35;;;;;;;;;961:131::o;1094:123::-;-1:-1:-1;;;;;1181:32:19;1160:7;1181:32;;;:24;:32;;;;;;;1094:123::o;876:234:14:-;502:7;;488:10;-1:-1:-1;;;;;488:21:14;;;502:7;;488:21;480:30;;;;;;956:12;;;;;;;948:21;;;;;;;;-1:-1:-1;;;;;981:23:14;;;;973:32;;;;;;1035:7;;-1:-1:-1;;;;;1014:40:14;;;;1035:7;1014:40;;;;;;;;;;1058:7;:24;;-1:-1:-1;;1058:24:14;-1:-1:-1;;;;;1058:24:14;;;;;;;;-1:-1:-1;;1086:20:14;;;876:234::o;797:70:19:-;;;;:::o;1485:132::-;-1:-1:-1;;;;;1585:28:19;;;1553:18;1585:28;;;:19;:28;;;;;;;;1485:132::o;1364:119::-;1431:7;1452:27;;;:19;:27;;;;;;-1:-1:-1;;;;;1452:27:19;;1364:119::o;238:22:14:-;;;-1:-1:-1;;;;;238:22:14;;:::o;263:27::-;;;;;;;;;:::o;1620:441:19:-;-1:-1:-1;;;;;1704:32:19;;1694:7;1704:32;;;:24;:32;;;;;;:39;;1741:1;1704:39;:36;:39;:::i;:::-;1772:22;;1694:49;;-1:-1:-1;1772:29:19;;1799:1;1772:29;:26;:29;:::i;:::-;1747:22;:54;;;1805:50;;;;:19;:50;;;;;;;;:64;;-1:-1:-1;;;;;1805:64:19;;;-1:-1:-1;;1805:64:19;;;;;;;;1873:34;;;;;;:24;:34;;;;;:55;;;1932:26;:34;;;;;:38;;;;;;;;;:64;;;;;;;;;;2000:39;;;:22;:39;;;;:57;;-1:-1:-1;;2000:57:19;1805:64;2000:57;;;1620:441::o;405:123:15:-;463:7;489:5;;;505:6;;;;498:14;;;;523:1;405:123;-1:-1:-1;;;405:123:15:o;107:3240:19:-;;;;;;;;;;:::o", + "source": "pragma solidity ^0.4.21;\n\nimport './WorkerPool.sol';\nimport \"./OwnableOZ.sol\";\nimport \"./SafeMathOZ.sol\";\n\ncontract WorkerPoolHub is OwnableOZ // is Owned by IexecHub\n{\n\n\tusing SafeMathOZ for uint256;\n\n\t/**\n\t * Members\n\t */\n\t// worker => workerPool\n\tmapping(address => address) m_workerAffectation;\n\t// owner => index\n\tmapping(address => uint256) m_workerPoolCountByOwner;\n\t// owner => index => workerPool\n\tmapping(address => mapping(uint256 => address)) m_workerPoolByOwnerByIndex;\n\t// workerPool => owner // stored in the workerPool\n\t/* mapping(address => address) m_ownerByWorkerPool; */\n\tmapping(address => bool) m_workerPoolRegistered;\n\n\tmapping(uint256 => address) m_workerPoolByIndex;\n\tuint256 public m_totalWorkerPoolCount;\n\n\n\n\t/**\n\t * Constructor\n\t */\n\tfunction WorkerPoolHub() public\n\t{\n\t}\n\n\t/**\n\t * Methods\n\t */\n\tfunction isWorkerPoolRegistered(address _workerPool) public view returns (bool)\n\t{\n\t\treturn m_workerPoolRegistered[_workerPool];\n\t}\n\tfunction getWorkerPoolsCount(address _owner) public view returns (uint256)\n\t{\n\t\treturn m_workerPoolCountByOwner[_owner];\n\t}\n\tfunction getWorkerPool(address _owner, uint256 _index) public view returns (address)\n\t{\n\t\treturn m_workerPoolByOwnerByIndex[_owner][_index];\n\t}\n\tfunction getWorkerPoolByIndex(uint256 _index) public view returns (address)\n\t{\n\t\treturn m_workerPoolByIndex[_index];\n\t}\n\tfunction getWorkerAffectation(address _worker) public view returns (address workerPool)\n\t{\n\t\treturn m_workerAffectation[_worker];\n\t}\n\n\tfunction addWorkerPool(address _owner, address _workerPool) internal\n\t{\n\t\tuint id = m_workerPoolCountByOwner[_owner].add(1);\n\t\tm_totalWorkerPoolCount = m_totalWorkerPoolCount.add(1);\n\t\tm_workerPoolByIndex [m_totalWorkerPoolCount] = _workerPool;\n\t\tm_workerPoolCountByOwner [_owner] = id;\n\t\tm_workerPoolByOwnerByIndex[_owner][id] = _workerPool;\n\t\tm_workerPoolRegistered [_workerPool] = true;\n\t}\n\n\tfunction createWorkerPool(\n\t\tstring _description,\n\t\tuint256 _subscriptionLockStakePolicy,\n\t\tuint256 _subscriptionMinimumStakePolicy,\n\t\tuint256 _subscriptionMinimumScorePolicy,\n\t\taddress _marketplaceAddress)\n\texternal onlyOwner /*owner == IexecHub*/ returns (address createdWorkerPool)\n\t{\n\t\t// tx.origin == owner\n\t\t// msg.sender == IexecHub\n\t\t// At creating ownership is transfered to tx.origin\n\t\taddress newWorkerPool = new WorkerPool(\n\t\t\tmsg.sender, // iexecHubAddress\n\t\t\t_description,\n\t\t\t_subscriptionLockStakePolicy,\n\t\t\t_subscriptionMinimumStakePolicy,\n\t\t\t_subscriptionMinimumScorePolicy,\n\t\t\t_marketplaceAddress\n\t\t);\n\t\taddWorkerPool(tx.origin, newWorkerPool);\n\t\treturn newWorkerPool;\n\t}\n\n\tfunction registerWorkerAffectation(address _workerPool, address _worker) public onlyOwner /*owner == IexecHub*/ returns (bool subscribed)\n\t{\n\t\t// you must have no cuurent affectation on others worker Pool\n\t\trequire(m_workerAffectation[_worker] == address(0));\n\t\tm_workerAffectation[_worker] = _workerPool;\n\t\treturn true;\n\t}\n\n\tfunction unregisterWorkerAffectation(address _workerPool, address _worker) public onlyOwner /*owner == IexecHub*/ returns (bool unsubscribed)\n\t{\n\t\trequire(m_workerAffectation[_worker] == _workerPool);\n\t\tm_workerAffectation[_worker] = address(0);\n\t\treturn true;\n\t}\n}\n", + "sourcePath": "/Users/fbranci/iexecdev/PoCo/contracts/WorkerPoolHub.sol", + "ast": { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/WorkerPoolHub.sol", + "exportedSymbols": { + "WorkerPoolHub": [ + 6349 + ] + }, + "id": 6350, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 6099, + "literals": [ + "solidity", + "^", + "0.4", + ".21" + ], + "nodeType": "PragmaDirective", + "src": "0:24:19" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/WorkerPool.sol", + "file": "./WorkerPool.sol", + "id": 6100, + "nodeType": "ImportDirective", + "scope": 6350, + "sourceUnit": 6098, + "src": "26:26:19", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/OwnableOZ.sol", + "file": "./OwnableOZ.sol", + "id": 6101, + "nodeType": "ImportDirective", + "scope": 6350, + "sourceUnit": 3748, + "src": "53:25:19", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/SafeMathOZ.sol", + "file": "./SafeMathOZ.sol", + "id": 6102, + "nodeType": "ImportDirective", + "scope": 6350, + "sourceUnit": 3925, + "src": "79:26:19", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": [], + "baseName": { + "contractScope": null, + "id": 6103, + "name": "OwnableOZ", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 3747, + "src": "133:9:19", + "typeDescriptions": { + "typeIdentifier": "t_contract$_OwnableOZ_$3747", + "typeString": "contract OwnableOZ" + } + }, + "id": 6104, + "nodeType": "InheritanceSpecifier", + "src": "133:9:19" + } + ], + "contractDependencies": [ + 3747, + 6097 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 6349, + "linearizedBaseContracts": [ + 6349, + 3747 + ], + "name": "WorkerPoolHub", + "nodeType": "ContractDefinition", + "nodes": [ + { + "id": 6107, + "libraryName": { + "contractScope": null, + "id": 6105, + "name": "SafeMathOZ", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 3924, + "src": "177:10:19", + "typeDescriptions": { + "typeIdentifier": "t_contract$_SafeMathOZ_$3924", + "typeString": "library SafeMathOZ" + } + }, + "nodeType": "UsingForDirective", + "src": "171:29:19", + "typeName": { + "id": 6106, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "192:7:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + { + "constant": false, + "id": 6111, + "name": "m_workerAffectation", + "nodeType": "VariableDeclaration", + "scope": 6349, + "src": "250:67:19", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_address_$", + "typeString": "mapping(address => address)" + }, + "typeName": { + "id": 6110, + "keyType": { + "id": 6108, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "258:7:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "250:27:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_address_$", + "typeString": "mapping(address => address)" + }, + "valueType": { + "id": 6109, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "269:7:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6115, + "name": "m_workerPoolCountByOwner", + "nodeType": "VariableDeclaration", + "scope": 6349, + "src": "339:72:19", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "typeName": { + "id": 6114, + "keyType": { + "id": 6112, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "347:7:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "339:27:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "valueType": { + "id": 6113, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "358:7:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6121, + "name": "m_workerPoolByOwnerByIndex", + "nodeType": "VariableDeclaration", + "scope": 6349, + "src": "447:74:19", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_address_$_$", + "typeString": "mapping(address => mapping(uint256 => address))" + }, + "typeName": { + "id": 6120, + "keyType": { + "id": 6116, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "455:7:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "447:47:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_address_$_$", + "typeString": "mapping(address => mapping(uint256 => address))" + }, + "valueType": { + "id": 6119, + "keyType": { + "id": 6117, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "474:7:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Mapping", + "src": "466:27:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + }, + "valueType": { + "id": 6118, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "485:7:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6125, + "name": "m_workerPoolRegistered", + "nodeType": "VariableDeclaration", + "scope": 6349, + "src": "653:70:19", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + }, + "typeName": { + "id": 6124, + "keyType": { + "id": 6122, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "661:7:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "653:24:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + }, + "valueType": { + "id": 6123, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "672:4:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6129, + "name": "m_workerPoolByIndex", + "nodeType": "VariableDeclaration", + "scope": 6349, + "src": "727:67:19", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + }, + "typeName": { + "id": 6128, + "keyType": { + "id": 6126, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "735:7:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Mapping", + "src": "727:27:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + }, + "valueType": { + "id": 6127, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "746:7:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6131, + "name": "m_totalWorkerPoolCount", + "nodeType": "VariableDeclaration", + "scope": 6349, + "src": "797:70:19", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6130, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "797:7:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "public" + }, + { + "body": { + "id": 6134, + "nodeType": "Block", + "src": "932:4:19", + "statements": [] + }, + "documentation": "Constructor", + "id": 6135, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "WorkerPoolHub", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6132, + "nodeType": "ParameterList", + "parameters": [], + "src": "921:2:19" + }, + "payable": false, + "returnParameters": { + "id": 6133, + "nodeType": "ParameterList", + "parameters": [], + "src": "932:0:19" + }, + "scope": 6349, + "src": "899:37:19", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 6146, + "nodeType": "Block", + "src": "1042:50:19", + "statements": [ + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6142, + "name": "m_workerPoolRegistered", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6125, + "src": "1053:22:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 6144, + "indexExpression": { + "argumentTypes": null, + "id": 6143, + "name": "_workerPool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6137, + "src": "1076:11:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1053:35:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 6141, + "id": 6145, + "nodeType": "Return", + "src": "1046:42:19" + } + ] + }, + "documentation": "Methods", + "id": 6147, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "isWorkerPoolRegistered", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6138, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6137, + "name": "_workerPool", + "nodeType": "VariableDeclaration", + "scope": 6147, + "src": "993:19:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6136, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "993:7:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "992:21:19" + }, + "payable": false, + "returnParameters": { + "id": 6141, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6140, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 6147, + "src": "1035:4:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6139, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1035:4:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1034:6:19" + }, + "scope": 6349, + "src": "961:131:19", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 6158, + "nodeType": "Block", + "src": "1170:47:19", + "statements": [ + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6154, + "name": "m_workerPoolCountByOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6115, + "src": "1181:24:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 6156, + "indexExpression": { + "argumentTypes": null, + "id": 6155, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6149, + "src": "1206:6:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1181:32:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 6153, + "id": 6157, + "nodeType": "Return", + "src": "1174:39:19" + } + ] + }, + "documentation": null, + "id": 6159, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getWorkerPoolsCount", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6150, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6149, + "name": "_owner", + "nodeType": "VariableDeclaration", + "scope": 6159, + "src": "1123:14:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6148, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1123:7:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1122:16:19" + }, + "payable": false, + "returnParameters": { + "id": 6153, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6152, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 6159, + "src": "1160:7:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6151, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1160:7:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1159:9:19" + }, + "scope": 6349, + "src": "1094:123:19", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 6174, + "nodeType": "Block", + "src": "1305:57:19", + "statements": [ + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6168, + "name": "m_workerPoolByOwnerByIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6121, + "src": "1316:26:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_address_$_$", + "typeString": "mapping(address => mapping(uint256 => address))" + } + }, + "id": 6170, + "indexExpression": { + "argumentTypes": null, + "id": 6169, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6161, + "src": "1343:6:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1316:34:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + } + }, + "id": 6172, + "indexExpression": { + "argumentTypes": null, + "id": 6171, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6163, + "src": "1351:6:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1316:42:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 6167, + "id": 6173, + "nodeType": "Return", + "src": "1309:49:19" + } + ] + }, + "documentation": null, + "id": 6175, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getWorkerPool", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6164, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6161, + "name": "_owner", + "nodeType": "VariableDeclaration", + "scope": 6175, + "src": "1242:14:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6160, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1242:7:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6163, + "name": "_index", + "nodeType": "VariableDeclaration", + "scope": 6175, + "src": "1258:14:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6162, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1258:7:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1241:32:19" + }, + "payable": false, + "returnParameters": { + "id": 6167, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6166, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 6175, + "src": "1295:7:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6165, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1295:7:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1294:9:19" + }, + "scope": 6349, + "src": "1219:143:19", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 6186, + "nodeType": "Block", + "src": "1441:42:19", + "statements": [ + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6182, + "name": "m_workerPoolByIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6129, + "src": "1452:19:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + } + }, + "id": 6184, + "indexExpression": { + "argumentTypes": null, + "id": 6183, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6177, + "src": "1472:6:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1452:27:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 6181, + "id": 6185, + "nodeType": "Return", + "src": "1445:34:19" + } + ] + }, + "documentation": null, + "id": 6187, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getWorkerPoolByIndex", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6178, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6177, + "name": "_index", + "nodeType": "VariableDeclaration", + "scope": 6187, + "src": "1394:14:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6176, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1394:7:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1393:16:19" + }, + "payable": false, + "returnParameters": { + "id": 6181, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6180, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 6187, + "src": "1431:7:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6179, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1431:7:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1430:9:19" + }, + "scope": 6349, + "src": "1364:119:19", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 6198, + "nodeType": "Block", + "src": "1574:43:19", + "statements": [ + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6194, + "name": "m_workerAffectation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6111, + "src": "1585:19:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_address_$", + "typeString": "mapping(address => address)" + } + }, + "id": 6196, + "indexExpression": { + "argumentTypes": null, + "id": 6195, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6189, + "src": "1605:7:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1585:28:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 6193, + "id": 6197, + "nodeType": "Return", + "src": "1578:35:19" + } + ] + }, + "documentation": null, + "id": 6199, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getWorkerAffectation", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6190, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6189, + "name": "_worker", + "nodeType": "VariableDeclaration", + "scope": 6199, + "src": "1515:15:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6188, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1515:7:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1514:17:19" + }, + "payable": false, + "returnParameters": { + "id": 6193, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6192, + "name": "workerPool", + "nodeType": "VariableDeclaration", + "scope": 6199, + "src": "1553:18:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6191, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1553:7:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1552:20:19" + }, + "scope": 6349, + "src": "1485:132:19", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 6248, + "nodeType": "Block", + "src": "1690:371:19", + "statements": [ + { + "assignments": [ + 6207 + ], + "declarations": [ + { + "constant": false, + "id": 6207, + "name": "id", + "nodeType": "VariableDeclaration", + "scope": 6249, + "src": "1694:7:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6206, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1694:4:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 6214, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31", + "id": 6212, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1741:1:19", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6208, + "name": "m_workerPoolCountByOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6115, + "src": "1704:24:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 6210, + "indexExpression": { + "argumentTypes": null, + "id": 6209, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6201, + "src": "1729:6:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1704:32:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6211, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 3773, + "src": "1704:36:19", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 6213, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1704:39:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1694:49:19" + }, + { + "expression": { + "argumentTypes": null, + "id": 6220, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 6215, + "name": "m_totalWorkerPoolCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6131, + "src": "1747:22:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31", + "id": 6218, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1799:1:19", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "expression": { + "argumentTypes": null, + "id": 6216, + "name": "m_totalWorkerPoolCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6131, + "src": "1772:22:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6217, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 3773, + "src": "1772:26:19", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 6219, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1772:29:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1747:54:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6221, + "nodeType": "ExpressionStatement", + "src": "1747:54:19" + }, + { + "expression": { + "argumentTypes": null, + "id": 6226, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6222, + "name": "m_workerPoolByIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6129, + "src": "1805:19:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + } + }, + "id": 6224, + "indexExpression": { + "argumentTypes": null, + "id": 6223, + "name": "m_totalWorkerPoolCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6131, + "src": "1832:22:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1805:50:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 6225, + "name": "_workerPool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6203, + "src": "1858:11:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1805:64:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 6227, + "nodeType": "ExpressionStatement", + "src": "1805:64:19" + }, + { + "expression": { + "argumentTypes": null, + "id": 6232, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6228, + "name": "m_workerPoolCountByOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6115, + "src": "1873:24:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 6230, + "indexExpression": { + "argumentTypes": null, + "id": 6229, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6201, + "src": "1900:6:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1873:34:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 6231, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6207, + "src": "1926:2:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1873:55:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6233, + "nodeType": "ExpressionStatement", + "src": "1873:55:19" + }, + { + "expression": { + "argumentTypes": null, + "id": 6240, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6234, + "name": "m_workerPoolByOwnerByIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6121, + "src": "1932:26:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_address_$_$", + "typeString": "mapping(address => mapping(uint256 => address))" + } + }, + "id": 6237, + "indexExpression": { + "argumentTypes": null, + "id": 6235, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6201, + "src": "1959:6:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1932:34:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + } + }, + "id": 6238, + "indexExpression": { + "argumentTypes": null, + "id": 6236, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6207, + "src": "1967:2:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1932:38:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 6239, + "name": "_workerPool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6203, + "src": "1985:11:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1932:64:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 6241, + "nodeType": "ExpressionStatement", + "src": "1932:64:19" + }, + { + "expression": { + "argumentTypes": null, + "id": 6246, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6242, + "name": "m_workerPoolRegistered", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6125, + "src": "2000:22:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 6244, + "indexExpression": { + "argumentTypes": null, + "id": 6243, + "name": "_workerPool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6203, + "src": "2027:11:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2000:39:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 6245, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2053:4:19", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "2000:57:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 6247, + "nodeType": "ExpressionStatement", + "src": "2000:57:19" + } + ] + }, + "documentation": null, + "id": 6249, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "addWorkerPool", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6204, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6201, + "name": "_owner", + "nodeType": "VariableDeclaration", + "scope": 6249, + "src": "1643:14:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6200, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1643:7:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6203, + "name": "_workerPool", + "nodeType": "VariableDeclaration", + "scope": 6249, + "src": "1659:19:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6202, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1659:7:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1642:37:19" + }, + "payable": false, + "returnParameters": { + "id": 6205, + "nodeType": "ParameterList", + "parameters": [], + "src": "1690:0:19" + }, + "scope": 6349, + "src": "1620:441:19", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 6287, + "nodeType": "Block", + "src": "2350:403:19", + "statements": [ + { + "assignments": [ + 6267 + ], + "declarations": [ + { + "constant": false, + "id": 6267, + "name": "newWorkerPool", + "nodeType": "VariableDeclaration", + "scope": 6288, + "src": "2460:21:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6266, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2460:7:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 6278, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6270, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "2503:3:19", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6271, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2503:10:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 6272, + "name": "_description", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6251, + "src": "2537:12:19", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + }, + { + "argumentTypes": null, + "id": 6273, + "name": "_subscriptionLockStakePolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6253, + "src": "2554:28:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 6274, + "name": "_subscriptionMinimumStakePolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6255, + "src": "2587:31:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 6275, + "name": "_subscriptionMinimumScorePolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6257, + "src": "2623:31:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 6276, + "name": "_marketplaceAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6259, + "src": "2659:19:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 6269, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "2484:14:19", + "typeDescriptions": { + "typeIdentifier": "t_function_creation_nonpayable$_t_address_$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$returns$_t_contract$_WorkerPool_$6097_$", + "typeString": "function (address,string memory,uint256,uint256,uint256,address) returns (contract WorkerPool)" + }, + "typeName": { + "contractScope": null, + "id": 6268, + "name": "WorkerPool", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 6097, + "src": "2488:10:19", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkerPool_$6097", + "typeString": "contract WorkerPool" + } + } + }, + "id": 6277, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2484:198:19", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkerPool_$6097", + "typeString": "contract WorkerPool" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2460:222:19" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6280, + "name": "tx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7018, + "src": "2700:2:19", + "typeDescriptions": { + "typeIdentifier": "t_magic_transaction", + "typeString": "tx" + } + }, + "id": 6281, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "origin", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2700:9:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 6282, + "name": "newWorkerPool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6267, + "src": "2711:13:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 6279, + "name": "addWorkerPool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6249, + "src": "2686:13:19", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address)" + } + }, + "id": 6283, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2686:39:19", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6284, + "nodeType": "ExpressionStatement", + "src": "2686:39:19" + }, + { + "expression": { + "argumentTypes": null, + "id": 6285, + "name": "newWorkerPool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6267, + "src": "2736:13:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 6265, + "id": 6286, + "nodeType": "Return", + "src": "2729:20:19" + } + ] + }, + "documentation": null, + "id": 6288, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 6262, + "modifierName": { + "argumentTypes": null, + "id": 6261, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3700, + "src": "2281:9:19", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "2281:9:19" + } + ], + "name": "createWorkerPool", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6260, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6251, + "name": "_description", + "nodeType": "VariableDeclaration", + "scope": 6288, + "src": "2093:19:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + }, + "typeName": { + "id": 6250, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2093:6:19", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6253, + "name": "_subscriptionLockStakePolicy", + "nodeType": "VariableDeclaration", + "scope": 6288, + "src": "2116:36:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6252, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2116:7:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6255, + "name": "_subscriptionMinimumStakePolicy", + "nodeType": "VariableDeclaration", + "scope": 6288, + "src": "2156:39:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6254, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2156:7:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6257, + "name": "_subscriptionMinimumScorePolicy", + "nodeType": "VariableDeclaration", + "scope": 6288, + "src": "2199:39:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6256, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2199:7:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6259, + "name": "_marketplaceAddress", + "nodeType": "VariableDeclaration", + "scope": 6288, + "src": "2242:27:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6258, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2242:7:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2089:181:19" + }, + "payable": false, + "returnParameters": { + "id": 6265, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6264, + "name": "createdWorkerPool", + "nodeType": "VariableDeclaration", + "scope": 6288, + "src": "2322:25:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6263, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2322:7:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2321:27:19" + }, + "scope": 6349, + "src": "2064:689:19", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": { + "id": 6317, + "nodeType": "Block", + "src": "2895:184:19", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 6306, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6300, + "name": "m_workerAffectation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6111, + "src": "2971:19:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_address_$", + "typeString": "mapping(address => address)" + } + }, + "id": 6302, + "indexExpression": { + "argumentTypes": null, + "id": 6301, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6292, + "src": "2991:7:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2971:28:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 6304, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3011:1:19", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 6303, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3003:7:19", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 6305, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3003:10:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "2971:42:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 6299, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "2963:7:19", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 6307, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2963:51:19", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6308, + "nodeType": "ExpressionStatement", + "src": "2963:51:19" + }, + { + "expression": { + "argumentTypes": null, + "id": 6313, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6309, + "name": "m_workerAffectation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6111, + "src": "3018:19:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_address_$", + "typeString": "mapping(address => address)" + } + }, + "id": 6311, + "indexExpression": { + "argumentTypes": null, + "id": 6310, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6292, + "src": "3038:7:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3018:28:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 6312, + "name": "_workerPool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6290, + "src": "3049:11:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "3018:42:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 6314, + "nodeType": "ExpressionStatement", + "src": "3018:42:19" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 6315, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3071:4:19", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 6298, + "id": 6316, + "nodeType": "Return", + "src": "3064:11:19" + } + ] + }, + "documentation": null, + "id": 6318, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 6295, + "modifierName": { + "argumentTypes": null, + "id": 6294, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3700, + "src": "2836:9:19", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "2836:9:19" + } + ], + "name": "registerWorkerAffectation", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6293, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6290, + "name": "_workerPool", + "nodeType": "VariableDeclaration", + "scope": 6318, + "src": "2791:19:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6289, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2791:7:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6292, + "name": "_worker", + "nodeType": "VariableDeclaration", + "scope": 6318, + "src": "2812:15:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6291, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2812:7:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2790:38:19" + }, + "payable": false, + "returnParameters": { + "id": 6298, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6297, + "name": "subscribed", + "nodeType": "VariableDeclaration", + "scope": 6318, + "src": "2877:15:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6296, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2877:4:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2876:17:19" + }, + "scope": 6349, + "src": "2756:323:19", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 6347, + "nodeType": "Block", + "src": "3225:120:19", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 6334, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6330, + "name": "m_workerAffectation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6111, + "src": "3237:19:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_address_$", + "typeString": "mapping(address => address)" + } + }, + "id": 6332, + "indexExpression": { + "argumentTypes": null, + "id": 6331, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6322, + "src": "3257:7:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3237:28:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 6333, + "name": "_workerPool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6320, + "src": "3269:11:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "3237:43:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 6329, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "3229:7:19", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 6335, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3229:52:19", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6336, + "nodeType": "ExpressionStatement", + "src": "3229:52:19" + }, + { + "expression": { + "argumentTypes": null, + "id": 6343, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6337, + "name": "m_workerAffectation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6111, + "src": "3285:19:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_address_$", + "typeString": "mapping(address => address)" + } + }, + "id": 6339, + "indexExpression": { + "argumentTypes": null, + "id": 6338, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6322, + "src": "3305:7:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3285:28:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 6341, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3324:1:19", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 6340, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3316:7:19", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 6342, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3316:10:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "3285:41:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 6344, + "nodeType": "ExpressionStatement", + "src": "3285:41:19" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 6345, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3337:4:19", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 6328, + "id": 6346, + "nodeType": "Return", + "src": "3330:11:19" + } + ] + }, + "documentation": null, + "id": 6348, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 6325, + "modifierName": { + "argumentTypes": null, + "id": 6324, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3700, + "src": "3164:9:19", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "3164:9:19" + } + ], + "name": "unregisterWorkerAffectation", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6323, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6320, + "name": "_workerPool", + "nodeType": "VariableDeclaration", + "scope": 6348, + "src": "3119:19:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6319, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3119:7:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6322, + "name": "_worker", + "nodeType": "VariableDeclaration", + "scope": 6348, + "src": "3140:15:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6321, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3140:7:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3118:38:19" + }, + "payable": false, + "returnParameters": { + "id": 6328, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6327, + "name": "unsubscribed", + "nodeType": "VariableDeclaration", + "scope": 6348, + "src": "3205:17:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6326, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3205:4:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3204:19:19" + }, + "scope": 6349, + "src": "3082:263:19", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 6350, + "src": "107:3240:19" + } + ], + "src": "0:3348:19" + }, + "legacyAST": { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/WorkerPoolHub.sol", + "exportedSymbols": { + "WorkerPoolHub": [ + 6349 + ] + }, + "id": 6350, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 6099, + "literals": [ + "solidity", + "^", + "0.4", + ".21" + ], + "nodeType": "PragmaDirective", + "src": "0:24:19" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/WorkerPool.sol", + "file": "./WorkerPool.sol", + "id": 6100, + "nodeType": "ImportDirective", + "scope": 6350, + "sourceUnit": 6098, + "src": "26:26:19", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/OwnableOZ.sol", + "file": "./OwnableOZ.sol", + "id": 6101, + "nodeType": "ImportDirective", + "scope": 6350, + "sourceUnit": 3748, + "src": "53:25:19", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/Users/fbranci/iexecdev/PoCo/contracts/SafeMathOZ.sol", + "file": "./SafeMathOZ.sol", + "id": 6102, + "nodeType": "ImportDirective", + "scope": 6350, + "sourceUnit": 3925, + "src": "79:26:19", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": [], + "baseName": { + "contractScope": null, + "id": 6103, + "name": "OwnableOZ", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 3747, + "src": "133:9:19", + "typeDescriptions": { + "typeIdentifier": "t_contract$_OwnableOZ_$3747", + "typeString": "contract OwnableOZ" + } + }, + "id": 6104, + "nodeType": "InheritanceSpecifier", + "src": "133:9:19" + } + ], + "contractDependencies": [ + 3747, + 6097 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 6349, + "linearizedBaseContracts": [ + 6349, + 3747 + ], + "name": "WorkerPoolHub", + "nodeType": "ContractDefinition", + "nodes": [ + { + "id": 6107, + "libraryName": { + "contractScope": null, + "id": 6105, + "name": "SafeMathOZ", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 3924, + "src": "177:10:19", + "typeDescriptions": { + "typeIdentifier": "t_contract$_SafeMathOZ_$3924", + "typeString": "library SafeMathOZ" + } + }, + "nodeType": "UsingForDirective", + "src": "171:29:19", + "typeName": { + "id": 6106, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "192:7:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + { + "constant": false, + "id": 6111, + "name": "m_workerAffectation", + "nodeType": "VariableDeclaration", + "scope": 6349, + "src": "250:67:19", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_address_$", + "typeString": "mapping(address => address)" + }, + "typeName": { + "id": 6110, + "keyType": { + "id": 6108, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "258:7:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "250:27:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_address_$", + "typeString": "mapping(address => address)" + }, + "valueType": { + "id": 6109, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "269:7:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6115, + "name": "m_workerPoolCountByOwner", + "nodeType": "VariableDeclaration", + "scope": 6349, + "src": "339:72:19", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "typeName": { + "id": 6114, + "keyType": { + "id": 6112, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "347:7:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "339:27:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "valueType": { + "id": 6113, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "358:7:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6121, + "name": "m_workerPoolByOwnerByIndex", + "nodeType": "VariableDeclaration", + "scope": 6349, + "src": "447:74:19", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_address_$_$", + "typeString": "mapping(address => mapping(uint256 => address))" + }, + "typeName": { + "id": 6120, + "keyType": { + "id": 6116, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "455:7:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "447:47:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_address_$_$", + "typeString": "mapping(address => mapping(uint256 => address))" + }, + "valueType": { + "id": 6119, + "keyType": { + "id": 6117, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "474:7:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Mapping", + "src": "466:27:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + }, + "valueType": { + "id": 6118, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "485:7:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6125, + "name": "m_workerPoolRegistered", + "nodeType": "VariableDeclaration", + "scope": 6349, + "src": "653:70:19", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + }, + "typeName": { + "id": 6124, + "keyType": { + "id": 6122, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "661:7:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "653:24:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + }, + "valueType": { + "id": 6123, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "672:4:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6129, + "name": "m_workerPoolByIndex", + "nodeType": "VariableDeclaration", + "scope": 6349, + "src": "727:67:19", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + }, + "typeName": { + "id": 6128, + "keyType": { + "id": 6126, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "735:7:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Mapping", + "src": "727:27:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + }, + "valueType": { + "id": 6127, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "746:7:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6131, + "name": "m_totalWorkerPoolCount", + "nodeType": "VariableDeclaration", + "scope": 6349, + "src": "797:70:19", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6130, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "797:7:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "public" + }, + { + "body": { + "id": 6134, + "nodeType": "Block", + "src": "932:4:19", + "statements": [] + }, + "documentation": "Constructor", + "id": 6135, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "WorkerPoolHub", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6132, + "nodeType": "ParameterList", + "parameters": [], + "src": "921:2:19" + }, + "payable": false, + "returnParameters": { + "id": 6133, + "nodeType": "ParameterList", + "parameters": [], + "src": "932:0:19" + }, + "scope": 6349, + "src": "899:37:19", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 6146, + "nodeType": "Block", + "src": "1042:50:19", + "statements": [ + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6142, + "name": "m_workerPoolRegistered", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6125, + "src": "1053:22:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 6144, + "indexExpression": { + "argumentTypes": null, + "id": 6143, + "name": "_workerPool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6137, + "src": "1076:11:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1053:35:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 6141, + "id": 6145, + "nodeType": "Return", + "src": "1046:42:19" + } + ] + }, + "documentation": "Methods", + "id": 6147, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "isWorkerPoolRegistered", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6138, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6137, + "name": "_workerPool", + "nodeType": "VariableDeclaration", + "scope": 6147, + "src": "993:19:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6136, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "993:7:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "992:21:19" + }, + "payable": false, + "returnParameters": { + "id": 6141, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6140, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 6147, + "src": "1035:4:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6139, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1035:4:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1034:6:19" + }, + "scope": 6349, + "src": "961:131:19", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 6158, + "nodeType": "Block", + "src": "1170:47:19", + "statements": [ + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6154, + "name": "m_workerPoolCountByOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6115, + "src": "1181:24:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 6156, + "indexExpression": { + "argumentTypes": null, + "id": 6155, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6149, + "src": "1206:6:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1181:32:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 6153, + "id": 6157, + "nodeType": "Return", + "src": "1174:39:19" + } + ] + }, + "documentation": null, + "id": 6159, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getWorkerPoolsCount", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6150, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6149, + "name": "_owner", + "nodeType": "VariableDeclaration", + "scope": 6159, + "src": "1123:14:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6148, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1123:7:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1122:16:19" + }, + "payable": false, + "returnParameters": { + "id": 6153, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6152, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 6159, + "src": "1160:7:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6151, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1160:7:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1159:9:19" + }, + "scope": 6349, + "src": "1094:123:19", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 6174, + "nodeType": "Block", + "src": "1305:57:19", + "statements": [ + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6168, + "name": "m_workerPoolByOwnerByIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6121, + "src": "1316:26:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_address_$_$", + "typeString": "mapping(address => mapping(uint256 => address))" + } + }, + "id": 6170, + "indexExpression": { + "argumentTypes": null, + "id": 6169, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6161, + "src": "1343:6:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1316:34:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + } + }, + "id": 6172, + "indexExpression": { + "argumentTypes": null, + "id": 6171, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6163, + "src": "1351:6:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1316:42:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 6167, + "id": 6173, + "nodeType": "Return", + "src": "1309:49:19" + } + ] + }, + "documentation": null, + "id": 6175, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getWorkerPool", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6164, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6161, + "name": "_owner", + "nodeType": "VariableDeclaration", + "scope": 6175, + "src": "1242:14:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6160, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1242:7:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6163, + "name": "_index", + "nodeType": "VariableDeclaration", + "scope": 6175, + "src": "1258:14:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6162, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1258:7:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1241:32:19" + }, + "payable": false, + "returnParameters": { + "id": 6167, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6166, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 6175, + "src": "1295:7:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6165, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1295:7:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1294:9:19" + }, + "scope": 6349, + "src": "1219:143:19", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 6186, + "nodeType": "Block", + "src": "1441:42:19", + "statements": [ + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6182, + "name": "m_workerPoolByIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6129, + "src": "1452:19:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + } + }, + "id": 6184, + "indexExpression": { + "argumentTypes": null, + "id": 6183, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6177, + "src": "1472:6:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1452:27:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 6181, + "id": 6185, + "nodeType": "Return", + "src": "1445:34:19" + } + ] + }, + "documentation": null, + "id": 6187, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getWorkerPoolByIndex", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6178, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6177, + "name": "_index", + "nodeType": "VariableDeclaration", + "scope": 6187, + "src": "1394:14:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6176, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1394:7:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1393:16:19" + }, + "payable": false, + "returnParameters": { + "id": 6181, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6180, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 6187, + "src": "1431:7:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6179, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1431:7:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1430:9:19" + }, + "scope": 6349, + "src": "1364:119:19", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 6198, + "nodeType": "Block", + "src": "1574:43:19", + "statements": [ + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6194, + "name": "m_workerAffectation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6111, + "src": "1585:19:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_address_$", + "typeString": "mapping(address => address)" + } + }, + "id": 6196, + "indexExpression": { + "argumentTypes": null, + "id": 6195, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6189, + "src": "1605:7:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1585:28:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 6193, + "id": 6197, + "nodeType": "Return", + "src": "1578:35:19" + } + ] + }, + "documentation": null, + "id": 6199, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getWorkerAffectation", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6190, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6189, + "name": "_worker", + "nodeType": "VariableDeclaration", + "scope": 6199, + "src": "1515:15:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6188, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1515:7:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1514:17:19" + }, + "payable": false, + "returnParameters": { + "id": 6193, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6192, + "name": "workerPool", + "nodeType": "VariableDeclaration", + "scope": 6199, + "src": "1553:18:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6191, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1553:7:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1552:20:19" + }, + "scope": 6349, + "src": "1485:132:19", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 6248, + "nodeType": "Block", + "src": "1690:371:19", + "statements": [ + { + "assignments": [ + 6207 + ], + "declarations": [ + { + "constant": false, + "id": 6207, + "name": "id", + "nodeType": "VariableDeclaration", + "scope": 6249, + "src": "1694:7:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6206, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1694:4:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 6214, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31", + "id": 6212, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1741:1:19", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6208, + "name": "m_workerPoolCountByOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6115, + "src": "1704:24:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 6210, + "indexExpression": { + "argumentTypes": null, + "id": 6209, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6201, + "src": "1729:6:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1704:32:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6211, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 3773, + "src": "1704:36:19", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 6213, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1704:39:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1694:49:19" + }, + { + "expression": { + "argumentTypes": null, + "id": 6220, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 6215, + "name": "m_totalWorkerPoolCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6131, + "src": "1747:22:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31", + "id": 6218, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1799:1:19", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "expression": { + "argumentTypes": null, + "id": 6216, + "name": "m_totalWorkerPoolCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6131, + "src": "1772:22:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6217, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 3773, + "src": "1772:26:19", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 6219, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1772:29:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1747:54:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6221, + "nodeType": "ExpressionStatement", + "src": "1747:54:19" + }, + { + "expression": { + "argumentTypes": null, + "id": 6226, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6222, + "name": "m_workerPoolByIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6129, + "src": "1805:19:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + } + }, + "id": 6224, + "indexExpression": { + "argumentTypes": null, + "id": 6223, + "name": "m_totalWorkerPoolCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6131, + "src": "1832:22:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1805:50:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 6225, + "name": "_workerPool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6203, + "src": "1858:11:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1805:64:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 6227, + "nodeType": "ExpressionStatement", + "src": "1805:64:19" + }, + { + "expression": { + "argumentTypes": null, + "id": 6232, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6228, + "name": "m_workerPoolCountByOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6115, + "src": "1873:24:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 6230, + "indexExpression": { + "argumentTypes": null, + "id": 6229, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6201, + "src": "1900:6:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1873:34:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 6231, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6207, + "src": "1926:2:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1873:55:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6233, + "nodeType": "ExpressionStatement", + "src": "1873:55:19" + }, + { + "expression": { + "argumentTypes": null, + "id": 6240, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6234, + "name": "m_workerPoolByOwnerByIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6121, + "src": "1932:26:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_address_$_$", + "typeString": "mapping(address => mapping(uint256 => address))" + } + }, + "id": 6237, + "indexExpression": { + "argumentTypes": null, + "id": 6235, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6201, + "src": "1959:6:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1932:34:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + } + }, + "id": 6238, + "indexExpression": { + "argumentTypes": null, + "id": 6236, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6207, + "src": "1967:2:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1932:38:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 6239, + "name": "_workerPool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6203, + "src": "1985:11:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1932:64:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 6241, + "nodeType": "ExpressionStatement", + "src": "1932:64:19" + }, + { + "expression": { + "argumentTypes": null, + "id": 6246, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6242, + "name": "m_workerPoolRegistered", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6125, + "src": "2000:22:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 6244, + "indexExpression": { + "argumentTypes": null, + "id": 6243, + "name": "_workerPool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6203, + "src": "2027:11:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2000:39:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 6245, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2053:4:19", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "2000:57:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 6247, + "nodeType": "ExpressionStatement", + "src": "2000:57:19" + } + ] + }, + "documentation": null, + "id": 6249, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "addWorkerPool", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6204, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6201, + "name": "_owner", + "nodeType": "VariableDeclaration", + "scope": 6249, + "src": "1643:14:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6200, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1643:7:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6203, + "name": "_workerPool", + "nodeType": "VariableDeclaration", + "scope": 6249, + "src": "1659:19:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6202, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1659:7:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1642:37:19" + }, + "payable": false, + "returnParameters": { + "id": 6205, + "nodeType": "ParameterList", + "parameters": [], + "src": "1690:0:19" + }, + "scope": 6349, + "src": "1620:441:19", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 6287, + "nodeType": "Block", + "src": "2350:403:19", + "statements": [ + { + "assignments": [ + 6267 + ], + "declarations": [ + { + "constant": false, + "id": 6267, + "name": "newWorkerPool", + "nodeType": "VariableDeclaration", + "scope": 6288, + "src": "2460:21:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6266, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2460:7:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 6278, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6270, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7008, + "src": "2503:3:19", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6271, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2503:10:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 6272, + "name": "_description", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6251, + "src": "2537:12:19", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + }, + { + "argumentTypes": null, + "id": 6273, + "name": "_subscriptionLockStakePolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6253, + "src": "2554:28:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 6274, + "name": "_subscriptionMinimumStakePolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6255, + "src": "2587:31:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 6275, + "name": "_subscriptionMinimumScorePolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6257, + "src": "2623:31:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 6276, + "name": "_marketplaceAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6259, + "src": "2659:19:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 6269, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "2484:14:19", + "typeDescriptions": { + "typeIdentifier": "t_function_creation_nonpayable$_t_address_$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$returns$_t_contract$_WorkerPool_$6097_$", + "typeString": "function (address,string memory,uint256,uint256,uint256,address) returns (contract WorkerPool)" + }, + "typeName": { + "contractScope": null, + "id": 6268, + "name": "WorkerPool", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 6097, + "src": "2488:10:19", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkerPool_$6097", + "typeString": "contract WorkerPool" + } + } + }, + "id": 6277, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2484:198:19", + "typeDescriptions": { + "typeIdentifier": "t_contract$_WorkerPool_$6097", + "typeString": "contract WorkerPool" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2460:222:19" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6280, + "name": "tx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7018, + "src": "2700:2:19", + "typeDescriptions": { + "typeIdentifier": "t_magic_transaction", + "typeString": "tx" + } + }, + "id": 6281, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "origin", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2700:9:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 6282, + "name": "newWorkerPool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6267, + "src": "2711:13:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 6279, + "name": "addWorkerPool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6249, + "src": "2686:13:19", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address)" + } + }, + "id": 6283, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2686:39:19", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6284, + "nodeType": "ExpressionStatement", + "src": "2686:39:19" + }, + { + "expression": { + "argumentTypes": null, + "id": 6285, + "name": "newWorkerPool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6267, + "src": "2736:13:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 6265, + "id": 6286, + "nodeType": "Return", + "src": "2729:20:19" + } + ] + }, + "documentation": null, + "id": 6288, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 6262, + "modifierName": { + "argumentTypes": null, + "id": 6261, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3700, + "src": "2281:9:19", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "2281:9:19" + } + ], + "name": "createWorkerPool", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6260, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6251, + "name": "_description", + "nodeType": "VariableDeclaration", + "scope": 6288, + "src": "2093:19:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + }, + "typeName": { + "id": 6250, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2093:6:19", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string storage pointer" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6253, + "name": "_subscriptionLockStakePolicy", + "nodeType": "VariableDeclaration", + "scope": 6288, + "src": "2116:36:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6252, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2116:7:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6255, + "name": "_subscriptionMinimumStakePolicy", + "nodeType": "VariableDeclaration", + "scope": 6288, + "src": "2156:39:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6254, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2156:7:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6257, + "name": "_subscriptionMinimumScorePolicy", + "nodeType": "VariableDeclaration", + "scope": 6288, + "src": "2199:39:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6256, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2199:7:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6259, + "name": "_marketplaceAddress", + "nodeType": "VariableDeclaration", + "scope": 6288, + "src": "2242:27:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6258, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2242:7:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2089:181:19" + }, + "payable": false, + "returnParameters": { + "id": 6265, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6264, + "name": "createdWorkerPool", + "nodeType": "VariableDeclaration", + "scope": 6288, + "src": "2322:25:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6263, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2322:7:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2321:27:19" + }, + "scope": 6349, + "src": "2064:689:19", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": { + "id": 6317, + "nodeType": "Block", + "src": "2895:184:19", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 6306, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6300, + "name": "m_workerAffectation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6111, + "src": "2971:19:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_address_$", + "typeString": "mapping(address => address)" + } + }, + "id": 6302, + "indexExpression": { + "argumentTypes": null, + "id": 6301, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6292, + "src": "2991:7:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2971:28:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 6304, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3011:1:19", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 6303, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3003:7:19", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 6305, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3003:10:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "2971:42:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 6299, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "2963:7:19", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 6307, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2963:51:19", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6308, + "nodeType": "ExpressionStatement", + "src": "2963:51:19" + }, + { + "expression": { + "argumentTypes": null, + "id": 6313, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6309, + "name": "m_workerAffectation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6111, + "src": "3018:19:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_address_$", + "typeString": "mapping(address => address)" + } + }, + "id": 6311, + "indexExpression": { + "argumentTypes": null, + "id": 6310, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6292, + "src": "3038:7:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3018:28:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 6312, + "name": "_workerPool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6290, + "src": "3049:11:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "3018:42:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 6314, + "nodeType": "ExpressionStatement", + "src": "3018:42:19" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 6315, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3071:4:19", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 6298, + "id": 6316, + "nodeType": "Return", + "src": "3064:11:19" + } + ] + }, + "documentation": null, + "id": 6318, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 6295, + "modifierName": { + "argumentTypes": null, + "id": 6294, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3700, + "src": "2836:9:19", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "2836:9:19" + } + ], + "name": "registerWorkerAffectation", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6293, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6290, + "name": "_workerPool", + "nodeType": "VariableDeclaration", + "scope": 6318, + "src": "2791:19:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6289, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2791:7:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6292, + "name": "_worker", + "nodeType": "VariableDeclaration", + "scope": 6318, + "src": "2812:15:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6291, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2812:7:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2790:38:19" + }, + "payable": false, + "returnParameters": { + "id": 6298, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6297, + "name": "subscribed", + "nodeType": "VariableDeclaration", + "scope": 6318, + "src": "2877:15:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6296, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2877:4:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2876:17:19" + }, + "scope": 6349, + "src": "2756:323:19", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 6347, + "nodeType": "Block", + "src": "3225:120:19", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 6334, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6330, + "name": "m_workerAffectation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6111, + "src": "3237:19:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_address_$", + "typeString": "mapping(address => address)" + } + }, + "id": 6332, + "indexExpression": { + "argumentTypes": null, + "id": 6331, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6322, + "src": "3257:7:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3237:28:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 6333, + "name": "_workerPool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6320, + "src": "3269:11:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "3237:43:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 6329, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "3229:7:19", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 6335, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3229:52:19", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6336, + "nodeType": "ExpressionStatement", + "src": "3229:52:19" + }, + { + "expression": { + "argumentTypes": null, + "id": 6343, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6337, + "name": "m_workerAffectation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6111, + "src": "3285:19:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_address_$", + "typeString": "mapping(address => address)" + } + }, + "id": 6339, + "indexExpression": { + "argumentTypes": null, + "id": 6338, + "name": "_worker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6322, + "src": "3305:7:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3285:28:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 6341, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3324:1:19", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 6340, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3316:7:19", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 6342, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3316:10:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "3285:41:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 6344, + "nodeType": "ExpressionStatement", + "src": "3285:41:19" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 6345, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3337:4:19", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 6328, + "id": 6346, + "nodeType": "Return", + "src": "3330:11:19" + } + ] + }, + "documentation": null, + "id": 6348, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 6325, + "modifierName": { + "argumentTypes": null, + "id": 6324, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3700, + "src": "3164:9:19", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "3164:9:19" + } + ], + "name": "unregisterWorkerAffectation", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6323, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6320, + "name": "_workerPool", + "nodeType": "VariableDeclaration", + "scope": 6348, + "src": "3119:19:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6319, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3119:7:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6322, + "name": "_worker", + "nodeType": "VariableDeclaration", + "scope": 6348, + "src": "3140:15:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6321, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3140:7:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3118:38:19" + }, + "payable": false, + "returnParameters": { + "id": 6328, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6327, + "name": "unsubscribed", + "nodeType": "VariableDeclaration", + "scope": 6348, + "src": "3205:17:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6326, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3205:4:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3204:19:19" + }, + "scope": 6349, + "src": "3082:263:19", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 6350, + "src": "107:3240:19" + } + ], + "src": "0:3348:19" + }, + "compiler": { + "name": "solc", + "version": "0.4.21+commit.dfe3193c.Emscripten.clang" + }, + "networks": { + "1": { + "events": { + "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + } + }, + "links": {}, + "address": "0x897dc0cca9bb43f7601e477e721ef4dea4453f07", + "transactionHash": "0xd7c68a10d9c0666b2b10130808138c7fa113287b3b302c6af656753838bae29f" + } + }, + "schemaVersion": "2.0.0", + "updatedAt": "2018-06-12T15:21:39.633Z" +} \ No newline at end of file diff --git a/truffle-hdwallet.js b/truffle-hdwallet.js index c0d5ac88..aa1c91a0 100644 --- a/truffle-hdwallet.js +++ b/truffle-hdwallet.js @@ -196,7 +196,82 @@ module.exports = { network_id: "1", gas: 4400000, gasPrice: 22000000000, - },*/ + }, + Using network 'mainnet'. + + Running migration: 1_initial_migration.js + Deploying Migrations... + ... 0xa961d67e562c2252d195c1f2d99e37a68768f173fccbe65e36217acd04d1a8f8 + Migrations: 0x016dffb35cf40f8723417e5aa2c0bd7adb8a9a62 + Saving successful migration to network... + ... 0x0655be0e98854e2029fcbdbb2af6b40f20a1511537216f142a65d64c0463893a + Saving artifacts... + Running migration: 2_deploy_contracts.js + sleeping... + Deploying WorkerPoolHub... + ... 0xd7c68a10d9c0666b2b10130808138c7fa113287b3b302c6af656753838bae29f + WorkerPoolHub: 0x897dc0cca9bb43f7601e477e721ef4dea4453f07 + WorkerPoolHub deployed at address: 0x897dc0cca9bb43f7601e477e721ef4dea4453f07 + sleeping... + Deploying AppHub... + ... 0xfea5e3122cea6830157eb8c4b28319e62d65a64c53c4546160d31aadfb5d6ff6 + AppHub: 0xb4f226150bdc6cf901c15e4ed1caeda7ea5c512c + AppHub deployed at address: 0xb4f226150bdc6cf901c15e4ed1caeda7ea5c512c + sleeping... + Deploying DatasetHub... + ... 0x32e88b373ae05c173eb3d743879f98acbbccde8192a7056ce4a44e7a03cc2896 + DatasetHub: 0xd0bb45fd58e357c9b3a5e7a36a5c6b6b5d1cf9b2 + DatasetHub deployed at address: 0xd0bb45fd58e357c9b3a5e7a36a5c6b6b5d1cf9b2 + sleeping... + Deploying IexecHub... + ... 0x931349936f3b358dc84c873e30d76258cf67ac64c953d11335211234b5ceee43 + IexecHub: 0x0d5ef019ca4c5cc413ee892ced89d7107c5f424d + IexecHub deployed at address: 0x0d5ef019ca4c5cc413ee892ced89d7107c5f424d + sleeping... + ... 0xd4e5b2df39b43534823c9ab01f651dc8ffdd91bce4918405954972d8a64ba86e + setImmutableOwnership of WorkerPoolHub to IexecHub + sleeping... + ... 0xe895f549a93b68c9d8ff978b3312b67212d87470a68968b7c80563fdaa656508 + setImmutableOwnership of AppHub to IexecHub + sleeping... + ... 0x60b03139251d363495ba2601eda1f2d1ec71ed2f86b5db57ea925159ec4ededb + setImmutableOwnership of DatasetHub to IexecHub + sleeping... + Deploying Marketplace... + ... 0xc0c911f0899002e7216f2c99730813e30c4764988b3cb8fcbab0e625afec5f56 + Marketplace: 0xfb7703c74f14930f8871c34056d5db6693e5a00b + Marketplace deployed at address: 0xfb7703c74f14930f8871c34056d5db6693e5a00b + sleeping... + ... 0xb16e055845689dd5163487bc6cc0fa3763887c1351bc6fc19914ceb6e5a02a1d + attach Contracts to IexecHub done + sleeping... + ... 0xd14a326d01fabda89e64630f6da88ddb9048f1915ac31da905e64792bff18919 + setCategoriesCreator to 0xfDd76d2aFe65a4aB85943b6E0e1c22eDf4e8B548 + create category : 1 + sleeping... + ... 0xc384a4ec42139498873d7a241aa4f96d97a77d477bc5438f9d9216c8580a7cf9 + create category : 2 + sleeping... + ... 0xef1f2cec252e6857a4606e2b1d6c28cf2f5d77bd54c1810664bda3f04d22933b + create category : 3 + sleeping... + ... 0xad749e6a5ca9e80e01c90b5effbfd1b2f745e8e820ff68c43b0347b03dbc9395 + create category : 4 + sleeping... + ... 0x3bf7642f5d44ba762d3090d93d0d5ca62a9a41e3c87d399011b4a04dd499e4e6 + create category : 5 + sleeping... + ... 0x3f644cf27044f8ac76b1d3bbe469a5db98161bbffacdf58d36858c247137f424 + m_categoriesCount is now: 5 + Saving successful migration to network... + ... 0xa233c95039e3638a3a9933b4ec87c2e16cc3e4c5cb98a6155571180ec4a7d67b + Saving artifacts... + + + + + + */ }, solc: { optimizer: { From 17285c22f58186a5db18a1bf663beeef2d457d13 Mon Sep 17 00:00:00 2001 From: francois branciard Date: Wed, 13 Jun 2018 11:16:06 +0200 Subject: [PATCH 4/6] add testnet deployed adresses #40 --- deployed/contracts/AppHub.json | 74 +- deployed/contracts/DatasetHub.json | 74 +- deployed/contracts/IexecHub.json | 974 ++- deployed/contracts/Marketplace.json | 20 +- deployed/contracts/RLC.json | 8856 ++----------------------- deployed/contracts/WorkerPoolHub.json | 74 +- 6 files changed, 1586 insertions(+), 8486 deletions(-) diff --git a/deployed/contracts/AppHub.json b/deployed/contracts/AppHub.json index 354b432b..2a8f89bb 100644 --- a/deployed/contracts/AppHub.json +++ b/deployed/contracts/AppHub.json @@ -4334,8 +4334,80 @@ "links": {}, "address": "0xb4f226150bdc6cf901c15e4ed1caeda7ea5c512c", "transactionHash": "0xfea5e3122cea6830157eb8c4b28319e62d65a64c53c4546160d31aadfb5d6ff6" + }, + "3": { + "events": { + "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + } + }, + "links": {}, + "address": "0xc61868aa0b3faefeb4ff741cfbf0911657707d09", + "transactionHash": "0x788d168f1a7f0ec25a5d941431848fa56374485fc46ff3dad27e8147af933016" + }, + "4": { + "events": { + "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + } + }, + "links": {}, + "address": "0x61896fb3107d31f18d18b931e95aad89d93b8b67", + "transactionHash": "0xeae9779434ff91703753957267437557c6d2e277011e4defb2a78e9f4f425eef" + }, + "42": { + "events": { + "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + } + }, + "links": {}, + "address": "0x90c7154bc5e77a0ff535bd9ac1ecd9cc14718f08", + "transactionHash": "0x8715c22e75f25c47236d6b109c4ef50be3c9d1c81f78803a529ec0b6dca15bb0" } }, "schemaVersion": "2.0.0", "updatedAt": "2018-06-12T15:21:39.629Z" -} \ No newline at end of file +} diff --git a/deployed/contracts/DatasetHub.json b/deployed/contracts/DatasetHub.json index 4eb59a0c..b973cd97 100644 --- a/deployed/contracts/DatasetHub.json +++ b/deployed/contracts/DatasetHub.json @@ -4334,8 +4334,80 @@ "links": {}, "address": "0xd0bb45fd58e357c9b3a5e7a36a5c6b6b5d1cf9b2", "transactionHash": "0x32e88b373ae05c173eb3d743879f98acbbccde8192a7056ce4a44e7a03cc2896" + }, + "3": { + "events": { + "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + } + }, + "links": {}, + "address": "0xfe6a941ddfbfc6924ea64dc2e576de3b5be3e3a5", + "transactionHash": "0xc27db0fa2a75105be1ea4a7b96ca7be52eaadc64f672dd8445f474873c27619b" + }, + "4": { + "events": { + "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + } + }, + "links": {}, + "address": "0x82f858f32c8ee88772e296650667a838e5d1b961", + "transactionHash": "0x21d2603c066bfb6ad6de46f4f3256465afb4fd7b302a278204f67660b8246650" + }, + "42": { + "events": { + "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + } + }, + "links": {}, + "address": "0xdee768d9a781658503445cbe79e463bcf90538d5", + "transactionHash": "0xa8bf388244ce05017d4370878c8b1bcece8019f8c527668db213e473edad0cf9" } }, "schemaVersion": "2.0.0", "updatedAt": "2018-06-12T15:21:39.560Z" -} \ No newline at end of file +} diff --git a/deployed/contracts/IexecHub.json b/deployed/contracts/IexecHub.json index 02a22a34..e37e51dd 100644 --- a/deployed/contracts/IexecHub.json +++ b/deployed/contracts/IexecHub.json @@ -47552,8 +47552,980 @@ "links": {}, "address": "0x0d5ef019ca4c5cc413ee892ced89d7107c5f424d", "transactionHash": "0x931349936f3b358dc84c873e30d76258cf67ac64c953d11335211234b5ceee43" + }, + "3": { + "events": { + "0x359f2105b31d71ee8e2315c3dc3427b3f7297dcc85dd3883d4554e67f1f22d00": { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "woid", + "type": "address" + }, + { + "indexed": true, + "name": "workerPool", + "type": "address" + } + ], + "name": "WorkOrderActivated", + "type": "event" + }, + "0xb3cae8ec1c2754530963fb2e254826aae88dda74178f1a0c5656776941e604b8": { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "woid", + "type": "address" + }, + { + "indexed": false, + "name": "workerPool", + "type": "address" + } + ], + "name": "WorkOrderClaimed", + "type": "event" + }, + "0xed236d0a24cb7a32c76960696e44bac711b80ef76780688405dc96c2495b75f9": { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "woid", + "type": "address" + }, + { + "indexed": false, + "name": "workerPool", + "type": "address" + } + ], + "name": "WorkOrderCompleted", + "type": "event" + }, + "0x03d3b6187bbe7d21aa3cf229e292ba41fa8bca6ec2128c0f1625178b8191cdc2": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "appOwner", + "type": "address" + }, + { + "indexed": true, + "name": "app", + "type": "address" + }, + { + "indexed": false, + "name": "appName", + "type": "string" + }, + { + "indexed": false, + "name": "appPrice", + "type": "uint256" + }, + { + "indexed": false, + "name": "appParams", + "type": "string" + } + ], + "name": "CreateApp", + "type": "event" + }, + "0x49413c774d3fe9c92f6ada69299963d9b4b1c13a1f2a95a019188e2c161ed143": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "datasetOwner", + "type": "address" + }, + { + "indexed": true, + "name": "dataset", + "type": "address" + }, + { + "indexed": false, + "name": "datasetName", + "type": "string" + }, + { + "indexed": false, + "name": "datasetPrice", + "type": "uint256" + }, + { + "indexed": false, + "name": "datasetParams", + "type": "string" + } + ], + "name": "CreateDataset", + "type": "event" + }, + "0x3c29f4ff1e741e465a1ad9cc4c0b8e51c046c021ca9e77172d812ae667f566f8": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "workerPoolOwner", + "type": "address" + }, + { + "indexed": true, + "name": "workerPool", + "type": "address" + }, + { + "indexed": false, + "name": "workerPoolDescription", + "type": "string" + } + ], + "name": "CreateWorkerPool", + "type": "event" + }, + "0x62bf08360c9d561749c54eaf4f8bf8cb6c8b6f4f40607bcec39a8172e714d25c": { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "catid", + "type": "uint256" + }, + { + "indexed": false, + "name": "name", + "type": "string" + }, + { + "indexed": false, + "name": "description", + "type": "string" + }, + { + "indexed": false, + "name": "workClockTimeRef", + "type": "uint256" + } + ], + "name": "CreateCategory", + "type": "event" + }, + "0xd3548f8b6a2a11c4a35ef5a16dbf7142c9db5163c7d46e7f66482664277cff07": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "workerPool", + "type": "address" + }, + { + "indexed": false, + "name": "worker", + "type": "address" + } + ], + "name": "WorkerPoolSubscription", + "type": "event" + }, + "0x9644170e77fec17243f5fdc3519cba6d2162d1dda59af75508fd9a2005aeb784": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "workerPool", + "type": "address" + }, + { + "indexed": false, + "name": "worker", + "type": "address" + } + ], + "name": "WorkerPoolUnsubscription", + "type": "event" + }, + "0x5580db655b3146ef4d1fdba3305cf74dbc3f29126c7a3832533f84e00d149ee3": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "workerPool", + "type": "address" + }, + { + "indexed": false, + "name": "worker", + "type": "address" + } + ], + "name": "WorkerPoolEviction", + "type": "event" + }, + "0x98b231d22df4a95e9d99b5d3f4d25fab5a821c22d7f517a522731c2892ed4535": { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "woid", + "type": "address" + }, + { + "indexed": true, + "name": "worker", + "type": "address" + } + ], + "name": "AccurateContribution", + "type": "event" + }, + "0xd21e70eb7104cb6f403402b79fe1c088dc56b69ecb7474ae68a3e861a5a6d499": { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "woid", + "type": "address" + }, + { + "indexed": true, + "name": "worker", + "type": "address" + } + ], + "name": "FaultyContribution", + "type": "event" + }, + "0xe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c": { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "owner", + "type": "address" + }, + { + "indexed": false, + "name": "amount", + "type": "uint256" + } + ], + "name": "Deposit", + "type": "event" + }, + "0x884edad9ce6fa2440d8a54cc123490eb96d2768479d49ff9c7366125a9424364": { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "owner", + "type": "address" + }, + { + "indexed": false, + "name": "amount", + "type": "uint256" + } + ], + "name": "Withdraw", + "type": "event" + }, + "0x619caafabdd75649b302ba8419e48cccf64f37f1983ac4727cfb38b57703ffc9": { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "user", + "type": "address" + }, + { + "indexed": false, + "name": "amount", + "type": "uint256" + } + ], + "name": "Reward", + "type": "event" + }, + "0x4051ba94e08bb094159fc38391422b4b8ccfd2b1f8919c0eb37bb042d4b9cd8e": { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "user", + "type": "address" + }, + { + "indexed": false, + "name": "amount", + "type": "uint256" + } + ], + "name": "Seize", + "type": "event" + } + }, + "links": {}, + "address": "0x63d3215027dfaeab233d8feeddc660724c6b921b", + "transactionHash": "0xe8daef1530474edbf097305edfca2a3707146c1fa4e53fd75004f3e438e76e33" + }, + "4": { + "events": { + "0x359f2105b31d71ee8e2315c3dc3427b3f7297dcc85dd3883d4554e67f1f22d00": { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "woid", + "type": "address" + }, + { + "indexed": true, + "name": "workerPool", + "type": "address" + } + ], + "name": "WorkOrderActivated", + "type": "event" + }, + "0xb3cae8ec1c2754530963fb2e254826aae88dda74178f1a0c5656776941e604b8": { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "woid", + "type": "address" + }, + { + "indexed": false, + "name": "workerPool", + "type": "address" + } + ], + "name": "WorkOrderClaimed", + "type": "event" + }, + "0xed236d0a24cb7a32c76960696e44bac711b80ef76780688405dc96c2495b75f9": { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "woid", + "type": "address" + }, + { + "indexed": false, + "name": "workerPool", + "type": "address" + } + ], + "name": "WorkOrderCompleted", + "type": "event" + }, + "0x03d3b6187bbe7d21aa3cf229e292ba41fa8bca6ec2128c0f1625178b8191cdc2": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "appOwner", + "type": "address" + }, + { + "indexed": true, + "name": "app", + "type": "address" + }, + { + "indexed": false, + "name": "appName", + "type": "string" + }, + { + "indexed": false, + "name": "appPrice", + "type": "uint256" + }, + { + "indexed": false, + "name": "appParams", + "type": "string" + } + ], + "name": "CreateApp", + "type": "event" + }, + "0x49413c774d3fe9c92f6ada69299963d9b4b1c13a1f2a95a019188e2c161ed143": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "datasetOwner", + "type": "address" + }, + { + "indexed": true, + "name": "dataset", + "type": "address" + }, + { + "indexed": false, + "name": "datasetName", + "type": "string" + }, + { + "indexed": false, + "name": "datasetPrice", + "type": "uint256" + }, + { + "indexed": false, + "name": "datasetParams", + "type": "string" + } + ], + "name": "CreateDataset", + "type": "event" + }, + "0x3c29f4ff1e741e465a1ad9cc4c0b8e51c046c021ca9e77172d812ae667f566f8": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "workerPoolOwner", + "type": "address" + }, + { + "indexed": true, + "name": "workerPool", + "type": "address" + }, + { + "indexed": false, + "name": "workerPoolDescription", + "type": "string" + } + ], + "name": "CreateWorkerPool", + "type": "event" + }, + "0x62bf08360c9d561749c54eaf4f8bf8cb6c8b6f4f40607bcec39a8172e714d25c": { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "catid", + "type": "uint256" + }, + { + "indexed": false, + "name": "name", + "type": "string" + }, + { + "indexed": false, + "name": "description", + "type": "string" + }, + { + "indexed": false, + "name": "workClockTimeRef", + "type": "uint256" + } + ], + "name": "CreateCategory", + "type": "event" + }, + "0xd3548f8b6a2a11c4a35ef5a16dbf7142c9db5163c7d46e7f66482664277cff07": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "workerPool", + "type": "address" + }, + { + "indexed": false, + "name": "worker", + "type": "address" + } + ], + "name": "WorkerPoolSubscription", + "type": "event" + }, + "0x9644170e77fec17243f5fdc3519cba6d2162d1dda59af75508fd9a2005aeb784": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "workerPool", + "type": "address" + }, + { + "indexed": false, + "name": "worker", + "type": "address" + } + ], + "name": "WorkerPoolUnsubscription", + "type": "event" + }, + "0x5580db655b3146ef4d1fdba3305cf74dbc3f29126c7a3832533f84e00d149ee3": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "workerPool", + "type": "address" + }, + { + "indexed": false, + "name": "worker", + "type": "address" + } + ], + "name": "WorkerPoolEviction", + "type": "event" + }, + "0x98b231d22df4a95e9d99b5d3f4d25fab5a821c22d7f517a522731c2892ed4535": { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "woid", + "type": "address" + }, + { + "indexed": true, + "name": "worker", + "type": "address" + } + ], + "name": "AccurateContribution", + "type": "event" + }, + "0xd21e70eb7104cb6f403402b79fe1c088dc56b69ecb7474ae68a3e861a5a6d499": { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "woid", + "type": "address" + }, + { + "indexed": true, + "name": "worker", + "type": "address" + } + ], + "name": "FaultyContribution", + "type": "event" + }, + "0xe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c": { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "owner", + "type": "address" + }, + { + "indexed": false, + "name": "amount", + "type": "uint256" + } + ], + "name": "Deposit", + "type": "event" + }, + "0x884edad9ce6fa2440d8a54cc123490eb96d2768479d49ff9c7366125a9424364": { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "owner", + "type": "address" + }, + { + "indexed": false, + "name": "amount", + "type": "uint256" + } + ], + "name": "Withdraw", + "type": "event" + }, + "0x619caafabdd75649b302ba8419e48cccf64f37f1983ac4727cfb38b57703ffc9": { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "user", + "type": "address" + }, + { + "indexed": false, + "name": "amount", + "type": "uint256" + } + ], + "name": "Reward", + "type": "event" + }, + "0x4051ba94e08bb094159fc38391422b4b8ccfd2b1f8919c0eb37bb042d4b9cd8e": { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "user", + "type": "address" + }, + { + "indexed": false, + "name": "amount", + "type": "uint256" + } + ], + "name": "Seize", + "type": "event" + } + }, + "links": {}, + "address": "0x32aedc290604f7a674781b232143b837a358d711", + "transactionHash": "0x9dcaa4ee834a66bb877998c176364dc03496aaced0f751df4edc459c680d98a1" + }, + "42": { + "events": { + "0x359f2105b31d71ee8e2315c3dc3427b3f7297dcc85dd3883d4554e67f1f22d00": { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "woid", + "type": "address" + }, + { + "indexed": true, + "name": "workerPool", + "type": "address" + } + ], + "name": "WorkOrderActivated", + "type": "event" + }, + "0xb3cae8ec1c2754530963fb2e254826aae88dda74178f1a0c5656776941e604b8": { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "woid", + "type": "address" + }, + { + "indexed": false, + "name": "workerPool", + "type": "address" + } + ], + "name": "WorkOrderClaimed", + "type": "event" + }, + "0xed236d0a24cb7a32c76960696e44bac711b80ef76780688405dc96c2495b75f9": { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "woid", + "type": "address" + }, + { + "indexed": false, + "name": "workerPool", + "type": "address" + } + ], + "name": "WorkOrderCompleted", + "type": "event" + }, + "0x03d3b6187bbe7d21aa3cf229e292ba41fa8bca6ec2128c0f1625178b8191cdc2": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "appOwner", + "type": "address" + }, + { + "indexed": true, + "name": "app", + "type": "address" + }, + { + "indexed": false, + "name": "appName", + "type": "string" + }, + { + "indexed": false, + "name": "appPrice", + "type": "uint256" + }, + { + "indexed": false, + "name": "appParams", + "type": "string" + } + ], + "name": "CreateApp", + "type": "event" + }, + "0x49413c774d3fe9c92f6ada69299963d9b4b1c13a1f2a95a019188e2c161ed143": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "datasetOwner", + "type": "address" + }, + { + "indexed": true, + "name": "dataset", + "type": "address" + }, + { + "indexed": false, + "name": "datasetName", + "type": "string" + }, + { + "indexed": false, + "name": "datasetPrice", + "type": "uint256" + }, + { + "indexed": false, + "name": "datasetParams", + "type": "string" + } + ], + "name": "CreateDataset", + "type": "event" + }, + "0x3c29f4ff1e741e465a1ad9cc4c0b8e51c046c021ca9e77172d812ae667f566f8": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "workerPoolOwner", + "type": "address" + }, + { + "indexed": true, + "name": "workerPool", + "type": "address" + }, + { + "indexed": false, + "name": "workerPoolDescription", + "type": "string" + } + ], + "name": "CreateWorkerPool", + "type": "event" + }, + "0x62bf08360c9d561749c54eaf4f8bf8cb6c8b6f4f40607bcec39a8172e714d25c": { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "catid", + "type": "uint256" + }, + { + "indexed": false, + "name": "name", + "type": "string" + }, + { + "indexed": false, + "name": "description", + "type": "string" + }, + { + "indexed": false, + "name": "workClockTimeRef", + "type": "uint256" + } + ], + "name": "CreateCategory", + "type": "event" + }, + "0xd3548f8b6a2a11c4a35ef5a16dbf7142c9db5163c7d46e7f66482664277cff07": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "workerPool", + "type": "address" + }, + { + "indexed": false, + "name": "worker", + "type": "address" + } + ], + "name": "WorkerPoolSubscription", + "type": "event" + }, + "0x9644170e77fec17243f5fdc3519cba6d2162d1dda59af75508fd9a2005aeb784": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "workerPool", + "type": "address" + }, + { + "indexed": false, + "name": "worker", + "type": "address" + } + ], + "name": "WorkerPoolUnsubscription", + "type": "event" + }, + "0x5580db655b3146ef4d1fdba3305cf74dbc3f29126c7a3832533f84e00d149ee3": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "workerPool", + "type": "address" + }, + { + "indexed": false, + "name": "worker", + "type": "address" + } + ], + "name": "WorkerPoolEviction", + "type": "event" + }, + "0x98b231d22df4a95e9d99b5d3f4d25fab5a821c22d7f517a522731c2892ed4535": { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "woid", + "type": "address" + }, + { + "indexed": true, + "name": "worker", + "type": "address" + } + ], + "name": "AccurateContribution", + "type": "event" + }, + "0xd21e70eb7104cb6f403402b79fe1c088dc56b69ecb7474ae68a3e861a5a6d499": { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "woid", + "type": "address" + }, + { + "indexed": true, + "name": "worker", + "type": "address" + } + ], + "name": "FaultyContribution", + "type": "event" + }, + "0xe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c": { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "owner", + "type": "address" + }, + { + "indexed": false, + "name": "amount", + "type": "uint256" + } + ], + "name": "Deposit", + "type": "event" + }, + "0x884edad9ce6fa2440d8a54cc123490eb96d2768479d49ff9c7366125a9424364": { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "owner", + "type": "address" + }, + { + "indexed": false, + "name": "amount", + "type": "uint256" + } + ], + "name": "Withdraw", + "type": "event" + }, + "0x619caafabdd75649b302ba8419e48cccf64f37f1983ac4727cfb38b57703ffc9": { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "user", + "type": "address" + }, + { + "indexed": false, + "name": "amount", + "type": "uint256" + } + ], + "name": "Reward", + "type": "event" + }, + "0x4051ba94e08bb094159fc38391422b4b8ccfd2b1f8919c0eb37bb042d4b9cd8e": { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "user", + "type": "address" + }, + { + "indexed": false, + "name": "amount", + "type": "uint256" + } + ], + "name": "Seize", + "type": "event" + } + }, + "links": {}, + "address": "0x12b92a17b1ca4bb10b861386446b8b2716e58c9b", + "transactionHash": "0xa1dbdbf6f34fe166b0e9d5eb68d3995b435717866dd50829a852cde33218c0f4" } }, "schemaVersion": "2.0.0", "updatedAt": "2018-06-12T15:21:39.663Z" -} \ No newline at end of file +} diff --git a/deployed/contracts/Marketplace.json b/deployed/contracts/Marketplace.json index 5bfdaaf4..66010144 100644 --- a/deployed/contracts/Marketplace.json +++ b/deployed/contracts/Marketplace.json @@ -16682,8 +16682,26 @@ "links": {}, "address": "0xfb7703c74f14930f8871c34056d5db6693e5a00b", "transactionHash": "0xc0c911f0899002e7216f2c99730813e30c4764988b3cb8fcbab0e625afec5f56" + }, + "3": { + "events": {}, + "links": {}, + "address": "0xc65b1643b8a6a2ba8fe70310be82689f8563917e", + "transactionHash": "0xde895aefba06d9434bf2cbf98596555819dae2a66c469d740139aa9afa71e08f" + }, + "4": { + "events": {}, + "links": {}, + "address": "0x2a6a5a0516add25dda891e4afdfc15cbcdf21643", + "transactionHash": "0xa86b5228523abde4c9c7e7c94efb8e7bf3f5be7e54235ba59e028dc2f4c76206" + }, + "42": { + "events": {}, + "links": {}, + "address": "0x9315a6ae9a9842bcb5ad8f5d43a4271d297088e2", + "transactionHash": "0x5ce96b9a7361cb6f557b9ff631cea6df2f6b4d11012682b27a7e814fac20feb9" } }, "schemaVersion": "2.0.0", "updatedAt": "2018-06-12T15:21:39.679Z" -} \ No newline at end of file +} diff --git a/deployed/contracts/RLC.json b/deployed/contracts/RLC.json index cac9b2a3..63987dde 100644 --- a/deployed/contracts/RLC.json +++ b/deployed/contracts/RLC.json @@ -1,5 +1,5 @@ { - "contractName": "RLC", + "contract_name": "RLC", "abi": [ { "constant": true, @@ -12,41 +12,56 @@ } ], "payable": false, - "stateMutability": "view", "type": "function" }, { - "constant": true, - "inputs": [], - "name": "totalSupply", + "constant": false, + "inputs": [ + { + "name": "_spender", + "type": "address" + }, + { + "name": "_value", + "type": "uint256" + } + ], + "name": "approve", "outputs": [ { "name": "", - "type": "uint256" + "type": "bool" } ], "payable": false, - "stateMutability": "view", "type": "function" }, { - "constant": true, - "inputs": [], - "name": "decimals", + "constant": false, + "inputs": [ + { + "name": "_to", + "type": "address" + }, + { + "name": "_value", + "type": "uint256" + } + ], + "name": "refill", "outputs": [ { "name": "", - "type": "uint8" + "type": "bool" } ], "payable": false, - "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], - "name": "initialSupply", + "name": "totalSupply", "outputs": [ { "name": "", @@ -54,55 +69,69 @@ } ], "payable": false, - "stateMutability": "view", "type": "function" }, { - "constant": true, - "inputs": [], - "name": "version", + "constant": false, + "inputs": [ + { + "name": "_from", + "type": "address" + }, + { + "name": "_to", + "type": "address" + }, + { + "name": "_value", + "type": "uint256" + } + ], + "name": "transferFrom", "outputs": [ { "name": "", - "type": "string" + "type": "bool" } ], "payable": false, - "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], - "name": "owner", + "name": "decimals", "outputs": [ { "name": "", - "type": "address" + "type": "uint8" } ], "payable": false, - "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], - "name": "symbol", + "name": "initialSupply", "outputs": [ { "name": "", - "type": "string" + "type": "uint256" } ], "payable": false, - "stateMutability": "view", "type": "function" }, { - "constant": true, - "inputs": [], - "name": "locked", + "constant": false, + "inputs": [ + { + "name": "_value", + "type": "uint256" + } + ], + "name": "burn", "outputs": [ { "name": "", @@ -110,99 +139,89 @@ } ], "payable": false, - "stateMutability": "view", "type": "function" }, { - "constant": false, - "inputs": [ + "constant": true, + "inputs": [], + "name": "version", + "outputs": [ { - "name": "newOwner", - "type": "address" + "name": "", + "type": "string" } ], - "name": "transferOwnership", - "outputs": [], "payable": false, - "stateMutability": "nonpayable", "type": "function" }, { - "inputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, + "constant": false, "inputs": [ { - "indexed": true, - "name": "from", + "name": "_giver", "type": "address" }, { - "indexed": true, - "name": "to", + "name": "_spender", "type": "address" }, { - "indexed": false, - "name": "value", + "name": "_value", "type": "uint256" } ], - "name": "Transfer", - "type": "event" + "name": "forceApprove", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "type": "function" }, { - "anonymous": false, + "constant": true, "inputs": [ { - "indexed": true, - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "name": "spender", + "name": "_owner", "type": "address" - }, + } + ], + "name": "balanceOf", + "outputs": [ { - "indexed": false, - "name": "value", + "name": "balance", "type": "uint256" } ], - "name": "Approval", - "type": "event" - }, - { - "constant": false, - "inputs": [], - "name": "unlock", - "outputs": [], "payable": false, - "stateMutability": "nonpayable", "type": "function" }, { - "constant": false, - "inputs": [ + "constant": true, + "inputs": [], + "name": "owner", + "outputs": [ { - "name": "_value", - "type": "uint256" + "name": "", + "type": "address" } ], - "name": "burn", + "payable": false, + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "symbol", "outputs": [ { "name": "", - "type": "bool" + "type": "string" } ], "payable": false, - "stateMutability": "nonpayable", "type": "function" }, { @@ -225,26 +244,33 @@ } ], "payable": false, - "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { - "name": "_from", - "type": "address" - }, - { - "name": "_to", + "name": "_spender", "type": "address" }, { "name": "_value", "type": "uint256" + }, + { + "name": "_extraData", + "type": "bytes" } ], - "name": "transferFrom", + "name": "approveAndCall", + "outputs": [], + "payable": false, + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "locked", "outputs": [ { "name": "", @@ -252,7 +278,6 @@ } ], "payable": false, - "stateMutability": "nonpayable", "type": "function" }, { @@ -261,24 +286,27 @@ { "name": "_owner", "type": "address" + }, + { + "name": "_spender", + "type": "address" } ], - "name": "balanceOf", + "name": "allowance", "outputs": [ { - "name": "balance", + "name": "remaining", "type": "uint256" } ], "payable": false, - "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { - "name": "_spender", + "name": "_toburn", "type": "address" }, { @@ -286,7 +314,7 @@ "type": "uint256" } ], - "name": "approve", + "name": "forceBurn", "outputs": [ { "name": "", @@ -294,8430 +322,296 @@ } ], "payable": false, - "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { - "name": "_spender", + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "payable": false, + "type": "function" + }, + { + "inputs": [ + { + "name": "faucetAgent1", "type": "address" }, { - "name": "_value", - "type": "uint256" + "name": "faucetAgent2", + "type": "address" }, { - "name": "_extraData", - "type": "bytes" + "name": "faucetAgent3", + "type": "address" } ], - "name": "approveAndCall", - "outputs": [], "payable": false, - "stateMutability": "nonpayable", - "type": "function" + "type": "constructor" }, { - "constant": true, + "anonymous": false, "inputs": [ { - "name": "_owner", + "indexed": true, + "name": "from", "type": "address" }, { - "name": "_spender", + "indexed": true, + "name": "to", "type": "address" + }, + { + "indexed": false, + "name": "value", + "type": "uint256" } ], - "name": "allowance", - "outputs": [ + "name": "Transfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ { - "name": "remaining", + "indexed": true, + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "name": "spender", + "type": "address" + }, + { + "indexed": false, + "name": "value", "type": "uint256" } ], - "payable": false, - "stateMutability": "view", - "type": "function" + "name": "Approval", + "type": "event" } ], - "bytecode": "0x606060405260408051908101604052600481527f76302e31000000000000000000000000000000000000000000000000000000006020820152600590805161004b929160200190610145565b50341561005757600080fd5b60018054600160a060020a03191633600160a060020a031690811782556008805460ff19169092179091556701351609ff7580006006819055600781905560009182526009602052604091829020558051908101604052601481527f6945782e6563204e6574776f726b20546f6b656e000000000000000000000000602082015260029080516100eb929160200190610145565b506040805190810160405260038082527f524c4300000000000000000000000000000000000000000000000000000000006020830152908051610132929160200190610145565b506004805460ff191660091790556101e0565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061018657805160ff19168380011785556101b3565b828001600101855582156101b3579182015b828111156101b3578251825591602001919060010190610198565b506101bf9291506101c3565b5090565b6101dd91905b808211156101bf57600081556001016101c9565b90565b610abd806101ef6000396000f3006060604052600436106100f05763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde0381146100f5578063095ea7b31461017f57806318160ddd146101b557806323b872dd146101da578063313ce56714610202578063378dc3dc1461022b57806342966c681461023e57806354fd4d501461025457806370a08231146102675780638da5cb5b1461028657806395d89b41146102b5578063a69df4b5146102c8578063a9059cbb146102dd578063cae9ca51146102ff578063cf30901214610364578063dd62ed3e14610377578063f2fde38b1461039c575b600080fd5b341561010057600080fd5b6101086103bb565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561014457808201518382015260200161012c565b50505050905090810190601f1680156101715780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561018a57600080fd5b6101a1600160a060020a0360043516602435610459565b604051901515815260200160405180910390f35b34156101c057600080fd5b6101c86104c5565b60405190815260200160405180910390f35b34156101e557600080fd5b6101a1600160a060020a03600435811690602435166044356104cb565b341561020d57600080fd5b6102156105fa565b60405160ff909116815260200160405180910390f35b341561023657600080fd5b6101c8610603565b341561024957600080fd5b6101a1600435610609565b341561025f57600080fd5b61010861069c565b341561027257600080fd5b6101c8600160a060020a0360043516610707565b341561029157600080fd5b610299610722565b604051600160a060020a03909116815260200160405180910390f35b34156102c057600080fd5b610108610731565b34156102d357600080fd5b6102db61079c565b005b34156102e857600080fd5b6101a1600160a060020a03600435166024356107c0565b341561030a57600080fd5b6102db60048035600160a060020a03169060248035919060649060443590810190830135806020601f820181900481020160405190810160405281815292919060208401838380828437509496506108a195505050505050565b341561036f57600080fd5b6101a16109c7565b341561038257600080fd5b6101c8600160a060020a03600435811690602435166109d0565b34156103a757600080fd5b6102db600160a060020a03600435166109fb565b60028054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156104515780601f1061042657610100808354040283529160200191610451565b820191906000526020600020905b81548152906001019060200180831161043457829003601f168201915b505050505081565b600160a060020a033381166000818152600a6020908152604080832094871680845294909152808220859055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a350600192915050565b60075481565b600154600090819033600160a060020a039081169116148015906104f1575060085460ff165b156104fb57600080fd5b50600160a060020a038085166000908152600a6020908152604080832033851684528252808320549387168352600990915290205461053a9084610a4d565b600160a060020a0380861660009081526009602052604080822093909355908716815220546105699084610a71565b600160a060020a03861660009081526009602052604090205561058c8184610a71565b600160a060020a038087166000818152600a6020908152604080832033861684529091529081902093909355908616917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9086905190815260200160405180910390a3506001949350505050565b60045460ff1681565b60065481565b600160a060020a03331660009081526009602052604081205461062c9083610a71565b600160a060020a0333166000908152600960205260409020556007546106529083610a71565b6007556000600160a060020a0333167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405190815260200160405180910390a3506001919050565b60058054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156104515780601f1061042657610100808354040283529160200191610451565b600160a060020a031660009081526009602052604090205490565b600154600160a060020a031681565b60038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156104515780601f1061042657610100808354040283529160200191610451565b60015433600160a060020a03908116911614156107be576008805460ff191690555b565b60015460009033600160a060020a039081169116148015906107e4575060085460ff165b156107ee57600080fd5b600160a060020a0333166000908152600960205260409020546108119083610a71565b600160a060020a0333811660009081526009602052604080822093909355908516815220546108409083610a4d565b600160a060020a0380851660008181526009602052604090819020939093559133909116907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a350600192915050565b826108ac8184610459565b156109c15780600160a060020a0316638f4ffcb1338530866040518563ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018085600160a060020a0316600160a060020a0316815260200184815260200183600160a060020a0316600160a060020a0316815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561096257808201518382015260200161094a565b50505050905090810190601f16801561098f5780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b15156109b057600080fd5b5af115156109bd57600080fd5b5050505b50505050565b60085460ff1681565b600160a060020a039182166000908152600a6020908152604080832093909416825291909152205490565b60015433600160a060020a0390811691161415610a4a57600160a060020a03811615610a4a576001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b50565b6000828201610a6a848210801590610a655750838210155b610a85565b9392505050565b6000610a7f83831115610a85565b50900390565b801515610a4a57600080fd00a165627a7a723058209729dbd2bcee57176d13aff929be5de57539c913706673bd54ab375467a2ac6f0029", - "deployedBytecode": "0x6060604052600436106100f05763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde0381146100f5578063095ea7b31461017f57806318160ddd146101b557806323b872dd146101da578063313ce56714610202578063378dc3dc1461022b57806342966c681461023e57806354fd4d501461025457806370a08231146102675780638da5cb5b1461028657806395d89b41146102b5578063a69df4b5146102c8578063a9059cbb146102dd578063cae9ca51146102ff578063cf30901214610364578063dd62ed3e14610377578063f2fde38b1461039c575b600080fd5b341561010057600080fd5b6101086103bb565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561014457808201518382015260200161012c565b50505050905090810190601f1680156101715780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561018a57600080fd5b6101a1600160a060020a0360043516602435610459565b604051901515815260200160405180910390f35b34156101c057600080fd5b6101c86104c5565b60405190815260200160405180910390f35b34156101e557600080fd5b6101a1600160a060020a03600435811690602435166044356104cb565b341561020d57600080fd5b6102156105fa565b60405160ff909116815260200160405180910390f35b341561023657600080fd5b6101c8610603565b341561024957600080fd5b6101a1600435610609565b341561025f57600080fd5b61010861069c565b341561027257600080fd5b6101c8600160a060020a0360043516610707565b341561029157600080fd5b610299610722565b604051600160a060020a03909116815260200160405180910390f35b34156102c057600080fd5b610108610731565b34156102d357600080fd5b6102db61079c565b005b34156102e857600080fd5b6101a1600160a060020a03600435166024356107c0565b341561030a57600080fd5b6102db60048035600160a060020a03169060248035919060649060443590810190830135806020601f820181900481020160405190810160405281815292919060208401838380828437509496506108a195505050505050565b341561036f57600080fd5b6101a16109c7565b341561038257600080fd5b6101c8600160a060020a03600435811690602435166109d0565b34156103a757600080fd5b6102db600160a060020a03600435166109fb565b60028054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156104515780601f1061042657610100808354040283529160200191610451565b820191906000526020600020905b81548152906001019060200180831161043457829003601f168201915b505050505081565b600160a060020a033381166000818152600a6020908152604080832094871680845294909152808220859055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a350600192915050565b60075481565b600154600090819033600160a060020a039081169116148015906104f1575060085460ff165b156104fb57600080fd5b50600160a060020a038085166000908152600a6020908152604080832033851684528252808320549387168352600990915290205461053a9084610a4d565b600160a060020a0380861660009081526009602052604080822093909355908716815220546105699084610a71565b600160a060020a03861660009081526009602052604090205561058c8184610a71565b600160a060020a038087166000818152600a6020908152604080832033861684529091529081902093909355908616917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9086905190815260200160405180910390a3506001949350505050565b60045460ff1681565b60065481565b600160a060020a03331660009081526009602052604081205461062c9083610a71565b600160a060020a0333166000908152600960205260409020556007546106529083610a71565b6007556000600160a060020a0333167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405190815260200160405180910390a3506001919050565b60058054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156104515780601f1061042657610100808354040283529160200191610451565b600160a060020a031660009081526009602052604090205490565b600154600160a060020a031681565b60038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156104515780601f1061042657610100808354040283529160200191610451565b60015433600160a060020a03908116911614156107be576008805460ff191690555b565b60015460009033600160a060020a039081169116148015906107e4575060085460ff165b156107ee57600080fd5b600160a060020a0333166000908152600960205260409020546108119083610a71565b600160a060020a0333811660009081526009602052604080822093909355908516815220546108409083610a4d565b600160a060020a0380851660008181526009602052604090819020939093559133909116907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a350600192915050565b826108ac8184610459565b156109c15780600160a060020a0316638f4ffcb1338530866040518563ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018085600160a060020a0316600160a060020a0316815260200184815260200183600160a060020a0316600160a060020a0316815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561096257808201518382015260200161094a565b50505050905090810190601f16801561098f5780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b15156109b057600080fd5b5af115156109bd57600080fd5b5050505b50505050565b60085460ff1681565b600160a060020a039182166000908152600a6020908152604080832093909416825291909152205490565b60015433600160a060020a0390811691161415610a4a57600160a060020a03811615610a4a576001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b50565b6000828201610a6a848210801590610a655750838210155b610a85565b9392505050565b6000610a7f83831115610a85565b50900390565b801515610a4a57600080fd00a165627a7a723058209729dbd2bcee57176d13aff929be5de57539c913706673bd54ab375467a2ac6f0029", - "sourceMap": "125:2917:22:-;;;333:30;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;773:601;;;;;;;;96:5:21;:18;;-1:-1:-1;;;;;;96:18:21;104:10;-1:-1:-1;;;;;96:18:21;;;;;;849:6:22;:13;;-1:-1:-1;;849:13:22;;;;;;;968:17;952:13;:33;;;991:11;:27;;;-1:-1:-1;1024:20:22;;;:8;:20;;;;;;;:36;:20;1124:29;;;;;;;;;;;;;;:4;;:29;;;;;;;;;:::i;:::-;;1208:14;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;1291:8:22;:12;;-1:-1:-1;;1291:12:22;1302:1;1291:12;;;125:2917;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;125:2917:22;;;-1:-1:-1;125:2917:22;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;", - "deployedSourceMap": "125:2917:22:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;211:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;211:18:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2394:173;;;;;;;;;;-1:-1:-1;;;;;2394:173:22;;;;;;;;;;;;;;;;;;;;;;;;397:23;;;;;;;;;;;;;;;;;;;;;;;;;;;1914:371;;;;;;;;;;-1:-1:-1;;;;;1914:371:22;;;;;;;;;;;;276:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;368:25;;;;;;;;;;;;1435:220;;;;;;;;;;;;;;333:30;;;;;;;;;;;;2289:101;;;;;;;;;;-1:-1:-1;;;;;2289:101:22;;;;;46:20:21;;;;;;;;;;;;;;;-1:-1:-1;;;;;46:20:21;;;;;;;;;;;;;;252::22;;;;;;;;;;;;1378:53;;;;;;;;;;;;;;1659:251;;;;;;;;;;-1:-1:-1;;;;;1659:251:22;;;;;;;2646:257;;;;;;;;;;;;;-1:-1:-1;;;;;2646:257:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2646:257:22;;-1:-1:-1;2646:257:22;;-1:-1:-1;;;;;;2646:257:22;424:18;;;;;;;;;;;;2907:130;;;;;;;;;;-1:-1:-1;;;;;2907:130:22;;;;;;;;;;191:110:21;;;;;;;;;;-1:-1:-1;;;;;191:110:21;;;;;211:18:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;2394:173::-;-1:-1:-1;;;;;2471:10:22;2463:19;;2451:4;2463:19;;;:7;:19;;;;;;;;:29;;;;;;;;;;;;;:38;;;2451:4;;2463:29;:19;2507:38;;2495:6;;2507:38;;;;;;;;;;;;;-1:-1:-1;2558:4:22;2394:173;;;;:::o;397:23::-;;;;:::o;1914:371::-;654:5;;1999:4;;;;640:10;-1:-1:-1;;;;;640:19:22;;;654:5;;640:19;;;;:29;;-1:-1:-1;663:6:22;;;;640:29;636:40;;;671:5;;;636:40;-1:-1:-1;;;;;;2028:14:22;;;;;;;:7;:14;;;;;;;;2043:10;2028:26;;;;;;;;;;2089:13;;;;;:8;:13;;;;;;2081:30;;2104:6;2081:7;:30::i;:::-;-1:-1:-1;;;;;2065:13:22;;;;;;;:8;:13;;;;;;:46;;;;2143:15;;;;;;;2135:32;;2160:6;2135:7;:32::i;:::-;-1:-1:-1;;;;;2117:15:22;;;;;;:8;:15;;;;;:50;2202:27;2210:10;2222:6;2202:7;:27::i;:::-;-1:-1:-1;;;;;2173:14:22;;;;;;;:7;:14;;;;;;;;2188:10;2173:26;;;;;;;;;;;:56;;;;2235:28;;;;;;2256:6;;2235:28;;;;;;;;;;;;;-1:-1:-1;2276:4:22;;1914:371;-1:-1:-1;;;;1914:371:22:o;276:21::-;;;;;;:::o;368:25::-;;;;:::o;1435:220::-;-1:-1:-1;;;;;1525:10:22;1516:20;1474:4;1516:20;;;:8;:20;;;;;;1508:37;;1538:6;1508:7;:37::i;:::-;-1:-1:-1;;;;;1494:10:22;1485:20;;;;;:8;:20;;;;;:60;1574:11;;1566:28;;1587:6;1566:7;:28::i;:::-;1552:11;:42;1621:3;-1:-1:-1;;;;;1609:10:22;1600:33;;1626:6;1600:33;;;;;;;;;;;;;;-1:-1:-1;1646:4:22;1435:220;;;:::o;333:30::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2289:101;-1:-1:-1;;;;;2369:16:22;2342:12;2369:16;;;:8;:16;;;;;;;2289:101::o;46:20:21:-;;;-1:-1:-1;;;;;46:20:21;;:::o;252::22:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1378:53;168:5:21;;154:10;-1:-1:-1;;;;;154:19:21;;;168:5;;154:19;150:32;;;1412:6:22;:14;;-1:-1:-1;;1412:14:22;;;150:32:21;1378:53:22:o;1659:251::-;654:5;;1725:4;;640:10;-1:-1:-1;;;;;640:19:22;;;654:5;;640:19;;;;:29;;-1:-1:-1;663:6:22;;;;640:29;636:40;;;671:5;;;636:40;-1:-1:-1;;;;;1777:10:22;1768:20;;;;;:8;:20;;;;;;1760:37;;1790:6;1760:7;:37::i;:::-;-1:-1:-1;;;;;1746:10:22;1737:20;;;;;;:8;:20;;;;;;:60;;;;1827:13;;;;;;;1819:30;;1842:6;1819:7;:30::i;:::-;-1:-1:-1;;;;;1803:13:22;;;;;;;:8;:13;;;;;;;:46;;;;:13;1864:10;1855:33;;;;;;1881:6;;1855:33;;;;;;;;;;;;;-1:-1:-1;1901:4:22;1659:251;;;;:::o;2646:257::-;2769:8;2790:25;2769:8;2808:6;2790:7;:25::i;:::-;2786:113;;;2829:7;-1:-1:-1;;;;;2829:23:22;;2853:10;2865:6;2873:4;2879:10;2829:61;;;;;;;;;;;;;-1:-1:-1;;;;;2829:61:22;-1:-1:-1;;;;;2829:61:22;;;;;;;;;;;-1:-1:-1;;;;;2829:61:22;-1:-1:-1;;;;;2829:61:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;2829:61:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2786:113;2646:257;;;;:::o;424:18::-;;;;;;:::o;2907:130::-;-1:-1:-1;;;;;3007:15:22;;;2978:14;3007:15;;;:7;:15;;;;;;;;:25;;;;;;;;;;;;;2907:130::o;191:110:21:-;168:5;;154:10;-1:-1:-1;;;;;154:19:21;;;168:5;;154:19;150:32;;;-1:-1:-1;;;;;256:22:21;;;252:44;;280:5;:16;;-1:-1:-1;;280:16:21;-1:-1:-1;;;;;280:16:21;;;;;252:44;191:110;:::o;436:122:23:-;487:4;508:5;;;519:20;526:4;;;;;;:12;;;537:1;534;:4;;526:12;519:6;:20::i;:::-;552:1;436:122;-1:-1:-1;;;436:122:23:o;332:100::-;383:4;395:14;407:1;402;:6;;395;:14::i;:::-;-1:-1:-1;422:5:23;;;332:100::o;992:87::-;1044:9;1043:10;1039:36;;;1063:5;;", - "source": "pragma solidity ^0.4.8;\n\nimport \"./Ownable.sol\";\nimport \"./SafeMath.sol\";\nimport \"./ERC20.sol\";\nimport \"./TokenSpender.sol\";\ncontract RLC is ERC20, SafeMath, Ownable {\n\n /* Public variables of the token */\n string public name; //fancy name\n string public symbol;\n uint8 public decimals; //How many decimals to show.\n string public version = 'v0.1'; \n uint public initialSupply;\n uint public totalSupply;\n bool public locked;\n //uint public unlockBlock;\n\n mapping(address => uint) balances;\n mapping (address => mapping (address => uint)) allowed;\n\n // lock transfer during the ICO\n modifier onlyUnlocked() {\n if (msg.sender != owner && locked) throw;\n _;\n }\n\n /*\n * The RLC Token created with the time at which the crowdsale end\n */\n\n function RLC() {\n // lock the transfer function during the crowdsale\n locked = true;\n //unlockBlock= now + 45 days; // (testnet) - for mainnet put the block number\n\n initialSupply = 87000000000000000;\n totalSupply = initialSupply;\n balances[msg.sender] = initialSupply;// Give the creator all initial tokens \n name = 'iEx.ec Network Token'; // Set the name for display purposes \n symbol = 'RLC'; // Set the symbol for display purposes \n decimals = 9; // Amount of decimals for display purposes\n }\n\n function unlock() onlyOwner {\n locked = false;\n }\n\n function burn(uint256 _value) returns (bool){\n balances[msg.sender] = safeSub(balances[msg.sender], _value) ;\n totalSupply = safeSub(totalSupply, _value);\n Transfer(msg.sender, 0x0, _value);\n return true;\n }\n\n function transfer(address _to, uint _value) onlyUnlocked returns (bool) {\n balances[msg.sender] = safeSub(balances[msg.sender], _value);\n balances[_to] = safeAdd(balances[_to], _value);\n Transfer(msg.sender, _to, _value);\n return true;\n }\n\n function transferFrom(address _from, address _to, uint _value) onlyUnlocked returns (bool) {\n var _allowance = allowed[_from][msg.sender];\n \n balances[_to] = safeAdd(balances[_to], _value);\n balances[_from] = safeSub(balances[_from], _value);\n allowed[_from][msg.sender] = safeSub(_allowance, _value);\n Transfer(_from, _to, _value);\n return true;\n }\n\n function balanceOf(address _owner) constant returns (uint balance) {\n return balances[_owner];\n }\n\n function approve(address _spender, uint _value) returns (bool) {\n allowed[msg.sender][_spender] = _value;\n Approval(msg.sender, _spender, _value);\n return true;\n }\n\n /* Approve and then comunicate the approved contract in a single tx */\n function approveAndCall(address _spender, uint256 _value, bytes _extraData){ \n TokenSpender spender = TokenSpender(_spender);\n if (approve(_spender, _value)) {\n spender.receiveApproval(msg.sender, _value, this, _extraData);\n }\n }\n\n function allowance(address _owner, address _spender) constant returns (uint remaining) {\n return allowed[_owner][_spender];\n }\n \n}\n\n", - "sourcePath": "rlc-token/contracts/RLC.sol", - "ast": { - "absolutePath": "rlc-token/contracts/RLC.sol", - "exportedSymbols": { - "RLC": [ - 6785 - ] + "unlinked_binary": + "0x606060405260408051908101604052600481527f76302e3100000000000000000000000000000000000000000000000000000000602082015260059080516200004d92916020019062000194565b5034156200005a57600080fd5b604051606080620010e58339810160405280805191906020018051919060200180519150505b5b60018054600160a060020a03191633600160a060020a03161790555b6701351609ff7580006006819055600755600160a060020a0380841660009081526009602052604080822066670758aa7c8000908190558584168352818320819055928416825290819020919091558051908101604052601481527f6945782e6563204e6574776f726b20546f6b656e000000000000000000000000602082015260029080516200013392916020019062000194565b506040805190810160405260038082527f524c43000000000000000000000000000000000000000000000000000000000060208301529080516200017c92916020019062000194565b506004805460ff191660091790555b5050506200023e565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620001d757805160ff191683800117855562000207565b8280016001018555821562000207579182015b8281111562000207578251825591602001919060010190620001ea565b5b50620002169291506200021a565b5090565b6200023b91905b8082111562000216576000815560010162000221565b5090565b90565b610e97806200024e6000396000f300606060405236156101045763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde038114610109578063095ea7b3146101945780630aa3ae7e146101ca57806318160ddd1461020057806323b872dd14610225578063313ce56714610261578063378dc3dc1461028a57806342966c68146102af57806354fd4d50146102d957806361f49ed61461036457806370a08231146103a05780638da5cb5b146103d157806395d89b4114610400578063a9059cbb1461048b578063cae9ca51146104c1578063cf30901214610528578063dd62ed3e1461054f578063e2d6f63414610586578063f2fde38b146105bc575b600080fd5b341561011457600080fd5b61011c6105dd565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101595780820151818401525b602001610140565b50505050905090810190601f1680156101865780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561019f57600080fd5b6101b6600160a060020a036004351660243561067b565b604051901515815260200160405180910390f35b34156101d557600080fd5b6101b6600160a060020a03600435166024356106e8565b604051901515815260200160405180910390f35b341561020b57600080fd5b610213610789565b60405190815260200160405180910390f35b341561023057600080fd5b6101b6600160a060020a036004358116906024351660443561078f565b604051901515815260200160405180910390f35b341561026c57600080fd5b610274610880565b60405160ff909116815260200160405180910390f35b341561029557600080fd5b610213610889565b60405190815260200160405180910390f35b34156102ba57600080fd5b6101b660043561088f565b604051901515815260200160405180910390f35b34156102e457600080fd5b61011c610911565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101595780820151818401525b602001610140565b50505050905090810190601f1680156101865780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561036f57600080fd5b6101b6600160a060020a03600435811690602435166044356109af565b604051901515815260200160405180910390f35b34156103ab57600080fd5b610213600160a060020a0360043516610a36565b60405190815260200160405180910390f35b34156103dc57600080fd5b6103e4610a55565b604051600160a060020a03909116815260200160405180910390f35b341561040b57600080fd5b61011c610a64565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101595780820151818401525b602001610140565b50505050905090810190601f1680156101865780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561049657600080fd5b6101b6600160a060020a0360043516602435610b02565b604051901515815260200160405180910390f35b34156104cc57600080fd5b61052660048035600160a060020a03169060248035919060649060443590810190830135806020601f82018190048102016040519081016040528181529291906020840183838082843750949650610ba495505050505050565b005b341561053357600080fd5b6101b6610cd0565b604051901515815260200160405180910390f35b341561055a57600080fd5b610213600160a060020a0360043581169060243516610cd9565b60405190815260200160405180910390f35b341561059157600080fd5b6101b6600160a060020a0360043516602435610d06565b604051901515815260200160405180910390f35b34156105c757600080fd5b610526600160a060020a0360043516610da5565b005b60028054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156106735780601f1061064857610100808354040283529160200191610673565b820191906000526020600020905b81548152906001019060200180831161065657829003601f168201915b505050505081565b600160a060020a033381166000818152600a6020908152604080832094871680845294909152808220859055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a35060015b92915050565b60015460009033600160a060020a03908116911614156106e257600160a060020a0383166000908152600960205260409020546107259083610dfa565b600160a060020a03841660009081526009602052604090205560075461074b9083610dfa565b600755600160a060020a03808416903316600080516020610e4c8339815191528460405190815260200160405180910390a35060015b5b5b92915050565b60075481565b600160a060020a038084166000908152600a602090815260408083203385168452825280832054938616835260099091528120549091906107d09084610dfa565b600160a060020a0380861660009081526009602052604080822093909355908716815220546107ff9084610e22565b600160a060020a0386166000908152600960205260409020556108228184610e22565b600160a060020a038087166000818152600a602090815260408083203386168452909152908190209390935590861691600080516020610e4c8339815191529086905190815260200160405180910390a3600191505b509392505050565b60045460ff1681565b60065481565b600160a060020a0333166000908152600960205260408120546108b29083610e22565b600160a060020a0333166000908152600960205260409020556007546108d89083610e22565b6007556000600160a060020a033316600080516020610e4c8339815191528460405190815260200160405180910390a35060015b919050565b60058054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156106735780601f1061064857610100808354040283529160200191610673565b820191906000526020600020905b81548152906001019060200180831161065657829003601f168201915b505050505081565b60015460009033600160a060020a0390811691161415610a2d57600160a060020a038085166000818152600a6020908152604080832094881680845294909152908190208590557f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a35060015b5b5b9392505050565b600160a060020a0381166000908152600960205260409020545b919050565b600154600160a060020a031681565b60038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156106735780601f1061064857610100808354040283529160200191610673565b820191906000526020600020905b81548152906001019060200180831161065657829003601f168201915b505050505081565b600160a060020a033316600090815260096020526040812054610b259083610e22565b600160a060020a033381166000908152600960205260408082209390935590851681522054610b549083610dfa565b600160a060020a038085166000818152600960205260409081902093909355913390911690600080516020610e4c8339815191529085905190815260200160405180910390a35060015b92915050565b82610baf818461067b565b15610cc95780600160a060020a0316638f4ffcb1338530866040518563ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018085600160a060020a0316600160a060020a0316815260200184815260200183600160a060020a0316600160a060020a0316815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610c665780820151818401525b602001610c4d565b50505050905090810190601f168015610c935780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b1515610cb457600080fd5b6102c65a03f11515610cc557600080fd5b5050505b5b50505050565b60085460ff1681565b600160a060020a038083166000908152600a60209081526040808320938516835292905220545b92915050565b60015460009033600160a060020a03908116911614156106e257600160a060020a038316600090815260096020526040902054610d439083610e22565b600160a060020a038416600090815260096020526040902055600754610d699083610e22565b6007556000600160a060020a038416600080516020610e4c8339815191528460405190815260200160405180910390a35060015b5b5b92915050565b60015433600160a060020a0390811691161415610df457600160a060020a03811615610df4576001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b5b5b5b50565b6000828201610e17848210801590610e125750838210155b610e3b565b8091505b5092915050565b6000610e3083831115610e3b565b508082035b92915050565b801515610df457600080fd5b5b505600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a72305820505d0ca96b8a7335a52688cc6fce8db0007717d7e97b58ff369ff7b2736452c60029", + "networks": { + "1": { + "address": "0x607F4C5BB672230e8672085532f7e901544a7375", + "links": {} }, - "id": 6786, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 6458, - "literals": [ - "solidity", - "^", - "0.4", - ".8" - ], - "nodeType": "PragmaDirective", - "src": "0:23:22" - }, - { - "absolutePath": "rlc-token/contracts/Ownable.sol", - "file": "./Ownable.sol", - "id": 6459, - "nodeType": "ImportDirective", - "scope": 6786, - "sourceUnit": 6457, - "src": "25:23:22", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "rlc-token/contracts/SafeMath.sol", - "file": "./SafeMath.sol", - "id": 6460, - "nodeType": "ImportDirective", - "scope": 6786, - "sourceUnit": 6982, - "src": "49:24:22", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "rlc-token/contracts/ERC20.sol", - "file": "./ERC20.sol", - "id": 6461, - "nodeType": "ImportDirective", - "scope": 6786, - "sourceUnit": 6416, - "src": "74:21:22", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "rlc-token/contracts/TokenSpender.sol", - "file": "./TokenSpender.sol", - "id": 6462, - "nodeType": "ImportDirective", - "scope": 6786, - "sourceUnit": 6996, - "src": "96:28:22", - "symbolAliases": [], - "unitAlias": "" + "3": { + "events": { + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "from", + "type": "address" + }, + { + "indexed": true, + "name": "to", + "type": "address" + }, + { + "indexed": false, + "name": "value", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "name": "spender", + "type": "address" + }, + { + "indexed": false, + "name": "value", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + } }, - { - "baseContracts": [ - { - "arguments": [], - "baseName": { - "contractScope": null, - "id": 6463, - "name": "ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6415, - "src": "141:5:22", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$6415", - "typeString": "contract ERC20" - } - }, - "id": 6464, - "nodeType": "InheritanceSpecifier", - "src": "141:5:22" - }, - { - "arguments": [], - "baseName": { - "contractScope": null, - "id": 6465, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6981, - "src": "148:8:22", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$6981", - "typeString": "contract SafeMath" - } - }, - "id": 6466, - "nodeType": "InheritanceSpecifier", - "src": "148:8:22" - }, - { - "arguments": [], - "baseName": { - "contractScope": null, - "id": 6467, - "name": "Ownable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6456, - "src": "158:7:22", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Ownable_$6456", - "typeString": "contract Ownable" - } - }, - "id": 6468, - "nodeType": "InheritanceSpecifier", - "src": "158:7:22" - } - ], - "contractDependencies": [ - 6415, - 6456, - 6981 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 6785, - "linearizedBaseContracts": [ - 6785, - 6456, - 6981, - 6415 - ], - "name": "RLC", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "id": 6470, - "name": "name", - "nodeType": "VariableDeclaration", - "scope": 6785, - "src": "211:18:22", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - }, - "typeName": { - "id": 6469, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "211:6:22", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 6472, - "name": "symbol", - "nodeType": "VariableDeclaration", - "scope": 6785, - "src": "252:20:22", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - }, - "typeName": { - "id": 6471, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "252:6:22", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 6474, - "name": "decimals", - "nodeType": "VariableDeclaration", - "scope": 6785, - "src": "276:21:22", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 6473, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "276:5:22", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 6477, - "name": "version", - "nodeType": "VariableDeclaration", - "scope": 6785, - "src": "333:30:22", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - }, - "typeName": { - "id": 6475, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "333:6:22", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "76302e31", - "id": 6476, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "357:6:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_6d332d76c5f02eb1a7286b96f4a528ceba4d78d0825283d5be2e358ade4be84e", - "typeString": "literal_string \"v0.1\"" - }, - "value": "v0.1" - }, - "visibility": "public" - }, - { - "constant": false, - "id": 6479, - "name": "initialSupply", - "nodeType": "VariableDeclaration", - "scope": 6785, - "src": "368:25:22", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6478, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "368:4:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 6481, - "name": "totalSupply", - "nodeType": "VariableDeclaration", - "scope": 6785, - "src": "397:23:22", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6480, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "397:4:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 6483, - "name": "locked", - "nodeType": "VariableDeclaration", - "scope": 6785, - "src": "424:18:22", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 6482, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "424:4:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 6487, - "name": "balances", - "nodeType": "VariableDeclaration", - "scope": 6785, - "src": "476:33:22", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 6486, - "keyType": { - "id": 6484, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "484:7:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "476:24:22", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 6485, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "495:4:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6493, - "name": "allowed", - "nodeType": "VariableDeclaration", - "scope": 6785, - "src": "513:54:22", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - }, - "typeName": { - "id": 6492, - "keyType": { - "id": 6488, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "522:7:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "513:46:22", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - }, - "valueType": { - "id": 6491, - "keyType": { - "id": 6489, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "542:7:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "533:25:22", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 6490, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "553:4:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "body": { - "id": 6504, - "nodeType": "Block", - "src": "630:58:22", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 6500, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 6498, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6495, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "640:3:22", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6496, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "640:10:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "id": 6497, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6419, - "src": "654:5:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "640:19:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "id": 6499, - "name": "locked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6483, - "src": "663:6:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "640:29:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6502, - "nodeType": "IfStatement", - "src": "636:40:22", - "trueBody": { - "id": 6501, - "nodeType": "Throw", - "src": "671:5:22" - } - }, - { - "id": 6503, - "nodeType": "PlaceholderStatement", - "src": "682:1:22" - } - ] - }, - "documentation": null, - "id": 6505, - "name": "onlyUnlocked", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 6494, - "nodeType": "ParameterList", - "parameters": [], - "src": "627:2:22" - }, - "src": "606:82:22", - "visibility": "internal" - }, - { - "body": { - "id": 6539, - "nodeType": "Block", - "src": "788:586:22", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 6510, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6508, - "name": "locked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6483, - "src": "849:6:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 6509, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "858:4:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "849:13:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 6511, - "nodeType": "ExpressionStatement", - "src": "849:13:22" - }, - { - "expression": { - "argumentTypes": null, - "id": 6514, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6512, - "name": "initialSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6479, - "src": "952:13:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "3837303030303030303030303030303030", - "id": 6513, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "968:17:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_87000000000000000_by_1", - "typeString": "int_const 87000000000000000" - }, - "value": "87000000000000000" - }, - "src": "952:33:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6515, - "nodeType": "ExpressionStatement", - "src": "952:33:22" - }, - { - "expression": { - "argumentTypes": null, - "id": 6518, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6516, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6481, - "src": "991:11:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6517, - "name": "initialSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6479, - "src": "1005:13:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "991:27:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6519, - "nodeType": "ExpressionStatement", - "src": "991:27:22" - }, - { - "expression": { - "argumentTypes": null, - "id": 6525, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6520, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6487, - "src": "1024:8:22", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 6523, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6521, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "1033:3:22", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6522, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1033:10:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1024:20:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6524, - "name": "initialSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6479, - "src": "1047:13:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1024:36:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6526, - "nodeType": "ExpressionStatement", - "src": "1024:36:22" - }, - { - "expression": { - "argumentTypes": null, - "id": 6529, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6527, - "name": "name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6470, - "src": "1124:4:22", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "6945782e6563204e6574776f726b20546f6b656e", - "id": 6528, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1131:22:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_abb508c63afa2dadda9b4135ffa82c570e05ee52d75826176c1ab3dadb14e4ed", - "typeString": "literal_string \"iEx.ec Network Token\"" - }, - "value": "iEx.ec Network Token" - }, - "src": "1124:29:22", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 6530, - "nodeType": "ExpressionStatement", - "src": "1124:29:22" - }, - { - "expression": { - "argumentTypes": null, - "id": 6533, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6531, - "name": "symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6472, - "src": "1208:6:22", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "524c43", - "id": 6532, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1217:5:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_f7307f5bc77f710d9b3ce234b6197b803a3eed806105c6199117f8ac8c60c8ae", - "typeString": "literal_string \"RLC\"" - }, - "value": "RLC" - }, - "src": "1208:14:22", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 6534, - "nodeType": "ExpressionStatement", - "src": "1208:14:22" - }, - { - "expression": { - "argumentTypes": null, - "id": 6537, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6535, - "name": "decimals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6474, - "src": "1291:8:22", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "39", - "id": 6536, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1302:1:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_9_by_1", - "typeString": "int_const 9" - }, - "value": "9" - }, - "src": "1291:12:22", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "id": 6538, - "nodeType": "ExpressionStatement", - "src": "1291:12:22" - } - ] - }, - "documentation": null, - "id": 6540, - "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, - "modifiers": [], - "name": "RLC", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6506, - "nodeType": "ParameterList", - "parameters": [], - "src": "785:2:22" - }, - "payable": false, - "returnParameters": { - "id": 6507, - "nodeType": "ParameterList", - "parameters": [], - "src": "788:0:22" - }, - "scope": 6785, - "src": "773:601:22", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 6549, - "nodeType": "Block", - "src": "1406:25:22", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 6547, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6545, - "name": "locked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6483, - "src": "1412:6:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 6546, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1421:5:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "1412:14:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 6548, - "nodeType": "ExpressionStatement", - "src": "1412:14:22" - } - ] - }, - "documentation": null, - "id": 6550, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [], - "id": 6543, - "modifierName": { - "argumentTypes": null, - "id": 6542, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6437, - "src": "1396:9:22", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "1396:9:22" - } - ], - "name": "unlock", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6541, - "nodeType": "ParameterList", - "parameters": [], - "src": "1393:2:22" - }, - "payable": false, - "returnParameters": { - "id": 6544, - "nodeType": "ParameterList", - "parameters": [], - "src": "1406:0:22" - }, - "scope": 6785, - "src": "1378:53:22", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 6586, - "nodeType": "Block", - "src": "1479:176:22", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 6568, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6557, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6487, - "src": "1485:8:22", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 6560, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6558, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "1494:3:22", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6559, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1494:10:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1485:20:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6562, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6487, - "src": "1516:8:22", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 6565, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6563, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "1525:3:22", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6564, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1525:10:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1516:20:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6566, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6552, - "src": "1538:6:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6561, - "name": "safeSub", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6873, - "src": "1508:7:22", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) returns (uint256)" - } - }, - "id": 6567, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1508:37:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1485:60:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6569, - "nodeType": "ExpressionStatement", - "src": "1485:60:22" - }, - { - "expression": { - "argumentTypes": null, - "id": 6575, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6570, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6481, - "src": "1552:11:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6572, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6481, - "src": "1574:11:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6573, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6552, - "src": "1587:6:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6571, - "name": "safeSub", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6873, - "src": "1566:7:22", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) returns (uint256)" - } - }, - "id": 6574, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1566:28:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1552:42:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6576, - "nodeType": "ExpressionStatement", - "src": "1552:42:22" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6578, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "1609:3:22", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6579, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1609:10:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "hexValue": "307830", - "id": 6580, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1621:3:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0x0" - }, - { - "argumentTypes": null, - "id": 6581, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6552, - "src": "1626:6:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6577, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6406, - "src": "1600:8:22", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 6582, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1600:33:22", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6583, - "nodeType": "ExpressionStatement", - "src": "1600:33:22" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 6584, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1646:4:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 6556, - "id": 6585, - "nodeType": "Return", - "src": "1639:11:22" - } - ] - }, - "documentation": null, - "id": 6587, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "burn", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6553, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6552, - "name": "_value", - "nodeType": "VariableDeclaration", - "scope": 6587, - "src": "1449:14:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6551, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1449:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1448:16:22" - }, - "payable": false, - "returnParameters": { - "id": 6556, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6555, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 6587, - "src": "1474:4:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 6554, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1474:4:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1473:6:22" - }, - "scope": 6785, - "src": "1435:220:22", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 6631, - "nodeType": "Block", - "src": "1731:179:22", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 6609, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6598, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6487, - "src": "1737:8:22", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 6601, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6599, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "1746:3:22", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6600, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1746:10:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1737:20:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6603, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6487, - "src": "1768:8:22", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 6606, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6604, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "1777:3:22", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6605, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1777:10:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1768:20:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6607, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6591, - "src": "1790:6:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6602, - "name": "safeSub", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6873, - "src": "1760:7:22", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) returns (uint256)" - } - }, - "id": 6608, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1760:37:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1737:60:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6610, - "nodeType": "ExpressionStatement", - "src": "1737:60:22" - }, - { - "expression": { - "argumentTypes": null, - "id": 6620, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6611, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6487, - "src": "1803:8:22", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 6613, - "indexExpression": { - "argumentTypes": null, - "id": 6612, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6589, - "src": "1812:3:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1803:13:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6615, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6487, - "src": "1827:8:22", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 6617, - "indexExpression": { - "argumentTypes": null, - "id": 6616, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6589, - "src": "1836:3:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1827:13:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6618, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6591, - "src": "1842:6:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6614, - "name": "safeAdd", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6901, - "src": "1819:7:22", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) returns (uint256)" - } - }, - "id": 6619, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1819:30:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1803:46:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6621, - "nodeType": "ExpressionStatement", - "src": "1803:46:22" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6623, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "1864:3:22", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6624, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1864:10:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6625, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6589, - "src": "1876:3:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6626, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6591, - "src": "1881:6:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6622, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6406, - "src": "1855:8:22", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 6627, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1855:33:22", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6628, - "nodeType": "ExpressionStatement", - "src": "1855:33:22" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 6629, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1901:4:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 6597, - "id": 6630, - "nodeType": "Return", - "src": "1894:11:22" - } - ] - }, - "documentation": null, - "id": 6632, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [], - "id": 6594, - "modifierName": { - "argumentTypes": null, - "id": 6593, - "name": "onlyUnlocked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6505, - "src": "1703:12:22", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "1703:12:22" - } - ], - "name": "transfer", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6592, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6589, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 6632, - "src": "1677:11:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6588, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1677:7:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6591, - "name": "_value", - "nodeType": "VariableDeclaration", - "scope": 6632, - "src": "1690:11:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6590, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1690:4:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1676:26:22" - }, - "payable": false, - "returnParameters": { - "id": 6597, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6596, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 6632, - "src": "1725:4:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 6595, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1725:4:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1724:6:22" - }, - "scope": 6785, - "src": "1659:251:22", - "stateMutability": "nonpayable", - "superFunction": 6378, - "visibility": "public" - }, - { - "body": { - "id": 6695, - "nodeType": "Block", - "src": "2005:280:22", - "statements": [ - { - "assignments": [ - 6645 - ], - "declarations": [ - { - "constant": false, - "id": 6645, - "name": "_allowance", - "nodeType": "VariableDeclaration", - "scope": 6696, - "src": "2011:14:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": null, - "value": null, - "visibility": "internal" - } - ], - "id": 6652, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6646, - "name": "allowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6493, - "src": "2028:7:22", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 6648, - "indexExpression": { - "argumentTypes": null, - "id": 6647, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6634, - "src": "2036:5:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2028:14:22", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 6651, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6649, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "2043:3:22", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6650, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2043:10:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2028:26:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2011:43:22" - }, - { - "expression": { - "argumentTypes": null, - "id": 6662, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6653, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6487, - "src": "2065:8:22", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 6655, - "indexExpression": { - "argumentTypes": null, - "id": 6654, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6636, - "src": "2074:3:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2065:13:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6657, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6487, - "src": "2089:8:22", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 6659, - "indexExpression": { - "argumentTypes": null, - "id": 6658, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6636, - "src": "2098:3:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2089:13:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6660, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6638, - "src": "2104:6:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6656, - "name": "safeAdd", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6901, - "src": "2081:7:22", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) returns (uint256)" - } - }, - "id": 6661, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2081:30:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2065:46:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6663, - "nodeType": "ExpressionStatement", - "src": "2065:46:22" - }, - { - "expression": { - "argumentTypes": null, - "id": 6673, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6664, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6487, - "src": "2117:8:22", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 6666, - "indexExpression": { - "argumentTypes": null, - "id": 6665, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6634, - "src": "2126:5:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2117:15:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6668, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6487, - "src": "2143:8:22", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 6670, - "indexExpression": { - "argumentTypes": null, - "id": 6669, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6634, - "src": "2152:5:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2143:15:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6671, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6638, - "src": "2160:6:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6667, - "name": "safeSub", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6873, - "src": "2135:7:22", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) returns (uint256)" - } - }, - "id": 6672, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2135:32:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2117:50:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6674, - "nodeType": "ExpressionStatement", - "src": "2117:50:22" - }, - { - "expression": { - "argumentTypes": null, - "id": 6685, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6675, - "name": "allowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6493, - "src": "2173:7:22", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 6679, - "indexExpression": { - "argumentTypes": null, - "id": 6676, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6634, - "src": "2181:5:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2173:14:22", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 6680, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6677, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "2188:3:22", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6678, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2188:10:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2173:26:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6682, - "name": "_allowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6645, - "src": "2210:10:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6683, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6638, - "src": "2222:6:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6681, - "name": "safeSub", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6873, - "src": "2202:7:22", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) returns (uint256)" - } - }, - "id": 6684, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2202:27:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2173:56:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6686, - "nodeType": "ExpressionStatement", - "src": "2173:56:22" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6688, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6634, - "src": "2244:5:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6689, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6636, - "src": "2251:3:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6690, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6638, - "src": "2256:6:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6687, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6406, - "src": "2235:8:22", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 6691, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2235:28:22", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6692, - "nodeType": "ExpressionStatement", - "src": "2235:28:22" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 6693, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2276:4:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 6644, - "id": 6694, - "nodeType": "Return", - "src": "2269:11:22" - } - ] - }, - "documentation": null, - "id": 6696, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [], - "id": 6641, - "modifierName": { - "argumentTypes": null, - "id": 6640, - "name": "onlyUnlocked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6505, - "src": "1977:12:22", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "1977:12:22" - } - ], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6639, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6634, - "name": "_from", - "nodeType": "VariableDeclaration", - "scope": 6696, - "src": "1936:13:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6633, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1936:7:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6636, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 6696, - "src": "1951:11:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6635, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1951:7:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6638, - "name": "_value", - "nodeType": "VariableDeclaration", - "scope": 6696, - "src": "1964:11:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6637, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1964:4:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1935:41:22" - }, - "payable": false, - "returnParameters": { - "id": 6644, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6643, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 6696, - "src": "1999:4:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 6642, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1999:4:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1998:6:22" - }, - "scope": 6785, - "src": "1914:371:22", - "stateMutability": "nonpayable", - "superFunction": 6389, - "visibility": "public" - }, - { - "body": { - "id": 6707, - "nodeType": "Block", - "src": "2356:34:22", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6703, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6487, - "src": "2369:8:22", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 6705, - "indexExpression": { - "argumentTypes": null, - "id": 6704, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6698, - "src": "2378:6:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2369:16:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 6702, - "id": 6706, - "nodeType": "Return", - "src": "2362:23:22" - } - ] - }, - "documentation": null, - "id": 6708, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6699, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6698, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 6708, - "src": "2308:14:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6697, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2308:7:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2307:16:22" - }, - "payable": false, - "returnParameters": { - "id": 6702, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6701, - "name": "balance", - "nodeType": "VariableDeclaration", - "scope": 6708, - "src": "2342:12:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6700, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "2342:4:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2341:14:22" - }, - "scope": 6785, - "src": "2289:101:22", - "stateMutability": "view", - "superFunction": 6360, - "visibility": "public" - }, - { - "body": { - "id": 6735, - "nodeType": "Block", - "src": "2457:110:22", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 6724, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6717, - "name": "allowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6493, - "src": "2463:7:22", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 6721, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6718, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "2471:3:22", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6719, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2471:10:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2463:19:22", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 6722, - "indexExpression": { - "argumentTypes": null, - "id": 6720, - "name": "_spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6710, - "src": "2483:8:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2463:29:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6723, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6712, - "src": "2495:6:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2463:38:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6725, - "nodeType": "ExpressionStatement", - "src": "2463:38:22" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6727, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "2516:3:22", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6728, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2516:10:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6729, - "name": "_spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6710, - "src": "2528:8:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6730, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6712, - "src": "2538:6:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6726, - "name": "Approval", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6414, - "src": "2507:8:22", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 6731, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2507:38:22", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6732, - "nodeType": "ExpressionStatement", - "src": "2507:38:22" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 6733, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2558:4:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 6716, - "id": 6734, - "nodeType": "Return", - "src": "2551:11:22" - } - ] - }, - "documentation": null, - "id": 6736, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6713, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6710, - "name": "_spender", - "nodeType": "VariableDeclaration", - "scope": 6736, - "src": "2411:16:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6709, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2411:7:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6712, - "name": "_value", - "nodeType": "VariableDeclaration", - "scope": 6736, - "src": "2429:11:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6711, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "2429:4:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2410:31:22" - }, - "payable": false, - "returnParameters": { - "id": 6716, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6715, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 6736, - "src": "2451:4:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 6714, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2451:4:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2450:6:22" - }, - "scope": 6785, - "src": "2394:173:22", - "stateMutability": "nonpayable", - "superFunction": 6398, - "visibility": "public" - }, - { - "body": { - "id": 6767, - "nodeType": "Block", - "src": "2721:182:22", - "statements": [ - { - "assignments": [ - 6746 - ], - "declarations": [ - { - "constant": false, - "id": 6746, - "name": "spender", - "nodeType": "VariableDeclaration", - "scope": 6768, - "src": "2733:20:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenSpender_$6995", - "typeString": "contract TokenSpender" - }, - "typeName": { - "contractScope": null, - "id": 6745, - "name": "TokenSpender", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6995, - "src": "2733:12:22", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenSpender_$6995", - "typeString": "contract TokenSpender" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6750, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6748, - "name": "_spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6738, - "src": "2769:8:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6747, - "name": "TokenSpender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6995, - "src": "2756:12:22", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_TokenSpender_$6995_$", - "typeString": "type(contract TokenSpender)" - } - }, - "id": 6749, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2756:22:22", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenSpender_$6995", - "typeString": "contract TokenSpender" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2733:45:22" - }, - { - "condition": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6752, - "name": "_spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6738, - "src": "2798:8:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6753, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6740, - "src": "2808:6:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6751, - "name": "approve", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 6736 - ], - "referencedDeclaration": 6736, - "src": "2790:7:22", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) returns (bool)" - } - }, - "id": 6754, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2790:25:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6766, - "nodeType": "IfStatement", - "src": "2786:113:22", - "trueBody": { - "id": 6765, - "nodeType": "Block", - "src": "2817:82:22", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6758, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "2853:3:22", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6759, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2853:10:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6760, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6740, - "src": "2865:6:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6761, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7029, - "src": "2873:4:22", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RLC_$6785", - "typeString": "contract RLC" - } - }, - { - "argumentTypes": null, - "id": 6762, - "name": "_extraData", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6742, - "src": "2879:10:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_contract$_RLC_$6785", - "typeString": "contract RLC" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 6755, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6746, - "src": "2829:7:22", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenSpender_$6995", - "typeString": "contract TokenSpender" - } - }, - "id": 6757, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "receiveApproval", - "nodeType": "MemberAccess", - "referencedDeclaration": 6994, - "src": "2829:23:22", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$_t_address_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (address,uint256,address,bytes memory) external" - } - }, - "id": 6763, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2829:61:22", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6764, - "nodeType": "ExpressionStatement", - "src": "2829:61:22" - } - ] - } - } - ] - }, - "documentation": null, - "id": 6768, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "approveAndCall", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6743, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6738, - "name": "_spender", - "nodeType": "VariableDeclaration", - "scope": 6768, - "src": "2670:16:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6737, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2670:7:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6740, - "name": "_value", - "nodeType": "VariableDeclaration", - "scope": 6768, - "src": "2688:14:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6739, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2688:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6742, - "name": "_extraData", - "nodeType": "VariableDeclaration", - "scope": 6768, - "src": "2704:16:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - "typeName": { - "id": 6741, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "2704:5:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes storage pointer" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2669:52:22" - }, - "payable": false, - "returnParameters": { - "id": 6744, - "nodeType": "ParameterList", - "parameters": [], - "src": "2721:0:22" - }, - "scope": 6785, - "src": "2646:257:22", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 6783, - "nodeType": "Block", - "src": "2994:43:22", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6777, - "name": "allowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6493, - "src": "3007:7:22", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 6779, - "indexExpression": { - "argumentTypes": null, - "id": 6778, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6770, - "src": "3015:6:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3007:15:22", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 6781, - "indexExpression": { - "argumentTypes": null, - "id": 6780, - "name": "_spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6772, - "src": "3023:8:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3007:25:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 6776, - "id": 6782, - "nodeType": "Return", - "src": "3000:32:22" - } - ] - }, - "documentation": null, - "id": 6784, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "allowance", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6773, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6770, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 6784, - "src": "2926:14:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6769, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2926:7:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6772, - "name": "_spender", - "nodeType": "VariableDeclaration", - "scope": 6784, - "src": "2942:16:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6771, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2942:7:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2925:34:22" - }, - "payable": false, - "returnParameters": { - "id": 6776, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6775, - "name": "remaining", - "nodeType": "VariableDeclaration", - "scope": 6784, - "src": "2978:14:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6774, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "2978:4:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2977:16:22" - }, - "scope": 6785, - "src": "2907:130:22", - "stateMutability": "view", - "superFunction": 6369, - "visibility": "public" - } - ], - "scope": 6786, - "src": "125:2917:22" - } - ], - "src": "0:3044:22" - }, - "legacyAST": { - "absolutePath": "rlc-token/contracts/RLC.sol", - "exportedSymbols": { - "RLC": [ - 6785 - ] + "links": {}, + "address": "0x7314dc4d7794b5e7894212ca1556ae8e3de58621", + "updated_at": 1507185226658 }, - "id": 6786, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 6458, - "literals": [ - "solidity", - "^", - "0.4", - ".8" - ], - "nodeType": "PragmaDirective", - "src": "0:23:22" - }, - { - "absolutePath": "rlc-token/contracts/Ownable.sol", - "file": "./Ownable.sol", - "id": 6459, - "nodeType": "ImportDirective", - "scope": 6786, - "sourceUnit": 6457, - "src": "25:23:22", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "rlc-token/contracts/SafeMath.sol", - "file": "./SafeMath.sol", - "id": 6460, - "nodeType": "ImportDirective", - "scope": 6786, - "sourceUnit": 6982, - "src": "49:24:22", - "symbolAliases": [], - "unitAlias": "" + "4": { + "events": { + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "from", + "type": "address" + }, + { + "indexed": true, + "name": "to", + "type": "address" + }, + { + "indexed": false, + "name": "value", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "name": "spender", + "type": "address" + }, + { + "indexed": false, + "name": "value", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + } }, - { - "absolutePath": "rlc-token/contracts/ERC20.sol", - "file": "./ERC20.sol", - "id": 6461, - "nodeType": "ImportDirective", - "scope": 6786, - "sourceUnit": 6416, - "src": "74:21:22", - "symbolAliases": [], - "unitAlias": "" + "links": {}, + "address": "0xf1e6ad3a7ef0c86c915f0fedf80ed851809bea90", + "updated_at": 1507153008876 + }, + "31": { + "events": { + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "from", + "type": "address" + }, + { + "indexed": true, + "name": "to", + "type": "address" + }, + { + "indexed": false, + "name": "value", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "name": "spender", + "type": "address" + }, + { + "indexed": false, + "name": "value", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + } }, - { - "absolutePath": "rlc-token/contracts/TokenSpender.sol", - "file": "./TokenSpender.sol", - "id": 6462, - "nodeType": "ImportDirective", - "scope": 6786, - "sourceUnit": 6996, - "src": "96:28:22", - "symbolAliases": [], - "unitAlias": "" + "links": {}, + "address": "0x88b37ff3c0df0692f982a28099a9999c4a422293", + "updated_at": 1521045503088 + }, + "42": { + "events": { + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "from", + "type": "address" + }, + { + "indexed": true, + "name": "to", + "type": "address" + }, + { + "indexed": false, + "name": "value", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "name": "spender", + "type": "address" + }, + { + "indexed": false, + "name": "value", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + } }, - { - "baseContracts": [ - { - "arguments": [], - "baseName": { - "contractScope": null, - "id": 6463, - "name": "ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6415, - "src": "141:5:22", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$6415", - "typeString": "contract ERC20" - } - }, - "id": 6464, - "nodeType": "InheritanceSpecifier", - "src": "141:5:22" - }, - { - "arguments": [], - "baseName": { - "contractScope": null, - "id": 6465, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6981, - "src": "148:8:22", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$6981", - "typeString": "contract SafeMath" - } - }, - "id": 6466, - "nodeType": "InheritanceSpecifier", - "src": "148:8:22" - }, - { - "arguments": [], - "baseName": { - "contractScope": null, - "id": 6467, - "name": "Ownable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6456, - "src": "158:7:22", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Ownable_$6456", - "typeString": "contract Ownable" - } - }, - "id": 6468, - "nodeType": "InheritanceSpecifier", - "src": "158:7:22" - } - ], - "contractDependencies": [ - 6415, - 6456, - 6981 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 6785, - "linearizedBaseContracts": [ - 6785, - 6456, - 6981, - 6415 - ], - "name": "RLC", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "id": 6470, - "name": "name", - "nodeType": "VariableDeclaration", - "scope": 6785, - "src": "211:18:22", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - }, - "typeName": { - "id": 6469, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "211:6:22", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 6472, - "name": "symbol", - "nodeType": "VariableDeclaration", - "scope": 6785, - "src": "252:20:22", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - }, - "typeName": { - "id": 6471, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "252:6:22", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 6474, - "name": "decimals", - "nodeType": "VariableDeclaration", - "scope": 6785, - "src": "276:21:22", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 6473, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "276:5:22", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 6477, - "name": "version", - "nodeType": "VariableDeclaration", - "scope": 6785, - "src": "333:30:22", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - }, - "typeName": { - "id": 6475, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "333:6:22", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string storage pointer" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "76302e31", - "id": 6476, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "357:6:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_6d332d76c5f02eb1a7286b96f4a528ceba4d78d0825283d5be2e358ade4be84e", - "typeString": "literal_string \"v0.1\"" - }, - "value": "v0.1" - }, - "visibility": "public" - }, - { - "constant": false, - "id": 6479, - "name": "initialSupply", - "nodeType": "VariableDeclaration", - "scope": 6785, - "src": "368:25:22", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6478, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "368:4:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 6481, - "name": "totalSupply", - "nodeType": "VariableDeclaration", - "scope": 6785, - "src": "397:23:22", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6480, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "397:4:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 6483, - "name": "locked", - "nodeType": "VariableDeclaration", - "scope": 6785, - "src": "424:18:22", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 6482, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "424:4:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 6487, - "name": "balances", - "nodeType": "VariableDeclaration", - "scope": 6785, - "src": "476:33:22", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 6486, - "keyType": { - "id": 6484, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "484:7:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "476:24:22", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 6485, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "495:4:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6493, - "name": "allowed", - "nodeType": "VariableDeclaration", - "scope": 6785, - "src": "513:54:22", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - }, - "typeName": { - "id": 6492, - "keyType": { - "id": 6488, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "522:7:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "513:46:22", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - }, - "valueType": { - "id": 6491, - "keyType": { - "id": 6489, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "542:7:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "533:25:22", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 6490, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "553:4:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "body": { - "id": 6504, - "nodeType": "Block", - "src": "630:58:22", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 6500, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 6498, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6495, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "640:3:22", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6496, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "640:10:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "id": 6497, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6419, - "src": "654:5:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "640:19:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "id": 6499, - "name": "locked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6483, - "src": "663:6:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "640:29:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6502, - "nodeType": "IfStatement", - "src": "636:40:22", - "trueBody": { - "id": 6501, - "nodeType": "Throw", - "src": "671:5:22" - } - }, - { - "id": 6503, - "nodeType": "PlaceholderStatement", - "src": "682:1:22" - } - ] - }, - "documentation": null, - "id": 6505, - "name": "onlyUnlocked", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 6494, - "nodeType": "ParameterList", - "parameters": [], - "src": "627:2:22" - }, - "src": "606:82:22", - "visibility": "internal" - }, - { - "body": { - "id": 6539, - "nodeType": "Block", - "src": "788:586:22", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 6510, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6508, - "name": "locked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6483, - "src": "849:6:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 6509, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "858:4:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "849:13:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 6511, - "nodeType": "ExpressionStatement", - "src": "849:13:22" - }, - { - "expression": { - "argumentTypes": null, - "id": 6514, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6512, - "name": "initialSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6479, - "src": "952:13:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "3837303030303030303030303030303030", - "id": 6513, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "968:17:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_87000000000000000_by_1", - "typeString": "int_const 87000000000000000" - }, - "value": "87000000000000000" - }, - "src": "952:33:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6515, - "nodeType": "ExpressionStatement", - "src": "952:33:22" - }, - { - "expression": { - "argumentTypes": null, - "id": 6518, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6516, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6481, - "src": "991:11:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6517, - "name": "initialSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6479, - "src": "1005:13:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "991:27:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6519, - "nodeType": "ExpressionStatement", - "src": "991:27:22" - }, - { - "expression": { - "argumentTypes": null, - "id": 6525, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6520, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6487, - "src": "1024:8:22", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 6523, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6521, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "1033:3:22", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6522, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1033:10:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1024:20:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6524, - "name": "initialSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6479, - "src": "1047:13:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1024:36:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6526, - "nodeType": "ExpressionStatement", - "src": "1024:36:22" - }, - { - "expression": { - "argumentTypes": null, - "id": 6529, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6527, - "name": "name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6470, - "src": "1124:4:22", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "6945782e6563204e6574776f726b20546f6b656e", - "id": 6528, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1131:22:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_abb508c63afa2dadda9b4135ffa82c570e05ee52d75826176c1ab3dadb14e4ed", - "typeString": "literal_string \"iEx.ec Network Token\"" - }, - "value": "iEx.ec Network Token" - }, - "src": "1124:29:22", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 6530, - "nodeType": "ExpressionStatement", - "src": "1124:29:22" - }, - { - "expression": { - "argumentTypes": null, - "id": 6533, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6531, - "name": "symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6472, - "src": "1208:6:22", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "524c43", - "id": 6532, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1217:5:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_f7307f5bc77f710d9b3ce234b6197b803a3eed806105c6199117f8ac8c60c8ae", - "typeString": "literal_string \"RLC\"" - }, - "value": "RLC" - }, - "src": "1208:14:22", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 6534, - "nodeType": "ExpressionStatement", - "src": "1208:14:22" - }, - { - "expression": { - "argumentTypes": null, - "id": 6537, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6535, - "name": "decimals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6474, - "src": "1291:8:22", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "39", - "id": 6536, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1302:1:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_9_by_1", - "typeString": "int_const 9" - }, - "value": "9" - }, - "src": "1291:12:22", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "id": 6538, - "nodeType": "ExpressionStatement", - "src": "1291:12:22" - } - ] - }, - "documentation": null, - "id": 6540, - "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, - "modifiers": [], - "name": "RLC", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6506, - "nodeType": "ParameterList", - "parameters": [], - "src": "785:2:22" - }, - "payable": false, - "returnParameters": { - "id": 6507, - "nodeType": "ParameterList", - "parameters": [], - "src": "788:0:22" - }, - "scope": 6785, - "src": "773:601:22", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 6549, - "nodeType": "Block", - "src": "1406:25:22", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 6547, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6545, - "name": "locked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6483, - "src": "1412:6:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 6546, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1421:5:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "1412:14:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 6548, - "nodeType": "ExpressionStatement", - "src": "1412:14:22" - } - ] - }, - "documentation": null, - "id": 6550, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [], - "id": 6543, - "modifierName": { - "argumentTypes": null, - "id": 6542, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6437, - "src": "1396:9:22", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "1396:9:22" - } - ], - "name": "unlock", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6541, - "nodeType": "ParameterList", - "parameters": [], - "src": "1393:2:22" - }, - "payable": false, - "returnParameters": { - "id": 6544, - "nodeType": "ParameterList", - "parameters": [], - "src": "1406:0:22" - }, - "scope": 6785, - "src": "1378:53:22", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 6586, - "nodeType": "Block", - "src": "1479:176:22", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 6568, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6557, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6487, - "src": "1485:8:22", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 6560, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6558, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "1494:3:22", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6559, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1494:10:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1485:20:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6562, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6487, - "src": "1516:8:22", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 6565, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6563, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "1525:3:22", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6564, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1525:10:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1516:20:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6566, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6552, - "src": "1538:6:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6561, - "name": "safeSub", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6873, - "src": "1508:7:22", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) returns (uint256)" - } - }, - "id": 6567, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1508:37:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1485:60:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6569, - "nodeType": "ExpressionStatement", - "src": "1485:60:22" - }, - { - "expression": { - "argumentTypes": null, - "id": 6575, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6570, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6481, - "src": "1552:11:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6572, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6481, - "src": "1574:11:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6573, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6552, - "src": "1587:6:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6571, - "name": "safeSub", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6873, - "src": "1566:7:22", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) returns (uint256)" - } - }, - "id": 6574, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1566:28:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1552:42:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6576, - "nodeType": "ExpressionStatement", - "src": "1552:42:22" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6578, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "1609:3:22", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6579, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1609:10:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "hexValue": "307830", - "id": 6580, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1621:3:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0x0" - }, - { - "argumentTypes": null, - "id": 6581, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6552, - "src": "1626:6:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6577, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6406, - "src": "1600:8:22", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 6582, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1600:33:22", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6583, - "nodeType": "ExpressionStatement", - "src": "1600:33:22" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 6584, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1646:4:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 6556, - "id": 6585, - "nodeType": "Return", - "src": "1639:11:22" - } - ] - }, - "documentation": null, - "id": 6587, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "burn", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6553, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6552, - "name": "_value", - "nodeType": "VariableDeclaration", - "scope": 6587, - "src": "1449:14:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6551, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1449:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1448:16:22" - }, - "payable": false, - "returnParameters": { - "id": 6556, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6555, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 6587, - "src": "1474:4:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 6554, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1474:4:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1473:6:22" - }, - "scope": 6785, - "src": "1435:220:22", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 6631, - "nodeType": "Block", - "src": "1731:179:22", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 6609, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6598, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6487, - "src": "1737:8:22", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 6601, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6599, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "1746:3:22", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6600, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1746:10:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1737:20:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6603, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6487, - "src": "1768:8:22", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 6606, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6604, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "1777:3:22", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6605, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1777:10:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1768:20:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6607, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6591, - "src": "1790:6:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6602, - "name": "safeSub", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6873, - "src": "1760:7:22", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) returns (uint256)" - } - }, - "id": 6608, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1760:37:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1737:60:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6610, - "nodeType": "ExpressionStatement", - "src": "1737:60:22" - }, - { - "expression": { - "argumentTypes": null, - "id": 6620, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6611, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6487, - "src": "1803:8:22", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 6613, - "indexExpression": { - "argumentTypes": null, - "id": 6612, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6589, - "src": "1812:3:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1803:13:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6615, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6487, - "src": "1827:8:22", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 6617, - "indexExpression": { - "argumentTypes": null, - "id": 6616, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6589, - "src": "1836:3:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1827:13:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6618, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6591, - "src": "1842:6:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6614, - "name": "safeAdd", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6901, - "src": "1819:7:22", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) returns (uint256)" - } - }, - "id": 6619, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1819:30:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1803:46:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6621, - "nodeType": "ExpressionStatement", - "src": "1803:46:22" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6623, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "1864:3:22", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6624, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1864:10:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6625, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6589, - "src": "1876:3:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6626, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6591, - "src": "1881:6:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6622, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6406, - "src": "1855:8:22", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 6627, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1855:33:22", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6628, - "nodeType": "ExpressionStatement", - "src": "1855:33:22" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 6629, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1901:4:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 6597, - "id": 6630, - "nodeType": "Return", - "src": "1894:11:22" - } - ] - }, - "documentation": null, - "id": 6632, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [], - "id": 6594, - "modifierName": { - "argumentTypes": null, - "id": 6593, - "name": "onlyUnlocked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6505, - "src": "1703:12:22", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "1703:12:22" - } - ], - "name": "transfer", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6592, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6589, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 6632, - "src": "1677:11:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6588, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1677:7:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6591, - "name": "_value", - "nodeType": "VariableDeclaration", - "scope": 6632, - "src": "1690:11:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6590, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1690:4:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1676:26:22" - }, - "payable": false, - "returnParameters": { - "id": 6597, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6596, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 6632, - "src": "1725:4:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 6595, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1725:4:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1724:6:22" - }, - "scope": 6785, - "src": "1659:251:22", - "stateMutability": "nonpayable", - "superFunction": 6378, - "visibility": "public" - }, - { - "body": { - "id": 6695, - "nodeType": "Block", - "src": "2005:280:22", - "statements": [ - { - "assignments": [ - 6645 - ], - "declarations": [ - { - "constant": false, - "id": 6645, - "name": "_allowance", - "nodeType": "VariableDeclaration", - "scope": 6696, - "src": "2011:14:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": null, - "value": null, - "visibility": "internal" - } - ], - "id": 6652, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6646, - "name": "allowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6493, - "src": "2028:7:22", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 6648, - "indexExpression": { - "argumentTypes": null, - "id": 6647, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6634, - "src": "2036:5:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2028:14:22", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 6651, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6649, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "2043:3:22", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6650, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2043:10:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2028:26:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2011:43:22" - }, - { - "expression": { - "argumentTypes": null, - "id": 6662, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6653, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6487, - "src": "2065:8:22", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 6655, - "indexExpression": { - "argumentTypes": null, - "id": 6654, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6636, - "src": "2074:3:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2065:13:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6657, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6487, - "src": "2089:8:22", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 6659, - "indexExpression": { - "argumentTypes": null, - "id": 6658, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6636, - "src": "2098:3:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2089:13:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6660, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6638, - "src": "2104:6:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6656, - "name": "safeAdd", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6901, - "src": "2081:7:22", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) returns (uint256)" - } - }, - "id": 6661, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2081:30:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2065:46:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6663, - "nodeType": "ExpressionStatement", - "src": "2065:46:22" - }, - { - "expression": { - "argumentTypes": null, - "id": 6673, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6664, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6487, - "src": "2117:8:22", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 6666, - "indexExpression": { - "argumentTypes": null, - "id": 6665, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6634, - "src": "2126:5:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2117:15:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6668, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6487, - "src": "2143:8:22", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 6670, - "indexExpression": { - "argumentTypes": null, - "id": 6669, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6634, - "src": "2152:5:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2143:15:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6671, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6638, - "src": "2160:6:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6667, - "name": "safeSub", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6873, - "src": "2135:7:22", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) returns (uint256)" - } - }, - "id": 6672, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2135:32:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2117:50:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6674, - "nodeType": "ExpressionStatement", - "src": "2117:50:22" - }, - { - "expression": { - "argumentTypes": null, - "id": 6685, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6675, - "name": "allowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6493, - "src": "2173:7:22", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 6679, - "indexExpression": { - "argumentTypes": null, - "id": 6676, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6634, - "src": "2181:5:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2173:14:22", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 6680, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6677, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "2188:3:22", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6678, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2188:10:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2173:26:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6682, - "name": "_allowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6645, - "src": "2210:10:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6683, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6638, - "src": "2222:6:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6681, - "name": "safeSub", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6873, - "src": "2202:7:22", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) returns (uint256)" - } - }, - "id": 6684, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2202:27:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2173:56:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6686, - "nodeType": "ExpressionStatement", - "src": "2173:56:22" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6688, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6634, - "src": "2244:5:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6689, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6636, - "src": "2251:3:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6690, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6638, - "src": "2256:6:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6687, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6406, - "src": "2235:8:22", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 6691, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2235:28:22", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6692, - "nodeType": "ExpressionStatement", - "src": "2235:28:22" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 6693, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2276:4:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 6644, - "id": 6694, - "nodeType": "Return", - "src": "2269:11:22" - } - ] - }, - "documentation": null, - "id": 6696, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": [], - "id": 6641, - "modifierName": { - "argumentTypes": null, - "id": 6640, - "name": "onlyUnlocked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6505, - "src": "1977:12:22", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "1977:12:22" - } - ], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6639, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6634, - "name": "_from", - "nodeType": "VariableDeclaration", - "scope": 6696, - "src": "1936:13:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6633, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1936:7:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6636, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 6696, - "src": "1951:11:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6635, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1951:7:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6638, - "name": "_value", - "nodeType": "VariableDeclaration", - "scope": 6696, - "src": "1964:11:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6637, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1964:4:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1935:41:22" - }, - "payable": false, - "returnParameters": { - "id": 6644, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6643, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 6696, - "src": "1999:4:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 6642, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1999:4:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1998:6:22" - }, - "scope": 6785, - "src": "1914:371:22", - "stateMutability": "nonpayable", - "superFunction": 6389, - "visibility": "public" - }, - { - "body": { - "id": 6707, - "nodeType": "Block", - "src": "2356:34:22", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6703, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6487, - "src": "2369:8:22", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 6705, - "indexExpression": { - "argumentTypes": null, - "id": 6704, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6698, - "src": "2378:6:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2369:16:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 6702, - "id": 6706, - "nodeType": "Return", - "src": "2362:23:22" - } - ] - }, - "documentation": null, - "id": 6708, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6699, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6698, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 6708, - "src": "2308:14:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6697, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2308:7:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2307:16:22" - }, - "payable": false, - "returnParameters": { - "id": 6702, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6701, - "name": "balance", - "nodeType": "VariableDeclaration", - "scope": 6708, - "src": "2342:12:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6700, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "2342:4:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2341:14:22" - }, - "scope": 6785, - "src": "2289:101:22", - "stateMutability": "view", - "superFunction": 6360, - "visibility": "public" - }, - { - "body": { - "id": 6735, - "nodeType": "Block", - "src": "2457:110:22", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 6724, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6717, - "name": "allowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6493, - "src": "2463:7:22", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 6721, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6718, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "2471:3:22", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6719, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2471:10:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2463:19:22", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 6722, - "indexExpression": { - "argumentTypes": null, - "id": 6720, - "name": "_spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6710, - "src": "2483:8:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2463:29:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6723, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6712, - "src": "2495:6:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2463:38:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6725, - "nodeType": "ExpressionStatement", - "src": "2463:38:22" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6727, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "2516:3:22", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6728, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2516:10:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6729, - "name": "_spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6710, - "src": "2528:8:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6730, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6712, - "src": "2538:6:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6726, - "name": "Approval", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6414, - "src": "2507:8:22", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 6731, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2507:38:22", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6732, - "nodeType": "ExpressionStatement", - "src": "2507:38:22" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 6733, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2558:4:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 6716, - "id": 6734, - "nodeType": "Return", - "src": "2551:11:22" - } - ] - }, - "documentation": null, - "id": 6736, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6713, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6710, - "name": "_spender", - "nodeType": "VariableDeclaration", - "scope": 6736, - "src": "2411:16:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6709, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2411:7:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6712, - "name": "_value", - "nodeType": "VariableDeclaration", - "scope": 6736, - "src": "2429:11:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6711, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "2429:4:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2410:31:22" - }, - "payable": false, - "returnParameters": { - "id": 6716, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6715, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 6736, - "src": "2451:4:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 6714, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2451:4:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2450:6:22" - }, - "scope": 6785, - "src": "2394:173:22", - "stateMutability": "nonpayable", - "superFunction": 6398, - "visibility": "public" - }, - { - "body": { - "id": 6767, - "nodeType": "Block", - "src": "2721:182:22", - "statements": [ - { - "assignments": [ - 6746 - ], - "declarations": [ - { - "constant": false, - "id": 6746, - "name": "spender", - "nodeType": "VariableDeclaration", - "scope": 6768, - "src": "2733:20:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenSpender_$6995", - "typeString": "contract TokenSpender" - }, - "typeName": { - "contractScope": null, - "id": 6745, - "name": "TokenSpender", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6995, - "src": "2733:12:22", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenSpender_$6995", - "typeString": "contract TokenSpender" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6750, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6748, - "name": "_spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6738, - "src": "2769:8:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6747, - "name": "TokenSpender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6995, - "src": "2756:12:22", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_TokenSpender_$6995_$", - "typeString": "type(contract TokenSpender)" - } - }, - "id": 6749, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2756:22:22", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenSpender_$6995", - "typeString": "contract TokenSpender" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2733:45:22" - }, - { - "condition": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6752, - "name": "_spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6738, - "src": "2798:8:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6753, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6740, - "src": "2808:6:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6751, - "name": "approve", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 6736 - ], - "referencedDeclaration": 6736, - "src": "2790:7:22", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) returns (bool)" - } - }, - "id": 6754, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2790:25:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6766, - "nodeType": "IfStatement", - "src": "2786:113:22", - "trueBody": { - "id": 6765, - "nodeType": "Block", - "src": "2817:82:22", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6758, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "2853:3:22", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6759, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2853:10:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6760, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6740, - "src": "2865:6:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6761, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7029, - "src": "2873:4:22", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RLC_$6785", - "typeString": "contract RLC" - } - }, - { - "argumentTypes": null, - "id": 6762, - "name": "_extraData", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6742, - "src": "2879:10:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_contract$_RLC_$6785", - "typeString": "contract RLC" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 6755, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6746, - "src": "2829:7:22", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TokenSpender_$6995", - "typeString": "contract TokenSpender" - } - }, - "id": 6757, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "receiveApproval", - "nodeType": "MemberAccess", - "referencedDeclaration": 6994, - "src": "2829:23:22", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$_t_address_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (address,uint256,address,bytes memory) external" - } - }, - "id": 6763, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2829:61:22", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6764, - "nodeType": "ExpressionStatement", - "src": "2829:61:22" - } - ] - } - } - ] - }, - "documentation": null, - "id": 6768, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "approveAndCall", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6743, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6738, - "name": "_spender", - "nodeType": "VariableDeclaration", - "scope": 6768, - "src": "2670:16:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6737, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2670:7:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6740, - "name": "_value", - "nodeType": "VariableDeclaration", - "scope": 6768, - "src": "2688:14:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6739, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2688:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6742, - "name": "_extraData", - "nodeType": "VariableDeclaration", - "scope": 6768, - "src": "2704:16:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - "typeName": { - "id": 6741, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "2704:5:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes storage pointer" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2669:52:22" - }, - "payable": false, - "returnParameters": { - "id": 6744, - "nodeType": "ParameterList", - "parameters": [], - "src": "2721:0:22" - }, - "scope": 6785, - "src": "2646:257:22", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 6783, - "nodeType": "Block", - "src": "2994:43:22", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6777, - "name": "allowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6493, - "src": "3007:7:22", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 6779, - "indexExpression": { - "argumentTypes": null, - "id": 6778, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6770, - "src": "3015:6:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3007:15:22", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 6781, - "indexExpression": { - "argumentTypes": null, - "id": 6780, - "name": "_spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6772, - "src": "3023:8:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3007:25:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 6776, - "id": 6782, - "nodeType": "Return", - "src": "3000:32:22" - } - ] - }, - "documentation": null, - "id": 6784, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "allowance", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6773, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6770, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 6784, - "src": "2926:14:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6769, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2926:7:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6772, - "name": "_spender", - "nodeType": "VariableDeclaration", - "scope": 6784, - "src": "2942:16:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6771, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2942:7:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2925:34:22" - }, - "payable": false, - "returnParameters": { - "id": 6776, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6775, - "name": "remaining", - "nodeType": "VariableDeclaration", - "scope": 6784, - "src": "2978:14:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6774, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "2978:4:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2977:16:22" - }, - "scope": 6785, - "src": "2907:130:22", - "stateMutability": "view", - "superFunction": 6369, - "visibility": "public" - } - ], - "scope": 6786, - "src": "125:2917:22" - } - ], - "src": "0:3044:22" - }, - "compiler": { - "name": "solc", - "version": "0.4.21+commit.dfe3193c.Emscripten.clang" + "links": {}, + "address": "0xc57538846ec405ea25deb00e0f9b29a432d53507", + "updated_at": 1507187064558 + } }, - "networks": {}, - "schemaVersion": "2.0.0", - "updatedAt": "2018-06-12T15:21:39.686Z" -} \ No newline at end of file + "schema_version": "0.0.5", + "updated_at": 1521045503088 +} diff --git a/deployed/contracts/WorkerPoolHub.json b/deployed/contracts/WorkerPoolHub.json index 142f3c2f..912b3613 100644 --- a/deployed/contracts/WorkerPoolHub.json +++ b/deployed/contracts/WorkerPoolHub.json @@ -6491,8 +6491,80 @@ "links": {}, "address": "0x897dc0cca9bb43f7601e477e721ef4dea4453f07", "transactionHash": "0xd7c68a10d9c0666b2b10130808138c7fa113287b3b302c6af656753838bae29f" + }, + "3": { + "events": { + "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + } + }, + "links": {}, + "address": "0x01bfbda0f357bf06eb2f802e3a82bba55b05fe61", + "transactionHash": "0xbcb71fdaeffca3c751bd7348662f5c3ee6e5389e7df6b645b695e4a3bd2190a5" + }, + "4": { + "events": { + "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + } + }, + "links": {}, + "address": "0x6d7d0371923f655a35169c1a0cb1675ac0129c12", + "transactionHash": "0xcc0424367839e17c43c85a7cb3aa574d19e00706856e70b0a4e4d0c02dc8c6a7" + }, + "42": { + "events": { + "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + } + }, + "links": {}, + "address": "0x6fbb19d1e0c43a46bdf6b5087207b1ea1744dfb3", + "transactionHash": "0xf2468a671436eff3c5b9988d4f89c4bac98e7ed9537f822951684f480d77e014" } }, "schemaVersion": "2.0.0", "updatedAt": "2018-06-12T15:21:39.633Z" -} \ No newline at end of file +} From acfaf1c592cc1d8d426183aa582593fcf88f39f2 Mon Sep 17 00:00:00 2001 From: francois branciard Date: Wed, 13 Jun 2018 11:19:59 +0200 Subject: [PATCH 5/6] prepare v1.0.14 release --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 07fd17f3..bbde6550 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "iexec-poco", - "version": "1.0.13", + "version": "1.0.14", "description": "", "main": "truffle.js", "scripts": { From 39f71f8d6915410d8b03c4a0c694bb8f63790c49 Mon Sep 17 00:00:00 2001 From: francois branciard Date: Wed, 13 Jun 2018 11:25:04 +0200 Subject: [PATCH 6/6] add audit report --- audits/ChainSecurity_iExec-V2.pdf | Bin 0 -> 1128317 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 audits/ChainSecurity_iExec-V2.pdf diff --git a/audits/ChainSecurity_iExec-V2.pdf b/audits/ChainSecurity_iExec-V2.pdf new file mode 100644 index 0000000000000000000000000000000000000000..cc8b346d1aa275d82c706cee15f50061064164f9 GIT binary patch literal 1128317 zcmdS9WmH^U(>6%ZKnRc^!6irshsGU(Htz0p<4)t2gaAPUG_DEm?iwIS<4*7p+=Dwz zb3e~F^Ul1_toQpdf95P!ufsX}Y^i-!)m2rSUR6qlm6MGJi+*gX=NA^I01q_>wUfCm zmas4uyCTHV3TjQw&CNyquM3M^#>O5BaiwOLu{VQ4q#zbfUm!MQjsU{RDZ-Di?0>qKE!0Ao2rLuMWSufNe^ zJC8(c(0Y2Y=Rg(4o~9HEL0mE4uEF)$`9t?w@r`i@JIC7U7eJ#$-8tUe?RP^m96Uc& zK~m=sG}FhwEpJ&Gl=76mY$Q3j?O)te9Un49Y`D}MRq)6S@IU7q8>6QFWg72+{W0iA zgOG$zv2fx+aYi%wj8Ps%V%t^8h1JSSi_)}*S$CjROe>!xJJ*-rClYuhrqGFlwPv8M zayS0U7qjZ@H{YJeV+WVIiwqW2OBG&d1-GAFi5n z%)N9}tvq0x7n>^JY6yEa$5c(EZaPOoEpOcy87vTD{w2p^%{A|?RlS0i7dL0i=FFU2 zulvQH8R_4ONvhQ{^I}rhcESQjpVtgi`MmOXTJz|*M>mNFKFQN;?%};rydIh|4@XHO z2)#`-l4p^6B!LU7^abh%>6qRXq;^>Q?^k0%9KrwIMa10`0yqUY{tFf~y`3S{?7AxE zwh#*_7Q2SKIrN_=GES}z2v{I~|7pRA#jdI;t;>eM2}Ie<0Yd$bjorqZ1|y^|NU!P9Jb z1bEnhe7w~B+?;Iu0!CQu>JT?4cUKFD8}$=lRb8DdG$2rF18Q~zuBj34|2^S<-pV*| zBKidW)2Arn`o93q_df#r8MEed&3Bp{NbfZiG(>3KxX@nUONzWu2+r0Fb`BOs^KUSe zL`(7u7Dwv9#dQ1c!u;2`{}06ia`66Zf&WRX*#Gw>{xA6;y5i(PNa#sA!2g?QfE;}P z8b{XE$=&%MS!htRYr2{_x;dMm@S?1j`a&2{Xz=Hmy!hvd*!S!wH-3HHbtUo2 z?~&@J-1j;zQXaT|olCT-QN^p#>lzjN{Ne2Rrc}0@5zb?qlylO1V#AlqYIUzaiAH`j zWpG~N^Od;!;yMW08Wyo0W7ys+pElC@2pV5;ZC~vv!kf zEYe!Hd(A52SyND^(mlg%-%~j{?_%$fHtgI!C^H`q$)h7ahqjAG^?)2QN>b8Gp>-3-zExZli zSb_}*>}ZON9!+(Vge^Ez9Zic(WOMeM#KhkH z&a;(MkhCDP;&vrXP2GLSIroA z#LxKX6xFFrobQ)^5MB+Rm(ME0mQIA{OG|R4%AzFqGoSO`Q1_S;q+~>ChJRMDe?XO- zTqJC{O{ey#(YJqZB;)f%s~~2PM2Z80kW)u??)=MhnJPTF(2KeTFP5QCZR9=L1#}}@ zIbKe?fSg~17Iu7sy@WEa-}~x(vEZg7A!7Y(%XJ(Wo|6+G$!JW!)~|*CCFg6b=DDe; zO_CvX^rsD`Jz?B&G?w_brhY+EGp2nb7joB7-3U#IZ&EYpaa6WH*kQ-2BeC+q6FG0=I8j-_!KHrSUG5PDtk%W$@m3xf~b4W+>p;qEkR{53Gw^k zJpoHs_MLW^&iOyFmaqzR?P|`IGJ<-OKK%;4JJ`Q5cZ$Q@H3g`0yWHL>2)Fp*I42&^i>tFP57`ob3Rh1srKT=HL z*^&b3S#$S-R_m~MmWnkd{-T2}A27SgCj=wBy40d>TFqP*e!8%4$%i`h{V3=hcp2ew z!i&HX{H4L;vnW?6c}ndmvGBLKcfQ%o)_araue#z%IlA1DBf8O|eq^b8O%e<9DE*d) zSv0G*!^Ac)n{ki(&E!asn3XS-t>Zl9Q&PNaQ^Cr+>!`LVS_I$hw)V6>*p0#s2QP&- zqqPH9evsQ-79k6>wOLzr4r?Z_86y3@PcAq!$Xu-#D66LkD=K|hJ;Oe++cZmK=m1`y?z~? zyOW21cZa`erUM~mkrECvpMyIW5ibhhC`!qa)INIV+M)Zno%gGrze)M9-c*DAMHcl) z#AWNueMto0OEtFTXy05nNDE&q%oW{p%CO_2BA-FFd|d$M92u2wFGkpC?j`xUI#^@Z z3fH}pxJRqn$b?l4iJuL1d19)}5F7H&N5)an4{O`W> zzf#nHIY|U7(SRaoh%z-N2gj2ycXfkO^KJ8xVKP3~^;tbAQ7v7)n7jWS4{>a~<+l)tx8LdV6}!7W1347U+``d`Fs+kqYvozK z>CkxzO26RCC6V67!;XCW4&yrZQ!~k8&NnCYM`DK8`!sNhi&rdBpDnGz(5^ZIF<*Qr z_z^5ngHlC6nI!Kj`yFP66_BLw0+0Zh5uh##chcY|c0Z_a^K&6%R+wX}L(og(O_PZ+ zUMb8FB@>q-6UhUs#U*WiQA#L4bOrI$!nz1J)Ie|FylO26UI`^;yu;NWWlVr;lbg{g}K|%*0YYPrHc31W}v-}0Vcb1I} z`_+SIk-M(k)rqY7AuTo%Cx#2FJh*0D?f9*{K-@P=)P+d-Ree)4Xz%Ka5OU+!-;$I4 zS@=t_X;JGa$MDm9wL9w2&J z)^_aReMbGA95b+`PMT`5F3-JVVdG$_n|Z3y+~}$|Ah@_=5r0I#wJ@TX-2qgdUs*RL z(s~v#eR{)p!QeC)ebSuUJL655et@GVM$#bqc#5|RuS_a$sa?36pCL-uTJPpz zxBS<9bp;OC^pI=21!cB(a-MuQB!3_xXfbV{o~XX~Wd5ez7j+z-Q*k5yuq#0gIDyme zwXpr7Xlt%NsH@>yiT`Fbq!Rvn;nhjP3Qv2z`!*#JkHAqbyAi))Tnhcmk3%!g);QRd zdVJTvr+Cc<_i*&MdS-$hJj*WN z>#U9$*1Dt=eU_{|-{00+=teAN;}m8l=}}1-4Mi6xg+O`CiNn(Ql2`3|Qu&{=yR{(L z(xvX|eD;bFt*1IhCDZK-p{U~fRZo7(*yKTJ^f*VuUp`Ze6{jr}HGx>(0;xF5fj&BJ z)~8_xbDTq`G>e(y@lumbz7xjHV}IB_VO7c${MZz>VKu51!5TQRK@xluQaIl`i2i1p zqna#Yld;JDWNF3n@1>Y|&Q7G!Mvq4;pz{xo_YF$BTF2q@+xnqP;z^Clxgq$DSeqTI z60)jcC< z`ZU=PRK#asfdAa38V%=`9V?oOtM`&Yh0#}T7-NNYqk#F!P|N8w`s!q!M`Sm1Ae)!j zkPkJugQPqagAnE9VQHAtqCKa{?($U{*2WxLhjhyEIL<5G%NB(g8p;CMtZqorJ=Y|= zlReLR*(k+vH?nX_@<>X_UmTvL_m{V`K6TU~8}?7GnB;?Me?l<3F27 zWP6-mnK1bH43=UMAgIhU@OS?nIbFY;G!KvV+I#O7y=3FB+v}U=bBGDG{S}EPwLu*( zZaYP$o7l@A)fxeuzZ;g+8reIDiP_E3+Vm&02r#G6`d%M)C2Y{PiHeY6H@}p97cT$R z=eM-Ktx!XeP2JlVET6uT>ydGX6^f7hXH@D^MPI-~jIje}>@)#gTh_07^hb-|*cnDF zvvme~KRY~{b4hTT?H2gSU80QRGy)45TygBa7OY$r_7xqng!wjq0n=UNT8(*qYi^9W zs|ddT>63Q4FvZcZe3Ct$bJh9Tmf`2t!AXzpxn1;^zMsEGF0&-sbkG%4-qp5k@I0c$ zU&&SccV7wQ4<_}5kQ^bZS{UeqDssqY1`jDT8G=`g+F;Ee&tya2T1XST2>N6` zi+O^l+S{onCB3l}X@_}K#&f!ydf%tFGPl(*J7;y|KiiC?diM#n3#$9<1NV1bg2TN| z!`JwOKQEDq@t)!6KKrq1X^AR(C51e7*CvvZQYhD3b8*P_0o<~{(xJ-WHuD%5`<73V z4jlJ+45g5V=B>Ik-UHW$IXNCPm!6tJHJUNMB{X41N z2uUkT~yUEF`bVVc%f)taXEr##*VL)jD zlEbhQWTfZuKLuJ{aU!k-tTU0k@~zgxQNuvy`LAY^Z8o<1EpLu%G_K7#nd7^aR=;>D zj-J(GM{~USP~ns){fu7EA;miOpp5+BKyPN#`nqFog)%_nUZmgWR_mBye>77fGE;BG ze!rBxjR@(2PCt#JraeImsn!8qd}Fm#<%k;T1P!TnIsKF}#NIgW=O1jqi-`Swd$(s< zc5KYse79MjoCZ2V1TIqs4{x=F^52Mkqy-UjL8LeG3-T4DhK8_ll19Pzmw1nBKLl)s z;oU6hSwG$!2XAYsZO3DN4zq3v7XGLk!v@Cs95}riNX!esAPLB@Bd~TiLGlk4P;CTZ z^gD?lNz$UwIg0rp`|laxaboqiw_2CQR=9ly`aEpiP`xk=cU)DJc&o8_f&CTiN}tU_ zlC$#Jz7zR%3n5z^be=gfK_*=@0FdgH~kA+qFMj}z1hORfOWPg!Zf=#+$&&B(nqm0Yw zJ|{btdLN@p_v{soUF_RjM z0f@oW zN45KeOOr@VXHTbzNBVs0`TgftUEFFP3ss;AOCqSi6M1Bwu=!_}L`SBonqQfC){Y z{6qd-BeGhjc&En4oJ#HQGOM*+BEcZ()a(TFFXpM{Vdg=9czV?6TjM^)HM~|S65pwu zpwFWreLtD!J<(XJR4X_SndhL8<;%UDgzfa4QEj)KVM6F31{?1-$TvtgY6jHNyEsg* zxYSAVB4Lp&kzY@_H=9P+Mi+Q1Y>XdU856FV9GUzQ-X>TkJWKdmtf=KQO)#BN>`<&S z#bL`}Yi2uVdppfm5;a;d>X|v3VZ!~meiyo1*&OE6cw>9sy(_W{BTXf3CnX`(B2D7% zHw9 zYn7v1GlFjv$7aAM(O}r1;rU)gfnAr~q(bfJyQo@LSypa`Y==SMz>hKNdD94qw9dls z;om#VGR<;UEoh5lOU9XU^mBxI`7P>Q!jDDQ3>YfIGC*;lD7ccwuc>8C)8^6IQEaemUN0*UT?OB6K4%h?a;=D7TDW;9R`DWw_^4Wj-)!z1M=Pz*hEqhy@9!i%f`u`8u#E_B+=$s&xJw!Ky&JW> z0=zs?SN9T03OpGEA)5pLea>C>k6sk1^@gb77(+qoP>Bdkn+xD%wyi zKQn3a+(4a$wS?ZrZS^v5MI9SmLGEHvlRj5}9+yh`X%uDwDhCmQ){s>s>VCUdo1A=H zFN%+e&tc>$8ZR2Q`CNNdJNcg8EWDE0h)V>}#@@}H!y(x`U^9KFg`X`x9;^7yP0z9= zIr>5ITrQF>jXp^4MU8FsvXv|(Yd~%2)#llH>bm0~1^g6#8^B}9r0i+b*}Qt*zW3FE+Cgsa@1V?J6ohQWF?@MS?VDOT$``pueHF!>NfcbTiNM?-Q3-e zq+e4v+je~$4l?HZ7G^tE90DhwMWOUyh*A=ew+8lKs@j!FIP{n;u9kL>?q%;bcUT3Q z1WFyq9mkH!2FvF4b$xZ87MhynE98sk?TU))ty**GbGrY1F6oP3vZKnC({zQ(Pa|;r zr|*jDC=*+F&O6+{cn5Hwbx}X2AFls>W^pF0K9|?VSJ8K6=fh+M#RvtfSlXlCS>#1Z zYR!O^!f5OWVS1WCmS@1p``+N=h_E-If;v#q=Gyg%jPlCz<-w0h6~@O+u0;!Nw|81e zC06AEMne7>{%r>#_fa#HEt!cX`vEpPbw>_uJI*!tiECxi?P&g6H%7PY%NNc58_|y$ zWGE5nH-~KPzK_O>B0K)e_v08vxW-~bKK%FA_ZItW*#ImRrp#iovis?)S<9lfv;A+g zrlU1qtiFacO0qvDTvw=cqm34gGRxG;?8=tOjz(TbF8NfQ_52--OqyH^?qGbVzf2e} z$qMkiZL>0m|NLt=zLz2;pY*gj$}b3CE@>CL_;~;Q*5a%$c4uGZ zN+lsHO3c#_^X|lp!NGEKKhqH6LmEN#R z9^LE*+6=E&{* z`acPa|33+f>t9S>#@*2ZYUAYiPd*Hh0()-*byJ17YM41V+e4`N5d}LN9|)o@#>vIY zgQyKjIXRfwI3oT>)Qp}=MP`mxPj5NcI5{{4coAhcHpC{dadPtUawE2g4am<63t}XpPa-%2rbfa%L8^8Q6TY(@hR1E+5<9k^cWkthH+^ps>X2H z>pUdF-1q9q;i_tkGCf6~<8#$D^#@e-m;f6^$XfC8nkmI{TEz_0Md;J<`kHCGaz@3n z=XuX~a%CoxQ&lx=WQL1^Yjd?HQs-3-Y-A6Lf}pv|Q+my+I=c)@MHuJt##3oGawfa7 z_YkC)@eed4N6Iyl_ZxsLk-` zSDvSDvB5n^@UP9n>6Z|c3f*{4k!RtWt~>@3kS^GXOwV(3&14&sZjwsc2{+8MgBm%G zDK*nK?BFaV_(HQN`z3v(zHVTOBv_rL8}}>tNLOsUY|HaJ$rK%vy_U+_iSWyFIx`Bm zyTB(qzTE#$fE4&ofP9KK5uxS(SAgUI@^SM#0g{7PM#-Fa`AI>Jw>-{ z-26Z;9)upS3Gndp^K$*~ArlFKOr&x9CnVNA{W{G>81U9V-91e8xgYsIK1}jm%bRT1 z_+@`RlUSY<@?mz`=4p#dI{TD4$mJuivd$?I7kc*La8RUK!E>E=DLc(IsC<&ANnU5W z+Auo;DlsxCAjoXBU7MZ_gT9ZR

C*-R7W(3xa;Q7!;jX@CEZ7WM@lQlc|gpc*xHSp`^1bK>5jdlLe zw;gV!{0V{^g@;@?FpOaWl|*IDx-|0pIJdma#B)-%ZtHh1V>`LOpbsGJKBfiS->RAH z(zX@7Igh8D%4i1Z?7q*)!*|ccnaG@1Gq8~?D@v%%C7MW2RnxF}A5|2~or|t%va4oP zOj}n(G#yW>nNbYVDt?<#^ja%ktPnXN$yGCPK+c9qnm!Meu)thBK3vs|Q3|c-!+L>V zT+)fEBV1a5F%(>2AFoxdYB@kh!ibWW1dUIekh7JiXJka9PXfos$H|$?OJUMK>nZSh zo%Bc5K1`aEF+{4snm{XC6&xn@it*Fu0%rp4E>&wRdKyMlv?No4_)l`CSW?gEf3S-o z#RpvO{ReCUpNlyJcf= z*-&P1>5_H#i0zZbzay!?tV#*}81)gOU*~fK2gesAntlmhZ0u6|(#sE3KSq9-vJ}26 zEPhvL-R-*TNfEJev{rfK{MwR@W$B6BZsAq$DS$>8|hf{Xjxe zn&LzI?^5R!_^(p`e>=YbazLE9@$(^klN`jx${I?|#g8}w@^8l_>Ez(- zrxtwFw#M^lO%~EnHd6 zX#+aBPKJV58v9b*G9&3y91WF_w9Abl6zh`{4&w15xmN9(?F3E??cjdCev?4EG~%K2 z6r%uGu7%%5hvAy&84}VDdJriaXhNS}jm>1E1r-VDgNxB@YOelL_I7;vsSz@w#W%&x z0T;bJqP942!Ml0s0}eZT2md}#Y(#H6XOGqLvCV$_Q8q21aIsyuGMq^{QMxSgcMAp* z(qBGsYEmjjb^>8W+?6B+sg3R$FD0k?L&6MIn?Mo$u!p?NfQK>HoG>P$Z38@}ES;aF z=(5Xl;p!M{X%P2ub|TK3%;$_*9-cLSIsw{OEG$ z-|VX+L|K)2Xr@|BMXmP5E}mFCqJjd)D~*Z7a5j z<-jE-qlY;~J=*0PGtk}^TzfBd3GY!|1>PsNYYT6vb)EIPMo5xvKuy8{DqKu=t2bhw zCn$Ztm30u464QB7NjKDuCWNJL!Q)f&+u0zh={#ep<}mSmykh`xJIl}syo`C+IYiTzo#x^($?BZi9r8{7h}UkLmrwWFKtYAfx6*q;g)~P&4W++7({?n=$1f}8 zY0PN)bC=>aTM7&IizeKSp+jJA#3;ulk9N&u+1bdpC1-mR+J|K0P+XgsAzbG7ixqQp z->1k|u#c5CdrpsI;RVpIKEn2}_gHebWwtq!kK&-5A(2|j}tIB4*if!x*C z&+$WN>__H&=ixQf`%4Lwf_Y8Li@v`1f;mw{n>Pswchu<;>%cb9dfCaoC6%p}laS|HflbhNhIPeF$$( zZE;bEoBC(*VxZI{L9{j_4tRQ>VyEVdiShmIG zUT*+u+Q#~a=S;d?1mLg45ioqywOsdWgv|CO#`{^8hUCgn=prn)@W|Nh_OGMU*F5Jt zao?dnp7um23GMJ2*##BZNd&t=ffD7=zra)A6L82PGms!;Ae#pU9B>4-HF^~pj767# z5^ip&_z9$@t70;;jaiCu`G%!fGdLpJRHhkiEv-7+?<@71XATl1r}O)yHG1c-J=FR= zw+oB&B_ZnV3t3T9t2@j6uGhtp8O3oaIV=bh=UhJTE%Y)P($(r7zNRY-s~Qs|cqi~$ z$ajxLy}0|+x^I2ymqPUJvbSI^J||qm!7ax$nl$f&h@o)$Eur=etD5YiIZ9uP)!RuvyWB;^zJwjT>J%l`a|1@FS6!tP z$z9FLYRTPz^udM_IsuMFe{hDfjR#RG#?TT%j_ELCCby_hyWE)pTF&0rt_9zG+XFu& zaB1Sb91A;)KNH(!bl(SG@7u%WWg0@;4Z5>B+bzc}EC7ga&B2cTR+RU2l14&yjpgaz zaTee^OOea0)}hiR&D%5MIL(@CE!F2ifypepK=J^aTtWJ>SWxY$euJk+j5SdRR>IQa zB1nlIuAEp+hd}d`d-blDb7)(1cZmUqvL>J2*|Il_t#mWZR zc?^tm%4re)Hes85{CgB8ZwLZR`2&kL%38E;U3{PrV?9KS#s}sHy;3^w| zdVWt)`Fn$~H;O8!;$m#{X&Ak~Z6PRS{D1NaEi2Hk1sBlnM`Z@e6dtVHz9%SQx7PSa z(?dWAV_eL8!#R!z~PduN8Xx_Q^vl z2696)R@S^UJnP$ktX!-YD_-uul|escg4(_EES9hlVeS{Y}J53ASEkb)KI& z1^e9aa7r24-m3quXJLV9mCSPHdFDB^QSa)Hxc|)c$U>hwX zGtixVo;bO)KXQ1kt*m3mPf~xHDiZ!sm$}>jBV|_Tf=6&B=Wb|oH45P|X4|)>5tb|Y z^MFP1jn&V}3zVOONSqS~VUe++7_%rnYXi6igoDdHA{mRnW1{()0Fc)8e?E8zN-Q^6 za##~iH0Z+CEg1^y>A{QIQ8s?eNp%%^u_W9&K2YWTB;-$YO}=e)?CFDH?HPN&H1f7C z2F1u;@kv}2nbyzxe8UG0Qa$`N_7d-<;aXV$3J%U^vAVhhGXaUIyB&^9UBWM zBq|l3Ua^YE@^^Dn)|I{qu@G`wgEAAmvxE>KNIY%dt-c)wP=hH+yW`yQ?C=kKzKnE1 ze(Ux2qkv4!E#z0Uh*k_1`S=bgbX*~$f>~ZE#{-EbB}LjYQxjHZ6WsV~eedt}LDz``Gq|lci1G1l55i{3IcqP3XEpKjb#e)o(#J(PCU&IUOf=~GQ1&d- zQQBY!6gtbIV^b{~(=M??u~CYII201~X{KS)*+oP*KjY}4ob6_vl`^YzfPJC{ zv$l#<#oi>{?OST1oI+xAI?SoVXww)CBl-=G?!%=Q(iu#Q6FZM_Rj?#71aM_CB3A+*_s(~d8-CFC+yyLjJf5cD?h{7!*>T6k>a zLCx}gR36orPCkT@pf(;h8XxiM>F>4LB2@VeEzu28ObBfPZ~fk%PwfIM%`4bUd9pKr z*w{@*wjR}r?#4zQ`KyO|6A&WYfp&3U?;tGGO1+GrOR~~UBE3KUW^U0$87?IYi1H0= z_`U{loKO5tP5sg_>y)oX3765dt6I$9T5EFx{C&yYz14g&wAD= zYbSM{f3@AMOxE-SZca}xOAfY|j0YH3CT%B1A|eZf1CN;-u-iD%;u@wwn6BSxG(oDT zHP!?DvnE?{Op>w#BD4CCTk-N5-`WKXeS@VHk#oJY&5w>$A0P4(1=#?j+;7h1BzBOHDd+%{FQ`uDzyQ-=Cw55Y4Z=kw+msoN!|Cq3!G8;z$T-0vw!wqMbIS_Y0FisS3|5jr ziR!k~9QSVJYIhEwq=vxEp{C203}#rH+#DnEQnvM$03kjS(op%$X5CD`Bb-a3H)x%HY-xe*m=M-*2pKP8^F?Kqjtc3D> zzF-d!9Iw|h{%|%5@4$>|^S-uG8O`JV6ao)|cY)cqN8lb#3%S-Cn^$2^bID5}IxwO& zOvX;&uvpTx`MTWCF*iaSwM1;`pzr&hLA`FHI`E-s!GERw99}w$l?pHlhb_fn!Rp9S z5FE=iBzZ?_4QA~Jl+hM0ay=0i&@Uvohyzu(3)z$w=kYM7hL0PNa>@L>0sjJ}<7GIy zlSLZ_VbmZ@fnlS*;P@R~Dhg+HJ6AKq%M{owldMJ_htQ*E9LLm*VtIE8|eJ19;>qM84&sRh&8D~zfMUj2HLI# zaP@axDG(JfE4VF;vnPC~fY6q?iN%RDn+lGd3=Z1f!B~3|pnAP#hmgFUdT&3>&-Sig zKIyg{A?t2zPnASKuwfa?6JHog>`f%1QS4Q%jZ6o4O8a|??u*qVyqdvo+^ZW9<8!#4W9E=O3@!M+iO`{UiE`r& zxVKGoM=u>a3((`j!^0g5LzPvedarzNE>_*htdF^(o=(xRwt!e8*8tW)t}b|B=Mlu#kTN&;|IZNSBQ;KDh4 z2pG-ey}{r8K>d|NAd?C3B_61#ALV{+G8JLB(szYxlke`%4vwKYer`4qU{UyIJs|l{ z?izNq|FKdSGXX-s6>qP%6qKfSE=pB=z=JB!g7PYLJg!~$A3x_$lTf8@A7{M8C1h-4 z?>l~{Y>7~!RZ35t1bR>$!oHJ@&9yDh*TcZc!cAP-CFFxKOlx|e>LxC}sEXDHMzcgB za59tv7ncfQp-9YM1JskxGIkDuo(KT9Gfq2{Rps#c!d3ZkJuz%P8QjvOWu0wq))fVG z?ux~FWDz}btGP^^SNBv}Ea`1+G&!gzmj$Cg$>?txT)1W8*VJB`zS{y8tdn*FP@>kJ z0|YyqcjVu@*VmWxOf89Y*=a5|i0%L**9_AaBlOdSpL0z*1jD=4tBt5Zh>ds3Y<6;C zrlB?WH+Z?j?HRcoC!yR9k*#nt>G)6~KYYYL6tYM~UI67uP1 zRSY=6hV38>h3{d5`&TNw+9Si1c)MC)O5InKw}=@b{bcXw`2(8)STHJ6@|T%f@RteW zKk=Spu0cK@uC+t&>OgnIaSu02t1eLbLkdiyD|c{b11ABVK2Gz`_ht1(fy3;Pl#&Ex zq9g&Q;Ko1TUV0Vul+J&@uA*1QQ8xzU-5McN{;B*{D_J8HqTH~B9i2h)qkQ;j_Y%PtD>m!LuhZ@ANo>7C;Tdvf zK*fRu@2%WEMbF<8Db7F{1eEiis8|sx6HdWQ1cWlf z=$>MzU(*dzLK&q_BqL_7zS$f*9CHUtJIhg|4EGm`aZl-#{CGOMv=D5VsJH7NqspPz zd5aOB3i=4F+=8Fv@=vY?M4bUX4`6Ua%;S$r98hwAgXEn`NU6#Vxe$p{fv?}U+q0&* zw$7*Ja^%qoH15lJAA3*u<_mch-2T{J=YI;hsVzMgnnmmVc43a){I8-hPZ~`*+Yt_+ z`pJq>E9ZL`vEi@D+BxVmYi2G+Cj%tY%?`OkxTZEegdAMC7608VVYsO`aT_9c$+2US z1;vI1094SiV9H!eII>B%M#aDA{@L2%s+`LSi$MQKQbv(**!PiiY#0FLC3LWX{EJ64 z9VTK^3dV^Ak^v&!V8e_QkzU7=wQ&w$HQ*FYLR=TxWU0B1A#KwtRPTu zK#RcAv(rAWeG1k$y{^_ntQR;HXF|$YQ}Z`3cAr3N#J=QLQ3{W30TR;PQr?@#l4i@P znaJWgrX$~yX5QLT_1r%7x`E9QAN8fNKlfM=U6F{`purZ=oj8D`%Adylbm%YM>p2k> zAJ1l$?p!^C!lMzD^Nqu^fyj`$Qh@iKH)of67E@Z=5c?}6q(Hv&hS`Cmx?PO%WyN}4 z7;TdahkA6b{E_gSE}ya}yKbw&anU?u-rCBuO{Q z$>2=&JqEzFXRNn0#csI8iveYwbOL(G`?G-Q_JOwzrw9xsLD)>#+TJ8w-mH2QGg++q zs`*>#s-SC6*(10m8JUbHK+j;3`Dp9Cf6=t(tQ}R)_*Oi2%tdi|2}JBNEWVRhrPoy^ z<`i2wmt#)b8#qEY7w^JZkyaKQ?elitJI5p{{e3dQ$?>SA{02NcR=FnlHPVNU_%ef) zqU}ZonVhwjRi3Mh%hk7ee$Wz?;-Yk(SI+wl_2sjCQc9aLTHyru95!2^ERO4O5ygP? z(#Zq8bm()KqxS@(q6ZKN>LsELe7IHz6nO5R@i$@xm{k)Gs-MIEkRmwBhmJ23E#4%w z3sf*B#df|=<;PyvqNKh0fboIw&5z>)q@rfkzuz#ta0v!=w{sWh&0HlQx-}Tr>oE4FwFR!V5#ltt zfCV;(tPzsxbe)fN4fl2xvMpH10~RUAr8ia>87e@ld(Ai*EpiDNUOsZ9@Z}2+95{zu zs|7@xC?bejRwPlKXZEqEZsZwGBCYgb@=2~j#{#2bfHN+Ps%sVyCiq#%ma_TTxW-;07}TI}i+TVnlathS z-MC2t-w3mOD>fMmKqX<>d%~?zNGcP`sH|KuxwH)Xicd(Vq|wvAre5t%tq&BWBsMmi zs9+I5oG_`{0=Wyu=ymk6Ga@33k{fNOa(da;6MHx^7|T{%>I>RTl*Tg3Rc z;NpF#Xz!E-J)2QNL7~3RrPFXaz>ysvZY?4!*VFI6MMuJ}iKYzNQsXhm3_o3YQy9GNBZ3Oe%)^ubiIP zFbSM=>{bWYO5mJ!&_Z()ms+aeknzDZ4OhW5!p{jH!VeaO%)LyI`_#Hwm>R-ESt^`I zrB)QRQW`s%8_?J$&}zxA^fs7;0ihj2Q{YRPZy7Lrk7f)eSa!3&f7fiYKXr3c?m*1_ z^w-$i05S$ybmx)t&+wX@kJWR7cO%G19JB)!(n>vYYI-~)Gj^9eE=@qGOh2+lsht4w zJi8j9A+TrTz9~rI)?HHXEgu3S^H(h4*|Wh2_7wU8$S$d@6c_}1*er{Y862Wei8vi-pMX*0P9a4 zpw84mI0>g_%%Ue2jH}IT!WfZtMr!n$o_+sv9#ti-GYB%J4>^m9KQwsP7UCkheU97J zTyMay!-$gks+Kc>*ORL(Gx<7D@j<`g;>@Gh`XD3m?Je`#TfjqpjX zn~N*$7;&^+f$!bxbd~HXiiL5$GLi4*>zVFiBLN>cynh3I@UK3@ccPa49P*pdaL|yE zes?8XW>?!n`Ux+2yz9vy3mZ>zFWKa0Z*o? zY2uv|%<4EZfR*bhz=3#U-MLZWk@_$bSMlq-$q`Tr03r`%Qnua}?m8>gHtaO}9#dybs`NxRx=?4g1TAOaS{$dh90b`=>=9AziaD;Ha%5W6{I z!fwDob49xJNNWaKvT`uJg986`RR{ zJNk)387tdS^Q?ML)ZLj=nfDFTxNY3`*PF$Ineaj_`7FdV<&^J()V!0D|1M}5Domkc zxP8KgE_l1TmGUFlE)P+fvmI5sWO7XS?cPOp} z3IunT;uN>yQpJiUxE6PJ30fp*2_6WP5*z{q_qqK4nt7R*d6`*j^2oZJdu;FX?Qehk zT%F7~?&@>#`T=cs6vbrKn(N&Wk01}BSA_z<**E91tIB{QQhBRxLE%#0q!MZwL~zu& zjN(dmmxpMkEQ=S>M=RjF-otUhfU)sv8<_ZUx1Wg>BLW&o)yr@wb}VNR70M@joGf8T zKk%vSSp8(z!#P5mL4rb=lur9|t;C#GooA0a|11@gBB3?|wSZEvaJi^G`{**gq2`wB z_}_;(f77fIiR-kN_^Jb%2P%5Ia^+SdrY??^;{*MeVVh9ro=!xN>QU;f(ar98v(A;b zugjlcTfIBgRm>`hzE1JDu0_%i{u=yq1Ji2v ze70Vwt7apeO@)A7~R zl$Z7Dz+Z^7zTw67>hKfqvN^xU@sw6cN>6`)GdEI|sKlJ2xsszDqb>@wY0mP1k<7=L z4mT{&2Yk!6s6UiXh271!XpQ)D9Yw)>aRl%6%fa&R3j~$TWgc0#Gn@%2B}LSmVdvKx zC;8^7)CqAqgdiWwt_>bYM3aI{qHe|j=Mf#(rmfH(cp~Wv`RrPhJT=N=iLB_`2{?(= zgixg{w}oCbw$SGoTCYFE`Fx;h{CKL>6Uo0pBq(;iEDh{mTG0==9s|&wBdsGoFjm7N z_mz-QvImo*aFiRas0oi`Qd%$7iEBKDAIQzG4NgT4gonm}U^Of9#Z*HH(y=^RSv+>_ z7cRWo##YakHF(7mK;zJ(M(K2Inp`%avm!`{K#CHO5Od+cauUmJJpp*>Ry-e$7}Hjd ztuT>@o%>4hZL!$5;Oi>)?pAn-BR%}^qi+POl5ky%ox3;ud6P&kqwX5v?Q-MaV_@iL0ET2~T-7aPrNvSE~YO%^gfuA!EUp589ySymw!* zK}!gEN|?zAhG@7ON+?3^bmdB?`bqqzYEVr&#JH+f8bW~JtizNM>?^0xz7uD{?i?*T zd&3GryFe}t^Z@EFJC2^36$*7oN<)T8-p01qU%?1=Jzq=-RjG!s2khQ7&^RI3&EJR!b=BbW&~liE7ZU_8VA!{*wA@puPR9~%In;|;Lww`kYW zpt&~R=Cb;B#QLb0!z5!N=*(d));>5I=&E9~H*?hV3x9JoWY8eP4SC3>jy!?~MtBse z5(dMk&3(?WiW)bAZhTV!dwE1DSifv-+@)64ufg zjZ;upT(jP(rETH`o;FuIe95Ht_SyM&bJfPw*kKV^r!8&uoZ9Jxw&DS zrS*B~mYOh76Y(!L@=LW>yEG?lfPoK$Np?ak8$ivZcDEb3WB?Kq%chldsGPJ^z4G0U z*?6_ZDoNDHl&MUmN?tqAzwTV6q;;~yxo3Z*3y41JVzs!ju&gPOE!Q0f?NSK?FoF;& z>&NSJ>9cg|Ud%$bf~(xdy?|%uC^mNfRxQ$lS@Ha^vD+l;WhEQAXM^PzW#FwtX$ao3 zD`EY>*Hlx#i+E&mx7Xl#@J;AFv+8DZrJ`@G0OHt5XSkOe{?i$E>SBqHiXjA=TemGy zev(*NG5DQa^_*{5aoEw`4_z;)2=Pp!Qh`W|VPdN-eXChXM(rEWnPn4Z$y2~~A^X*u ztDDekj&?`+{CJv{_00VPGX5%zXxC3zZNW<=d7%A}t(-1=F zI~M4sYjqKZGtzNvUZ_m=cv_{B=7h1JWH(OOVSw}S7r@i?<3D5T&Krn{tv(+p z2@wx9fgNd-Ht?kET;umM27uG(6eYJv5;ZVnV(-(8VJoL+srXSW*`}lGt!qMA^&K2C zfR=~UcB6wU!=bWQIl#d3FC4|Jg~tHa*s#lhM>ZUpubJfG>=GTdkelv1e@FE`wpD_A z0R`ca)rbM2PV=JW&*sdEzV{VJ8BYJ2DBQ@C|6&k2J3+4wE3W9Kpy+q4`a4NAtq>(_ zJ_f*DIq1ZpulP_Njj8FnseFY90&*TJ-^)Ti{vI&Hr`puw!3M)S8XO@YA;jwOj%$c8 z5!12{FhH9m{5nH7L2$+dM6Tz4dlxXsQfv)Z3w;3qO|`P|H8PD-YNtP@B(kvjT1|$> zmSk58$Gp~!Y-EAn@tZGZYZ@Db4lC!t(jDNXr(-cqRW(otN5)iabn0gG6r~>+A*2*_ z(wIX7Oy?W5-WwiF7AX0r8}SLScuOWgPTcx)lfO?mH-cMFU9B5c+ zOUxPpq~yiFp2?*YwB6?cv>~f-8|5IB#?h&70DZ2XQEH&7WxmaM5uI9KFQ|kZWL4^& zTPE};_c}yD?&S!eAhuS_@<1d;tT0-8&bkal&JwD!PoNgVn9b^$01roqbJtYaZZT{2 zK8Mc>I=T?JK!F+0>0zX9^c=5}lW++9c7^5%Tg`Yn!X!;j7_I-!vICK$D7zvsTaI|Q z77Q790&8=K%X~8Z2~&gsTzNVfNWv4*=4ti5)-uBX69qM_I~RcCS=H!N$$0Rn`xn{n zTv%`yy6?*X`u$O(*VO<--Agg*sVi+l(*%IBk}WtGw6gse(xz)Q^K8NpE#mq$=g3vi z&GE`$y!M!XYH4|R&GIm;+p>e^gfepgt>rs!C~d}b9wwP#1($50Ke3o$7vk}9*CRn; zwFAw7u$wQhz})k6_Ct6 z5_8Jr@@Z?K50P`0DUde>96q_Wx5KFZ&p)wPeg9ZQg}Bgjxax%t?^cvrcB zz>L~+Br)|X{Qw_WF;DJ#USGTkBrX~oy%OIM4=&&m68^mG#qq}$a`|`uZxmM_b#WiH zZ3Eh=5(T-iXrceM_*-oLFQ)iC-z|mpT1kA|j;CFW+QdxLip>WhrleyMj>YDZ7H?J; zwu5z4h%L@)i^Pzt8Ld1UFBvR$U7dwb8n5J>JuhXQvv(5aqniOUP(q&Ar!uss;NbXE z4yf`~+)3;FekLl}O64B{ezWosQp!%5mj`Z;(@8w)wX3dXI|l=d2r?a0Gk~^>8$ioY zGDryifPa>r2W&&cL=5xSMv;)O(E`{u6MtXqd{v3~4@u=)uA9*m0^ir#Fsw?el<_gh zj3ciWb&X&X%PeVq&LYcUXvkqI1ds`&bvyu?2o%^ao9|p}6d0mQag z*>$j`vo~H4&v-A9$tpN5I^IV2UudlFiLu?`2&O+CK7Abz-=M}LImUa>`gU`e9ag>> z(`>X;Ynxk#thXI#hm01~8uI*QUMVoEh6*%4PR zIDF@Rl8I)^iC_%qiUmq&=GMyAwCNT5Pd=%3w^RR#k5SXy`f#vj^xQxUdoq5*_hi`i zetJ<*ntlEe#sr}PF|kq1M|mmwn))n@c|rLIf7$_ek8a@x?gE1Bt?%$YgN-5`AC7QU z-$BBJcgrguit+U`OWDE@8V<%I2zSS~(#^UIxX}+OiZ#wnhIah=bN#HUu?xEjPP;S> z(hw3JX&tYx8A%iK3U7DHy^L%WAEvf!6z{}lr{<8{LToO4rPAzCaB+VksY^q z9IWQ`CNOkc0$wajm6J~bU`vFeL3;toQt9LNjRHmI31w@BkbbpS=( zbJ0^kM!X{co_@KZn=IOL$A(@q_2N@MF$3L@tFyObl7rJAh*_96XBY1j$hJmOk7;mg z0I0HQ>+SCyHwB*y$=aH8_1Fu0V5(ZUrrS6rrdSG&;Ojov*^R8YDaf7bZ1dcNFpFwy zBP)Gpn2NSZ_~Y(eX)Cv$kLL^y(SD~>sef|>CO?G;VS4i~FQ+ZM%Nhdh^6PXAJUpc_ z35W6!Saq)Lng^iEkpM=cOiKGPkI{D{jOijzp+Qu?%BI`uvwt~R#<22HNj%tX4~con z0)^H#(H%BQ+;2aUoe(e=mnt~hFyJjKIY--&l28Nd`~$qzlrl0BKJ~@cYVGU@Nb_i{ zuEw9|*#8J|=g}UJ*AEa+VN6$uV-bFlY4@Yxyc2d41&b9cuPW8QqfywGhXY2q<1p6K zoSd!??@=|3mIhWIg0!^T$VJLIE=DC8g(ZiWq$8I9e`Q&2yH3bjPbQMeS31W z`lWyErn3SlIoON2IhOq}E^c~$u2fIqA^bHmb{7*-HK z#ToBLZYLO#DM6%X4Weywb0;sZ|bbGfsAYHlEZ z>B<6omfpbJ!a&ZgMChDEMF4dIyM6jPmU@z-%jAplwV;O|t5o+g+~!U7;!SOLrePo< zbt{C|x%K6D_~#q}=k7&c-WLo{$BWK||C73002NIq5`0QO`EG`=>PG9Q`q3ZiuZXwM zFSgA4E_(!JD?#c$H3N_gr-}hi4|H+OSJVs}zjhee*CSAJN98`=%(5rNKk-W$$ZZl_ z1l(5110)TC;b7nSrM1R;8IRB{hShcPr8PiEjq_>&)b#clUFOymXoHF&@scpvL)h$= z0Qj8fiYrLepVNs#Dou$~wB9C-#}yzd@$kn2N>RaZ(oyLzU(+5Patt_u<3ZE6!4-~c zvFNltXJpn(fD1{h>~qAGuMon-$22Uox{DbiEE;l^AfHB{x4qJK{$~vWpF1Vtk1rF} znjsEke!;yIJ-q;l(0{VR$`H<82wE>GLL>PwW0^2$D^gdVr^5+seVf}h*Y(MoG!b@; zKO}&f5k8<0GeP)8iELZV-||OYD1Y{R@caEQ1+1DzqxWL||BI_m_h-giR+XXLWyBD+u;=>63_lp|nR zI{>gJ#Mu9k3qwek?MZT8my-r2MsI>w!p8h#*~F)QMo+L@mII#TN65kZvy7)}JPj2} z0x7OTIC-@TAhWkq7 z+&sYv=vKz@r70=qPW7oIs~AaN#S1%C{CE)UqoY$7L22YxmUOPDvF}-!ZM%YY1_h65 zLdIrYj|`is<*{kv;Ap7^x`xZlt&vSgxDQ6MKb88@Q_(j=V*#b2J zD)-%B5@QDpn6cNG25~F+h-YgAR`vhu3fFW&1K}s@O=uvA< zcC-=a6g5DU`9anyutmeSkc@U+CwSuECkyx%lnbxIuMOwB(8~+OVgd@$N0;AR80X?L z*7FLo8KnQ#eEEtV=MuxLNmDXN?)v z2mxr}E!TDrU>hT6A@5e5itXRrtkPbV-m0%Of;^P-`>?y7I#iLduYqL3D!83X-^V&G zqo0ZC0PTdt62DRu4IYVG=-ieA{Ik1& zbK05{p_fM8r`z!0Lw($C$(Tc*hUIVh*|i zuG57~uE}l`Iob5@^TjbrD=&JVGzNGn3IkP2&i{^EMO|$Vts8-RMC>5{?R0j24efdl z?rU?)(7=;!oOpN@mwshNV#cF7Vr*EUXkEsPvnxF2i|@SIY9n1HyHH+JD$-BgG-v=54v49wiT#g6cxIS=6b{3oD>1vXp?7&(f4 zgWIcy!UL0Ejt4QS1q3P9@@B4Wm9|#>7X|iTMK>llGHQ8znrSY+gDW0-#c+}LIl&*R zGJB=A%m(;HX6gY77FKR-n@*tZAq0I|{cYu2Xc3QX2L3Y!>H!E4GI%bqH&Fr5{_ni< zY(wW2QUDx|5P1l=fR0k8tMV4>{(VvMe1+LX(G6M#v4<`+e)UaP{7Nb=t(KQ9^mIcg z`~|OZBh@Lva6l3>6!A@D+CCb}176*Ia>GT=tkH}~!`DluTDTSX9NN2I95xm-+=jdl zh4bbEF!{$(KERu}q=!-$*LDZ-i`D{(dBB9_&wSh-Eb1(U$_DhczhPdt6%k7VS+x=ey2J48w_XkUD01ZH~9!|K;&Tfy@<~!oTeXRv|sBU5##~7d#)Cir{BY)+U=xS zy^B4HRL@Bm$)p!P^R}7sAi^Z=WH0t7Z5Npil&hO_2UjG#h`aAM6t;3Ry}$M92{-KO z0Zg(_AawR1!*f}Mf}*s_czCFz)96oUElm--2+=|4Y97|zu~2a11w*&0i>|J3o_rt= zAeIz}0qqW7{O(t~)s@KFySJz;dPgjHXFQtF<576JW`5BIJCh3pm-LG^ff&;MiW2|{ z>o;~KVV9_&JqtjkWo?QXtNR)r%E1bRKlMI{rg3V1C0|-R^ultvn7}~vYQdpnDaWX8 zf=4ptAZO&JB9ZM^zuB0kF%F3-9VRKD_s*)<^(GMR-EvIjR~dy}E+1z*GsFd6Pak29 zKu_N}K&j-P565M;U!K~n{3ztGUjZE55kPZ5!(8>Xd=($cs|VyInr=)c`uYfs1r}To zMg!1bDF0u@fmQN;;AFs*d_ADAX(nZ4d;%@cnWu4|@3w+tHPwBx_x}S?IG zQET9abIZ>v4O^04wKONvH_P<)oDr!4K6L=@`R9Q(f5*@62?sku)<@W6~ z8CIXq$3(YI0bquEVDYNzj42tGBf@bb5AXtF!YGS)cqPDr5PvbEm@iwg+=q*D0uoor zG%!}T?7YK;Ri3cC(}CRf&s+}AMnJ#ijP#ellSOu)#uW2nK#={)WVYoXZ&3z_$DxcD z7mNYj=-*-(rWX3lNA5d*{{i2EQ1s5(KiD&XJJ5JI0FAP_kNVltNByB8x5+>GzjY!_ zEh%+}wq`)(&12g)gsH8JXIM-lA*+ZW@|_b;*q|4T&CpfoD|{OfZm<@O>m2_Kj=Vnr3)^~$2V47 zhg|*W!6N@vEsnef58PjG{D%kqGB-a$wkVU@LQbQWW14)x%beFiQdxyFY*$vz&2fS47%#>GeKmK>5uBsFRE_vt>-^ z!6RUrRzW_~!m8LPO#8VHkKSz#z%S#`+c?l}3j=%%1;L!4;%K(!fy6MN^}M7m^Id!t z2a=v*Opi`EY?B{b29PpCqhhqj0Ye1<5hT;x8p`>CR0s5uU}CkG2k7*ewOiUzdM5$D zQ5(Sy7N1gr>H=)zE9)a%Ag%7RH#m!Znh-0X++-u2}feFB_-&swew4fb`H5Q_-51%dkO0_Zua_L?HMeU_YeFMZ2UUS=zIZ!XVILXez^+}O3%lR+y%TH7;+19 zI<&SI+A^-*Q-;Sjs3d9@doZai94~Th`2PUtk5;n2`zJ1tQVG=;fthRCK!JG@WSiZw zmO{aBY4t7fC9u8<*aqS}(;x0h+j0X-qCR_y>l>8QO{t%W z=ZRF}wJt!POiY1jtcYcP45*@)Q1U%#+*P4sfI-pbGoYfuo}a*J!KIDcu&U_QGfN0J zjO{|Ff3Q*X9YT2vG?IOzzVDF&Qj9*l4Cn<8Pn>-FHB;S5C-}{}%^CeJc>4;Qd|D5&TxGz$ZDZ*BcKg~S)5+UoaBm8zj2CpYU7_m(2OhTWyDpQd10aBSOTe0u zO~aF?hdkW37JE!pSe@(n;#E$@UCT_y*(Xr$bVhyuLUYTbldV=jTZU8f@y64ff47lY zj700UTF!dDlhfe1-g6%)%AyCuP9*^yQ9SVX(-&Q6F;|_K%btMw)seT*TvED{=*X^r zt#F{o0%uPdzL25Y18z77!rY$&&1Rw!xB*Ah3CX1x5By~{`x02mJx3($6T6q6$wR4- z00^ecak}I=u0?JiktB=k<{7TRDtU-3(3JmNbpvseh{1LFi#-r{x*H@1L0{E?gr3oT zY6}1PxNQgMbPz$yOyKqCj;?syO=Qk&F z{=gXz1Y2hbK!+}=HCKWHhfw2q?IVL)$%(3%k30e|w)3tF=bYIJ@r$}Fmw>)RI>rDU zd#Pchgx(z?-L-ErCC2r#@|{>YxO8N97g4`HvRh@SnE{^p|Mb`4b8%Dr#@XzDznLc~OL6{hUe6-uW(Isx=6_zu!gYIr)9vs7;6j#kTz``H7kvUS$wCAHBK45t5tDJs zXS{!`UlpowvOUz1rZV^6hrh}G6&g;W{;WtN?>h_o;d3dXyUZ~eE$KJL5JgyWIx1Dn zX*Y0j^y2(ATxHfKV^JkD7BJrbcRweYmdNihpUPlnk8wP#gWucpyk33H^#JD_F~(Bo z(K-2@8|P2F_IJx-N3w`JpUaIH_&I_*C~(%{>1=foB%y`{D^QICHr)!@@9P}k-!XBQip_m>(H=Ets6P_sVSgFfAFeuOD+%z?! z{`zQYQ(PRPWp3qL*HCgF{}B#ne0lz$^{)oBAy!ce9k<8GbN%d@w7BYx+?N9o;@G1v z;IVbGO#529i2J__hI2O@7X*l1lb_DlS%n_mJJeg>zWpZgE6=qyT}J6)^;Prb-{G+D zAgi*?bBUQ}I2`_7{q-yQ2^b3U%&Pgt!8t<;1^EYanpg4$YaKd{-*^P>#U(*4-2UE; zc!WdN1F5!zR$l*zz#A%=`&X9Q)dT(s2#qWBtLuZ?(vQ{3h13}0&CB~NxI^%eZ~udGBk z@?%TyJWIADP;G;-_fy&z)YX(HU2@m3H{l)3;q39#JI1FT3Epr2^~_)q0F za`$RzA?<{5L!#pQgFAn%HJa@>o>pIp3K=@8&IC@s-O^pPslLnc#&0^7lIs;ttH-d~ z*qna5EyOt5YUd-X=j5@7rf2s)KDkzSj5yb89RK_2!|VB1kgF10{wnrC1Bo||wM9E> zE>pXYKE82eBr}u7IZd**e~k=WN)>Z(gB9*1j?OVWfYeyc{t>P~#ew*NLI2G%*Qu%U z$e*!ZeF+uSSHrSv{PCTjp4E0dPZ%clUj)+~@XkRj`rm=^nj{%I!*TX1`4tV*d4Jb4 ztZh@y@*Yma4+as0(uX*r>WIEy#&NSW{bZ}Y^b!vXCcX3bm%mX$ZLfaNadPqj8w4M& zALJ_LM>c1aJfxg?)Fyv!cx{**LsLnIGvJ@fUTg{j!JYZ4Mu(`(7>KdSE3 zYohqsroU8L`$86=_SoHaAPk zgVB*;c9R(xiy*@vsKA} z!)9IhEY)E%jSgK^YRagG%W6-Apjo~DxsxF~{7bz{bVe=TyHUC4)u-xUJUW{XDmd%j z=`q?x>}7^*!=t^vhMJQ_w&R?(+>cB1;m_xK-lh`(E#oOC2FaE$#f z=+^KP6#o%*PGry4eM4utz@}(r6T9ejUCDxT%;c_^K4Up|^H17cR?{}~Q|jlm>kcYC zQk)jMi)hk?;eSDv9{4N^XNp6JuS^&m+S-@W!M zvgaDSlz*A`Q&T$MsHMtc*?y+Qpl0SD)fg0UvABu6PJ6|i=4sipcpKfo8`9|ek?$9>RV1L2KfQ0lis+WuWJN{1&f=`9iMj>1DFUC4gHzp{ z8A~^&%30?no9j&`Z~*3+TdA+|Rt2pR=iSuvbaRK&7`Uxozvk?_x6l|@Eb21v`+O!H zm^QZMeR1cn7doul=3SkLi~-z~o`kA=(AAA!vAo9XWKmpq1D|&Zvz{#`c(Pa};b(pN zc9FJRO%Lqz-DSo;>~_f0gyYn~?0`Ed7%g@^g>&M)y8C>(l``OFeUtU`&y|_Y|B1Cv zR!C++Hb_`W)`OkA5_1TmzC3@rLeMvP97~_F*sorWrf9ubuD4jj^yxPSZEY_|*c=B8 z!M0~-e^*)TMUhdB(iNqxRw9uK8t|cUu%7n=ffS23P1C&kHvyldW(O+hPeHw0-i|D+By7q}JNRDt*jJ1;SE^SZ|4DikN_d_FIsc4=Qa3LIT~p zqH&)Hi`b3dwDfb!-lgvrq)T=3x0qV-8((%2dHTKwM(J6(;Bp}NT6=@KyNcU?(Qie41ZwqJHRkH_z1G4NdaRp1YJdzxQq#>0;`__cMB zx(G-2a3b#1iLo2ME@5_@SYoM57@?OoU7{X7igI7_$WWBPoj7*2mtr!M54IypRl-ca ztz7hbn{j-eO3%5C5mDz_uuChgfWAf2kamdu;m>$dj~zy>kzmdygyTTSuZZR(@%L>AW8)Ph>#nrXjs-FxGOzE>cmO$8q@t zy&v}gjCYipR>_e>^bSPS?M-Jm7WCd6Lm|$$Nq_pHUp4vlg}!6w-eYb3thpx}b>ugq zU;ezNte)ylRvp?z-|M@3?BlQRpCUGvq!GoZ`KVb_ZIS_MgYVp{K>WgarqWEdJ$sL- z<4s|A5^3Lacjle0b1;guLYmE0PHj@QpCRt<9*Cv=aw&TUxINVHs8fFA-Oqe@_HTy8 zr&0i^_u(axtb%3|G0wyGFwIoaXSbgEo~s>QW@j4CpZ(`d{MDq#_dl!H$J(_#^t&s$ z#vW@&SILOuAx>JzM{alTb0=QbCqwC%Bsh#kJC9$+$yOPZU8tIRy?!&Uv9B9dM!i_k zv)mJLOtX+@-w+_0dByH{7ZAs`OI0j!%-Z~hUxJFDipkSrS{3i(cLp^2YU(Yp zaQ-K2G&c-2tlo`CP=iLQ(zSc3Bn6 zKhdD((?F)&F_U{;VJUuv7Gz{!kn;sjgN+47tbv@x%4IF)M>^qSLlEWKgQX{?7N?b$ zwHn#4X^SuA-%n4v5h&JuD{c=yNu{vwK!2C7GIkTGiyc6+)^lZJ@bLz_w@B@OFecZL z(Enl5`Sno&T>nHjK;mt31=8pNSzn2GbvO3X`OCxSsiTguc5~=Jy9+IQH}+E9m7?Q} zq+*4Ajt>u(jz=LmLhtqqPQ&hc0v z4AU}n3n*l_@V5-3)49x)+Fq<=5fB-z!K^;9i5`p-&DDR%(`1r9ZgeM=O4M?H`g6!% z)rG(>%HkO(qb5%-5>+;|hZg%3i`?H?ezE(x?ETT%^u|C;Vxe_31s?E(@h$%0fu~5F z&+w<;rPcGH)B(06-8~m*zg8SN-h7O2V1!j$o8j0aT$maIZkm|RbHr8-0a25CtjmWD zu2p~cD%-5(n-bFYGe?F}!qM@pu$fbE^czfG{d+>>ets7V+tf}^1J<|kgheN>15>l( zA^-3N(O!SqHuIg#OPGo=T-y@NV-Cyu9NsJSwo5 zjzr@_`utnL(VF;|0=0dW(B!pBxy#>X<&TJVSkGd{?HaNxwm&F?=Wm)LujoC9zt_{v z);M;;W)9Zq*KZm3k7VM-JC(*h zu!yUPavW(sjY=yD+($0apu9<22|Vn(L$kr@ zfBFt%s)Sy|aq(X|=q5>%O>`+1N~`|9DV4lQt!S8eQMf^;m!T9DW>V+5jGD2OlCh6u z%R*NmTzvq;=g58~30Lj6M3J83FbE44k?PuJ5>3R9hRE!B%e-G)*k9nT)g+yz>PEi(PWOio8EIg!~9Q5tsG~j z;N6^8F{O@U)llPgag2MMa3ywEi4#^_d9mv5t2Vc}$A~DLk{C&|u`(W zHd-%C&-8=x$LfZDy_97IZ1>C~2O<;RmX|`pK4Hdph51&Ox04gjBEIH0RFt`-j=7hZ zdzBiD5kOS&2SgsWPpjAn>`=q5mc4Wl6jq{GF_9<0PheDK@QN$Tfb zQZV~55n}RTTX@_?1l7_!_U!?0g70kd{nL~koJ6~En1sy}A(NYX-)`LVtkKjLAya`n zA8PYId@Cw@1ba>1mQG4`e>f)U~85x89QNxGC;5Y#Pw8@xfk{ItE5eGMaP=;iY`LI znJ@XdwK8?-s;qnz>+D_9;z+g_ZrK!@N0EFzQ+gY90{VP0zBxtLZB_bYv%k}Y%gmyC zs0Qp>!tT0x3;}%^)#B7GB!R9I;P%izr~fyRQU}$DIMfO2GLY$oSD$%yr&(LMey^_E zdYU2LWD#>+J|^oeqM;(p4YC-h?ye@O3IEJIAsZGtylYt)JMlt_Gr?x|^%D)R(U{PG z;TwcnAE!9u-}qxNfkKjZO>+9KlIl% z=rMN$Qo+bZ=`AZ4#OW)oH)7$p<5=pzGT!^=lSArj*0f?P0&Ze2J=DkDNDFu+9VYqX z6IAMoE^MJ`Cj#xm8H7GsddK2?5lEIlPrJmptnWgrf)E5Q;fy;hk6VwoOQ`g%eAk_O zt4uA8UW#pZ%}+J2^_PYm%+PB&lu{bCDylX)R9r45#O0^AKhwD}IphgP+7-5tsZWtou8d&> zJKubM#d_yDttHa4u>N_jp8%g53M5(N?Rfo7YZm;XESP*w_HlTgv zcWb0bdH|CM|4$`7R9^(=5shJe=q-2LNJ?-$*$l(?} z^QSvPqr`vggTUo74C9%U=<*sz<3o5(#}}$(tpk@jg1-SFKfW3~{!RXAZj`Vr!}Ueo z4+_Zw#djFu>6fn@jqW7Iel=O@x&-UwL_LFUX3+iL8LIOK?$GWRQz79&=-`W$s zNzR7%>)tsk4EZJ5U4*)S*u;@D!cEWO?-g#~npU5CR5%QL#BZMb+Y^#acg#Wp{Mkx> zl%TZZVH?a}q{C`rY7xhdmHBP-0e*IU##2|Jp%<8*y9!=i`lk^T=d`XuPBIe8*g%3r zbwk70D5|vzMH*H-?YY#4>W0MUtfKku7{=nHzeWWw=ls&T!wJ zO%xSp)^cPg$gZb2yc(xF8umxMZ|8!A3eY|GIg`?N!aNPwNHUKYeVm2 zZNtiU6UXb+b|iC0!j)KgA4F?=e!s?Df7gQw5l`UD*b6NwEc+>`iut8Ti2Ddd%Qwblm#PvJ zb|!2ckhjVAH*rS0Y}(FdLO7B-t-ysax<{l*5v{!nce*-nj)Evjk zL^$C!JshY{ECgR{QaAJ}>;mLvJkARfd#^Mqx*tBO!*WH++vUS=xJaYjgZA?T?J-x>X zw*;K{-G&#xsYv}HIccJduXC<}$Uw-#O|y0cIqULec^pD?wwULW-^8`hHeG&(^)b5* z6Fv9a@lng_lH91MG1)k}K3+w>57uw5#Ao7|kPi&SLwbsL=;A)Lcg?zfxO%nGQsvLTwK?E$83FcD3HC!@n@_{2`srxY~~(5))evek{;~#oq+Mi5wb-h*fp|4YpO-{g|!|Deq4_|CHq(D>uD9?x7KLs@eJY6sbML{XC08_Mph*WX=yoykDO> zq&R`U8UzRUsP2c^Cfa9N^|M-6@lj42f8ogGKgJpJE2Suz z$u%&gqwPii`0AI3sd8r;OpQI8GfqG% zH%yv5(0Cxov*PhCvz}XKm_qk?%`dN#hmnTuEm7+(n>M81igtn=Eb>I{z1RdAo6;H9 z`FqN^#Sf+3tPJTgT^UdKrl?N5w#kH0LzuT}RUAY<>5>fNg>J0AinI4TPl^)KRV(D| zp2EQUH5bi}wcg{d68uN?i|ZM&#VT(%o-!6Z&kmV+5zc4WPTcn~EqAdz?UIvEtIfFg z!AP|uy{Wf^X&vzWli9e-dMNze4Mso$9}jo)wuM~SKoNJs=WB0v@+l-M_PwXNoj}&KK|e?%^Wst7L%2Ci=6OI`Vs}0z6S=yh#u7;^ z^KS$LfgV}t@qk!P_a-^7^^dvyaQ|4oxVYb#14fZgc8Z>VOo~q^=YG0`Do#4I>dG{x zA#?eQ-n37}5m==UwNAr%1^#fYH7+uZmCrV zc7KpB*>eAN0u6|M*Yn%I(yc=UJHt?h-Zeys4)j4jHaC~jqHcw0gS4fJ+OxCucyr5#JWOt{#cOj2ddtFGjHu~Xif;PUtGFPEG!LZI_GYCdRDt&)avw$RU=5sBE3-kr)pv zt?W%I)J-NTskpaELj-GK3jbrr%4m%`eLV2Fp0nhmt@C7nX0RPv0srSDj2-y)9wE^jHij9oC1OhiUFf* zbX$Oo0n!Zu1Ejml0z?FbFl5hb@O<>{=uCY0L@z|0)Jb?lp{Oju>~@HFukB}@ETc|R zj+ox^ne||->gwB_+NqcKElgqyJbh9=aCG6#JmV=YQFQRT!V<<}L1U-EAiRmMEQu;-kL++)21Cy|}>S0$xt6Jh{_gYiK9|R{& zx9Kyc@$$cBmaks8PI%m95N+pDPSO7ZxyPN!sO+~OhCz5aA__KTh3nRkz<7$CP99DupZ_V%*}bQC zjyY2y<1ng(H(>hu*4g=kdhL6`)V6w9s=@bq4p~)vJ%v8TV_UgFvh(5P_0IJ8~TNyOvqaNYB!)5QUJ2E|BR|pDN zHRzi=FyWjPQB~F7+vVz=3^X!L4t&^_dsSu-gB`6dTx5AC&fRlO=3Hlxw`54g)>K6j zxDsyPlVE)FL6Y}Dza;5q`U2+%_B)?cL^NLZmb^hn8+Kh_xPuXpcXw)RYa|nHl%#lM z6HZMC{&GVVk{5_T$KVGaz)f$8NzMp2isgE@rr+WWx~cJ8{@PygWld!3Tg|g6f%1F! zPG26E#U6@yzkouz9)<50C4c8THl}%oluZ9git_3wb&WT@^8sj0nCaZEnO(cNr0V>t zl3CH732HTg)hF_g`b>FQ=FE_l_xQ~8gEcGel$>LGu2{G@bVwdb@AS^|w|Ku#S75TB z9NWmUd8kNa!Xm4JKuL;WFXULufS2yI33A>B^GBRpC9&C1+~h$oJ>eZ8;)X}4i8Vr| zmjv@FmU`h;s$$N5BBwd2OuJmilVfo&rPQmJE(3dI(S`;Ihh!9&c{4@i@ zb7sw__(y9LZht3h(Pn@)eXRPpj2mZ&_!)SZke#k{|0l|De|-6)8chvvp0Y(!)REQW z-jZ{U|Ga9w@y(L%;@f{7nx=qc)2l~kz81i~4?%u@C3#-XqGsb)NBqF0W)t(`ImuT+ zk~^Yw?=n`nL6w88_LBOrGw}mE&smaJ$N?}q4h)LrhpEt9IRC2Y!OpuoND?q}N_h*N zPm3>cDDIsgBQ0@mxqmZC`i-9dzIRT;Zrpr~VA6m8Qqae$yrW>{+e_4{m!PWi+Tob( z=a+swa5w(BT_!Hpra+PCT2pr!r}Z*7q#=>|)&7*Od7X5t5$v7!aK$AiE&CfkVU#3l zT?@a@KDMIN@wKUe;#PxTuM@e4x!xp_*c#*t3?=cC$+WzU+GPK>%2b}Q4H8@Uw)=LtoTw#TCN-8f;-bCD*azj@TiUcK+MSGc zf&ZLYl{buYP6~-*`S*7Xxq{QZY*2$%zW>9<1CwGYcr)qvhmVDgYs!}p?-0r}w({SB zGn*EMoh#!!V%CRQ&vjXxU2QYx>ix)%dKg4fI^z*#DQnb=D1HVI(gS1x|8MXH^vIu!hHwu~>u z_$fu$a`x|-+to^Yqa$bBsGm5HYz?XXE5TuRIVop-URzS=lK+_z`mQG*dN-MsU;H}T zXwO^y_BqXu_624QYvp^cs(%QR)K9{0|k1yUtFzj%Bd)Zf%B$+Cyy-vYti$ar3C)NqzW zwD2953_g%3%FpL-e)i>IAyEtc0J^fCj$R;%d-8bS<_!4iIo;{so(r$oGuuBZQ#Mu@m?685`D5^${d2&m|S#5B2>FCt)c7AMCSPNLtmd-z&*|Axk2>tMbD^SHMVyMEFvW zy_QXx4mF9Sj3`?PF7F;mY?cGuTJDO`V-jJ~s>#noX7z7K>~VsPXYvm(@1OblhU@Bb z5$T&flIQip**kWzoD@@MzJ>}F1+AEAM_(l={wQGe@38;#8&^rvdTi647oPbVbVr$u z;^=soPUh@Gy2g67bQ|hWtMd=V$V|$LUH@T!Mq>Y7$7`=Bl7}8=O(NX-wXO9nlH!Q< z%9As{g{8f2Yijw6(*}Mfx%)wJ-!|qYoosF=+qtu6?tcDd8@zHmsme!f>cx$VBojS; zZigYdUA&}na&kK+t7GD&UumuXdF4x;rB&|GM#IUFt3qQ!Z2tT|@#hZYn1Z4Ucs3)G1stn>Zyz;^a%wC2-!~TJw2h^!vUzGl6@|_l;v#9ne zOor;^HR*dbR1{3|H^Nvh@v`(PJfaK0*!||0H=d zjoTSJUNf zaC1GM>~w!;^Zs~m{b5cpGqiEuTU=S6lsXvfAD7too7E@19*ixsCoVo&QRc{Jm$2lw zH-5BU>SymkAP|Q!NVqHWn5AV z5E{H{@2=nm{0+&kP)eL)D%cX($>Hz9T#fjeAq%Bhb0|1-Ci%f0ZS8k*df$dF)xQU( zkq_G7xELBcoG#ubOJP7?v18nEgzZGQdY+dy1M|I-?m8kz4jg;BMz(2Gnn5#@geIhO zvh4V95U-@~ac28q3`q}8jwurCgjvI|<5&!gLXNU^dmmuZIMo`74E;WRDoNJ0CS4SM z_-)0*T%p5aeLnO+IqN}t+|gsQ(InzLltiBXZYfv%khAFK14+>|Dfaws^YX5(jN zy4dFYA5Z*!zKJcilUd={TNzeI3^Oa3HTw*iI?RIDOrc6mcJ;xz;y$PvDSt<{6RN$y zT-QlM8i<MzUy#I=i(ZC?YkJU;ws#j!!;I!#;C zrm~cLf4r6t+TfL2h75!Xa5Ax}_RHmqm2StFj^KMl3ln@FP;K2(TSvTErWXiA4uN9H z6k6;zlGPCtKpb%BcG&l}D#fHOG9PBM62!g@Mazv^h{T+dba}dKY8#0ARiOO&F;2*T zxQqGFo-2?vfSF9<#JeRAU70HWx&9^Z58?p-wi8@tCuHE+`7sE{ zI9CkeAh`b~MMlF`vc!JqTpaQ3J|qaW?|E`f-Mlg0TfZB>d2xTKdRz~OtUjsN99Ymn za8Idj>3~rr0@RiyYRlPNU+c_q7$I2g0_vk?_DXcb+= zvo7WC=4`xeT2E^ck2weQtiEHK4PU7)jP~IEtVOf{73zu3*a;I_o%!v;jUwOUC2ege zdSIVb-f%hYo$4(`>!!A3Rd7X&#Ca0XuFB*TB51`jWAUYt3@*`!dBcXu9_Q9-~Lv>j;J#)A2peB7cLnNt!2lS?l?EW&BBv} z+?cM=e)UiV|NT&Tu&o}DPI_N&jd5Quq6&>g{uy@k$#|8z?3E@uLphM#%>p16?#TuWh8sEGaa$f49>VNQ1d zMyTx#>|kpd4bR)y>b;oYqh7&{kIk%IQYjY3EwmCc?P2vat^<`sW_%fNmlX9}R2kzp zTRTGHx_KQ^Va$B&ic<6pRWY@dszGqG4F$txO70jgy#o6QSA9q#N4BmM4fr&m* z8K7-HegMJDc3z04ysod}ebiXlT_Y4fLviJ@DbyjbQbD9{!SmS7?y!Aa{5WpSN6L2M z>R^f09v~N0CU^bSK-I3^tvg^RT2F}{%s_N@K3#q|bUZi9EstmJS2eAFY8-Vd;td!q z4_}s3dmyn7M0q0NT`*lo(22e083#ZCnB%swInk=+SOy)gdxIMA*OvuI*`hEFH3Rx6 z%k=72j%9leD9%yVj<^(cK1LCo7#K8gVyB{V9_A8W(Mk==VzqL(S-1XP+>ML9If3-9 z!m;b?mjhR;pPzVfGkv{sbhR@UfQN3k-@xkCy{h(qzx*cKswa0faj-xF#{^NK6 z-zIQt{+g;MPq{9p;Sgfp%XK9wCbJX+^)IWpHX>;vkHJF_e_8_@_BD=Fy3Vod=pg-; z6AA$3KOL9$(DdvW$nidi*S-$?xU9e+&?;!>|t zD2aNIRdlKcLW7xQJZY|7;rhj@#i{=ARJ{jlHWbWy5tQ;Fbu*HO_VoLv>_iLw16p>9 zE{LcNfTZ?l66!B(s>U_VC4s-{7$b$#zHcdcK)GVV&jUHlZ-EQnKe0$RG5~P!1|X*s zSZ&{gC0LF3A^!L1eF1CD_!{>5?z-=_aX@m55Z$eo1@l1eEW&QC5w#}(0U+7ah3E*$ zeu03w!FptOW};a!5(9_juzeWPyLUaetEdHTB}EO!eqd7;1t6{6QH)+@#=|58N6{?3 zZ`f(ciDVT@V-a=E?S<8KA^&iHz!nYaf=lis8x`K$u4CQ2M*F)+rA&Nz4x1hC7*CPi zw>G?*6&gDoQ`7CAK~q}NW0gktLI)vp0yAjZ;`Xfo%%B%`4$RG}yO>ry+?&v0K>5;DafqAMFV1lOm zd?%~?68aylNRe;GG6V@(N2*oubty^}&A=gcn(2{Io+(6?0Ak7xb#hfWL8hJ)r*5Z? ztVBc9Ec8Z358W%FPtKNWPWxyXz27)-pAR7|`y=ZwXBIkxv0Ii93P8Cwv#Gs#BL8EW zmIvLcX26N~Sp{QE7gVprA%F|ju!z(089cBqt?J1f^9|6Q1WrcOdCmVs3yao>*dfIP zoUgC6{v)4IMh8jIXpx=x(u*Hs>JVJjYj>o!+zMIg)8!~1b(DEEhM8;EKyo8uh=U@#EM6L0>jVOy7?V5eNtd-<^);8s|-Y&wOsas^QJ-pu>W)Kc3D7wcteIod zI3?RSKOzp|LSH4eC{B*vdH}GWKPPX+%>({$`)J%>iOcK#uPUqpA-Wfrf=U~vl^br5B2~;fi#0wHdJiK;RIAs3RTxVyJM8>+ZPW z0rm9)NP+{JWC-BE4@V;EBq}x?97v1rA#>94{HEK|^STz#G)^uoYkr(Q-SN7);abt* z>|0u(akB^hBEuo(xl+gX=kQ*i#?{LXoBi;XsxPk71#>$&pzIy%Zc{2MmVG(l9R~^^ z%)*`WJ6a3THvSV%vC}UyOXENc1D>(%?FM*fECA4mT`3Mky022!0myCIhI!#{GgvM} zXP<*=mlz&nT84QDfKk9Z3+Ka#g7oTVn|jwy^^TOd)6vjIY$^LvZUbw%;9h+eknVg# zd{A%H$?D`ZsR5Tp4E0uu9V1joRz|iLK@l2ln7)bko89 zMc+BU!)4_$2kPhP9cXhQ{<`l6SdY}sdM(!?>bQnOj z$P8yJgcxwvAsu7FOO%Bv@-zE^KRReSq^-px!{EUCyg>7z{pReBI)M1dORCVsP>)J_ z<}Ek+)_NZb&iVp=7|Ws8Yc=D2IgwyPT0`*Jx5tZqv7uB^c<08ejU|bIS8ZNz^|k$q zkMS(l>`I1>Qlx8T!10?vr-+-)i$!Cb6TC$$20_>t_t@_W=&@8-@PZLZ0r z8)3qIXwP$IA+s!Ap1AwGX*AY({YLP}5fBTdi=W=ohB_aw^mNx84@&t6l}Y9kps|T% z{u8d>Y(D2>DWcNXHUTUF%FMf{ce{Gfxvf$49&xXqG4O2h!@c{#fP0Y>PaBn;CTV1T zfiQGp+BsgkQTY2=YU_8L#!aR4LfEB^=NfxtDCtFj_+Bo3$hL1&u)Bu_S%e?! z$>z}7!?$g^vJvL}V@%h9(Z1mth8Dh`)AP&2HT+577X)tsu`FNhXbo77h9)a#2Ow>yuMGa(Ibzjqq-Rn74gcsJY8o^N$(>6#ZmJFiiz@E128aa5hLtfp%c@mKFXme`yeSdw!Lra_Ng@ZvaIb&Pr$P4IRJ2*23q z-3Qq8x3Yt)1P_@z*?~2 z`}Lp{Hxhdwm-jv9$AaB8)v8CFU=)}Wwx?M__y%*7?a1nT1sg|L?XC?Cn*Fj_0F7?DT^AEkh;PK-LSvJ)xxew?KemZ##N&(F|A54T z3*jJS>%6vll+TQ4WDXR)?lc!Qi1x0`V0Tzrxk5!d-}w9cn0LH>TEgEA7(kHF^NI5} zN@Cq#2I;1hC5;v222`{nCbK?81jod`+AidFjr_*5ruc*Mxg9;1JE%5j+DQ8+GgC zT_nj8Ro>2eHv0my2tEl{grfD$eXJ>yG8(ce1QIv)T&HIpLSy-Vwm_GX4Ay>E zu_+7;6sxoz{B*HmFB$42ZZ(6#H=gVe(I6UxnZT4hOF5#d{|*m9bV>5R{@jxV!89>r4tEu)go?MjCG{$cF3c|V&o z*IzPk!c!OL3&I@>sZ%v%?YhsR^%|WZy)jh1N31Ids6(XuW(2EGol28czWRde3w0#? z)N&vI`?Bl48dhNV!&~BT#+jjT_t<1f1A;^oUJ-b+~>M&Kwj}LicA?M#NSO~ z5gUq;(Nbm!G-zN#(+@?B^kOCPb{lV9B`jvlOp88a8p>rn%=a7i*n-GfZ*fImWq!rbQjPAT&H>(I zXX;ojzXhuzaep*c&64V$7XiV>|g-N`7HzkC}7oR;&Wd9Gb=uX<4qG z-lNp}l!@z2Fm36}g=oFB6F0^q?g7$4x}5QJp}DxIrlP`I?1G$Ze_EwMGEk;U?@XjH z1)FK6^T%z+DqE$fQ!7_s4qYj7A7k^m4WqxsY^!dS-#51Rcr*Be8FT^_tXP*`RKvj} zO2(~~lkVB|pKUIK@MxH()BnTds;F~FaJcVoVXoUP=d{k60Y9%EMRb^4{+{#<6z!Vh z=y`i~k1E8m*FR^asZgdd*7QXDRqrFw5ebiY$75@nP#F~A5M9zA(0n2#b`yv@BBZw`^hYr9cJam z&?5d&v|#3iM&n1@1mkgcyzQ7;n@gITDEN_-tkVO7Yy;A6sjtMa*rac9ULlLY(Rh2N z=r??_4|6%nzG*`vk2MU_AfueEa6hAm(Mpuo)N`Rep{Rt!CJomsPW{)$m%|}kb_=e) zkExmEy?2_EwjM(EZzaN>tbH6s%Oju@=XK+sQk(zFWb0S-$5Tf%wOz7b3`41S>XOs+ zAbgm7#Dk>T_$tfv;ROi~`9FwG#I3#z8%G^V?s3Dtu1fZSiHdS_HW|>p#2)HQs zx>0yrZP9OZWh=fcv;4k4NZn}C7Ij}gu%KP)C_%9s{ngV2cxtA_^%ynFQvNtjoO(=r z*$`8k{7gHdB5s#jlQG5GN2`DzGsLBLI&}(|ns!FE zy}6SSul4PvG8C=#MOd@a{#43|${;8)+PCu_=VECG>=vhHG^W>D)CA%LtXa;Wn8HT`XAmCHpe?fZH>Zb1?zIm~&9ov4gx+P?^aJEj z4a5qkJv-eSuq!_E!9D=^^F)#kfAd-?)(q`^b}J{g6@>u-O6!?7^z*)npH35(gSS*Ux28Q)bT^i>y7y zMTzNusoifLy(r5x`=1$#L6+xjIgOFt@ms0e=0T>Dtr6Xs`Cr_!E#om;Mxi(W_Kg_K zqCWZa6{e5b?fOxSdtF=2zZ%sd4P>*$H=*s+7q`PxDFoy|a=>o}|FVCZd*QG^zMt!A z(mv$u!7LhXjU840b!{~=?|4EjaCD%8Vxl(SEIBbEsrOrv^HwufJO$3~Ls$eve`hra zr8%V+%+oSjtYht2yX^Q#mHs2>huYkxGlTv~bL-|~*UJLn^v_lfc!vUmU0_?5qq^DH z!ee&>;NHpQ+R#{Qw(c693Mo*7NxgTF%EVJ#YQyY^xMrTwvtN3J4;@hGych%`FBei- z{RbZ{4c?`dI370s^<0i1xhi`S1z4S4e`ImFr3Q%+zIkQhFj0WVt zV``~85!ErtnM{t-n=*f;CIQp1eH$cQbtSv^aLmAk7>|Z?NSj%53k=Dv+|6`_sM_A_ z$cef;LU)Ch!6xqC-ZzO-YJcUx9E#+EykLyHNh%fza!XAakmAh#z79kyXZ;|49+YJY zuy#SJ8bcg!RXrU;PnBI1B(+y)*wU$A!h_KWIkS!&kjVncWW^^5o@gvke=AeJI;9|= zoJ|=P8#5SkL)!Z9DM2P8FYY;$K!u3Z&DtwZmi45~9R2AgSTb_m9?17a$@A7ukxXJv}}!dhP}gjfPj@pLIpnE&A6l3 z3!iQ4x3j`FrEd{HP=E>rH8g3m?65i|*6OERv6(b9a(@NCo+$WY-yHdF8uL!fnjBk% ze>Sx$P)l3+-YeRFbwi5SAkFsUq?lk^Xs3F%%68i1kn~wNmD%=l@WQ0v**z8@xUNf=nQmN=XxcknGHwtninufgnF$>7mg3xJ)4{bZnXp z>a@Q4UFFYM1pF>9GKfm2fRTJ+x|xbH$D$3S-QM@c*EhCqSgsV24|~dcovM!#6ulM1 zz^XIoFf=cIT)9yD7dY+>B~zgtpm06i;Evf*gbjfDV*t zhD_|WE?<#BElDQLFm%Mx)6+*eNS}z~VX8hlkyd!Mn8G~4!{?`Qz=9I+70TU=ihCdj zwYuo7IQId;3N5s9O3|P5UH*dMSGqAt|4kT|Diw?>K{5GQW*=|&wM`SlU>?TmR>YUm zBi0_Hw5Hee6;atO*jTE9rJKV7NQ;6FD;@bXnWgWF{JCe5rCbWVr2%u`M{s|9-eN$^;|^yQk@-=xEK|dkj*JBkme=8bO1a zF^9ROW8kORP6W6fo;r3AGQ0g+_lAb~a+CxeE7roSS`|_V0$Ov|_L88dA5pVei8^-$ z7PmSKAN19=KR8voJD~Qrc$nq1-DUeoZx_jgMrUVLs-h#}0Jon{0=?_Zsb;_JG(YwR z6^c%>WbEDJ;5apETYN~g+QLPC^T=mX3S`q}+O7QhGDSA%2pc~14UZH?@_e`hOmo$r zszaU7oeddHFZg__F?M`t;Y-zjtanDfcK@!BN)1Ua+-keZY&k60uFHpRn0< zSQjK_w^(u)v$7rSF8-AYpr~@0zm;9C!Ny12BMV!wVf!&@PS))RSI%z-fNrsSyKm02 z+~$*Q4KE!UP2c#-nFOL~8FPU=2{F$0q1rc{V}nwaNDb{aPA4j$u?HGcxQ>AUfoSW_-C2`Z79l9B1t`enyhVPDxDM(Zl9I+jwHD+LO zBL|b!n-8+^JGf1dWPkC@GaiFw^$pjeHJ!NsMyruYJ`BBXS%}6e?mgK>Y7IhSv5z7{ z(RPZ8*N;@o=q1W|PZaem4wMfIoRDARDx@eLF1toBq4&l{yX;1eJu>oK;yRoiJAimu zvt6wccl|<+^Eh707Q@vSx`Cz+_kb1gTWK3e%o#9*EL;n-CBH4XA&>!2(k>HMg?Gebl$2R6)JFaqR_JwW(5m zod|`wWR+u+@hheh;e@KE4?Yfv7a@`38`W_$%OG*Nb09%kLmH@C(Qfz@GWHl%VVyi4 zNmgnj<}PTRt3ayCB zSr{uPI+7FVvE_aUdQ5yej9f39gT5QAh&G z@b*n=F>Zy_tK?~@}KyQJipg-PCer@*{+SOM^|Cs2Rhvw zn6>G#j*b0st@|&OOLz<}xydh_c|6IfmX4Gs*p%B3mvkn=(DqV(=NY2v8Et*$D+)k5 zj{jW{?fsgmNOM@b~qxcbhY+Br~b03XO&AlvG#ym5`~6h7;Z9irr`2+rgUiw;X<;d@nJj9$*lQ`o+61$PJM+)yFPZCVZln zVt$P8BcuL7XQ%G;f}~XqQ~szKG+0=|Y^elfxAlU95K#TW!Zr64b}pp$yoL1blhzJ0 z(XEanlsbg3_&v^~%;7;603(f85U>U)6wT6Knj8PIAja*4n~^m#(44Q_Yve%;zHcn+Q#n3f5!|3@*J z#8+^u@d{!nma%@t+PnWir~`^l0j)i*AZ1gP{}B$6hp29|-p(;m8heG(xJXf!trP;E zpGpnW1MLa3`Iwd-wuw)kUx0SvYV|7Q7xYQ z8IDa0$8hLEkUoFj!y!}uepRXI3ha|6`|@C$5xL;K(hbt0_WHgn`lz84b_m~GWXHDp zH@*IV^Nyelzg|r%!Lc-o0T)uj_V2qIgPHVz_iEMn<~t7rY|QJpzGmCrjt_aWdtR*n zG6ap~>G)A{Udj|uJVUqX4I>o&5sfv@KASPbYbnPT$pHe~G1LSVBZRM>t4eRXsYBf@ zNAF(l`O9U#pl)PaXb&@mzKvx>n#OV=7i_-dyNKCO$HG&Q1@ghs7_~*Cu44iP6wQ(U zgQTwjH6Ox`)b0R>I*-Ck$FUiv&#LE8yr&tv+LmW&kq<@has_w3w(q}E`N*Ss6Peip z-z9VnQ~c^i+jvhk*9=s{OouxWT!z&WJr7eoM#<6ewmaYrWpQsyYm5>1ysVVvAks&Wz_YmwN5;dOHFi!f>@#Q=%Va*a9l-S>=Oof|ZFabJLD) zk{G86C^|1r#Ls3BBpDAF2HbWzOeVnEU}*Z@1``_FZ3ZpRNrywc8F+YpxA*R>-Q zAcYTs(wjQBvtQx_1;GTmG7#^%8_pJfWQqbw<=XXbv4@ZcNQ^)|45GS~t+No;d$bh* zBg=}k!Al5hgBJ9{2af_&5y ziC!`FPlK%F5g2QobJX$os)y>hP;sBZrg3! zApgT*@DDB*FU48A;@V;6t0_}%$p$t-jbR8Vz>!0KB_r;5!tzj=%)O=A-e)k7^LuQicJ~e64F%X>!r|RH_VD%S+MlT%FA#!DSStDAmYid@!3rRg#7aX<_iM z*Jlu|n_vZ-!)=bT?!f3_JN84alksf`PZY-4J!f)cU$7q)(So4axzdXnQ*=r`sv0Hy zqJcpQaS8%+?ZRTrh?@=X?~3!eU8XQ`NE^KPc$azNoG-AbDc8L>=feH_>9NiQ?yx!f z4r>Ps^hdZ11XsW}mpju+1AJlx#<^R}0Ej{urUik39!hCWwAmBj0kb<*@YL7=c!^Zz zJ3@&RQ27!Fxj<7-{lAKhMb22oi}`h5_-WV-~=K0e@h#(M91REvuk_cO3_?K=1@z!O2i;gp}g zZ^CMWV*rEj2%?OiQ1#2!HRt+j6edE$qEGdkMxn#%Q-Updmh}P&6dfVW6f?$pmaGqS zR$ey0TTQX8s459sNpV$63%d%QH{w+gX89fVDF%xG7msp~gst_*YF!pS zFh#?WD*&4O?}Rjf@B!sh$uF=CYIaX?Onq`luRRZ+1szr?0k8$9I|Ocec{nvrexbvH zti}dHRVm&azJMzk0^u(Qtae$rluhE}N)>krkcmQTG!`_lp&)jQ1`)RGhg_Zz9EQMs zax$WHkaPQe#uR;B zSd@#;j~xV>cQVJf%cv|E=V#?yRUlHa1WxR;LMb{L2jEs7ZSx>SJQurxxzGZ6rZ#`m z|I(AVYJ_j5nba`q@(_9MB@7^=Cs|kqm)oK)>|bWL-e^mx6#D=x5^cS(L685|OR>Z2|?~0(8F++KbF&|>TFLBN*9`ml2z5|h>1<||vUuvG{TJ7-EOJ1MdzJt<5 zht#K~GybN~_BAvlB%3yq+tq!p$wI%_9JO3wY^4YaULLS+=jJbV6E2?HuP!(1rmJ;9 zf>sJmp|>w5HRfqn+A6dfw;*8hv409It|?Rx3P91Ypg!kH@9h$JDmxK{e_GqqjWi4f zhJ+tUYRI8#8$Psj{$$74e@0hOw^Ta0lDM1(McmQt!+)=6G0JhFf4!$jD8m z9z%l^*QC6dk48cPKhLVHq%5 zJ!6O1w@R~k*!sV7)Wr9_?Ltx-j4WwrE%H86?&fdWThZpM^E$eE3se-GYu2A( z(jTcn8h=}G64$E*Oc(VPq0173x>1<`Bt;?2~jwodRX|7zdbG-;gc;xxIUOBruWBAxPhZh@ZEXy21&Qe_Q^cOsQyBJZr%;4+3;e^wJi zTBtl=id}@=TsW|BEa%c*z$VK8#ULJ}q_?VKEvq5E1Ki?>z+gSXPGV$eoM(jl>%UwB z7^2e&RhHK{l;VHn{QgPw78{keLE8LxLx`$wxir%ir;oRkQ0_uz+_wt_3^NE_&w-id z&k3VclqOI%>W`OPSqpI;vMY9?YXgc}-+=%*hPE2{Aa%<^^Gi=aB|RlwZOsk12@lP8 znE$A9YWp`&F-;ACZPzA6?B2nyzl~bNIlTtOILM8L*L#D-_oe1R>Cqbr`q{NT&&cmy z6X*^HS>Z^uG%$cOI;}m^4NczZ{;tE@ecmUtqSG4|YfzE5m}<->jlZXW9yJUy^zwD3 zQyC^&8LK+CUDu2^EeOI_l?S8Q4+>x|7MHIy0ZX0mF1r}==~GnId4J<;DB+k)f1wvE zo{j22Qd7~=xNcGHl3P@tCvUQshFULCrO$T~S#=>6!{}L?dhe-Tp zQ~oadUn`O=XBgPs!O4hZ%`mD>-nv?~au5juGxeA&R*6q`96J#2Hy=VHCFDFF_bn~y z0}Nj_Z7%wWMZR_!_Dz<|Nz)7!j|5(}0S+NIsW&MM)E(!to#g*`tB@PNDmAEXI`rBU z3L5T%n4Ky{%WDOD;1KckdRfGr?k?Q=o0s%tnSl3i{6s8*;a?(&BXD%Jdxt#PQQ_4RzYdrYDc$iZIFyo|cs1{yBK<&DrFT?t^l ztkSNcx^16Biq4rhyFn@78lh+=3?g;&7-vNW=*Slgt(I?dW|B@J6>MLlLBoRp7!gjc}?jP%V{?7fUrKF`R97|9_$Pn?$_|s zETw=)z?hy8i7Bf3p6pR}Eoo}quKrnVCQCZLT~7=dq^htXsavP4mcb-&d_^*i#9hgG$}yZKwzj=Bq?WnFJf7G`63#W_k*vQisyqyg-1Dt^v=cponM!!o}RipDB&)j879?+-v2tA5HfGz@utf7_OAc?F}{aO*9 zD$uRsTzSCR!TP~8LKKU*%tRjJ`!r`^l9*1qT|R!8B&JuqJeUN0HD47Rl3!uBsV*HP z#bT{ZILG+}z=l1K`7c-a04O zd>d3O#REb`72ujNyUHJCG0`e#s_jPf4&-7;IgZV6)74fGETlvYaDboG=TZq zUfXvJhj=f}5TuPtbt60f19w@KAL~JIx*)Le@uF@+IQlqQ8Dt8|xAOY!TS*;dFdyRh z1jRww8D68`*{i4nZv1Uc1iyUZvF1TM)(dbfS*501+(D)mR_`vz$AEFH9IEMKYXH+{ z23W6{L*E9O7G%*xow`CarNk(R>#uuFIuA#JRNG{XE?(qp@y6U`(;9oG78u%J)kH>EPOu{>0Q<*HSs1H@TRyImuqZJ_GV64)!fg!b9^c1mCiobBv ziiK!SfolUT^Fu`YpRfK41U)Rs^hMC~in7gyNfm*1?4vh#@kV+>;iqAV8HNv?x5?z2 z4>D%uo+-Ve3>$3-*KS4s0sRy=m3e%1Lbbko4ghd2(&|j?O6;`g1{S?C|#T9MdYRlaP+A7D`$yjKfzYr+e)=&~zu=sT-Bx_T&0DZ_`8dT}djbi(=#5 zQdGKhrQrJ6Vm%r&22la}qdf~xeMzf>hIckvT#wt51Cn|?+xM7x2IduB=2BeGG~{oN zMTm0r=q=>0NA0WWuxYkHPJB>XOU1i&o;Ca=By^lX!k}~CiAqcYCANOXoalsr)V!;W zb@$o-jM-8k?AqoxWe0m@5bYBnC}=^8ymJNU1b0sOvvFJTLd*0tG`#G!S9hHFh}!s` zvcFatG9tHOp%sXFh1E-g1@wB%xVT`wFMi@@v=#3cq6$XCAr4oRdovycl|P!C)5i4n6qV|ZkPW<^j~i=2o;U82=*c`fadXSWZX*N3LlVG z6^=ry?K?nyh&D|-9G==xp26Q+)oySHik9vgY7PP42$gEdBxSN*HX^y>_8TPlQd4Xe ze7uLO5A{}^O^F?XsJ^~J`L6(%wU8Kc1Z$kOLZAxSR_T8ScYQwD<68YQ-Mb7)Qq z|9Ozx@H7q_6i7E^@H3^{?f*UH!|I$v5Wy3z4@(@TNZfi{^a2G%LY(W}>NBcVYoHDM zO&YrwX!`p_&(=2A603jN&)0Qj6cO`e$G~~Jh@8PmVG*>g0GtSd*Y6?jtp%WsvxImr z2w+4|umXZ~;;D#dW#xy$81{?s`_AC-0o@=8I$@4PhYVE@;+I6Y~={A3}&%D-zE^9b%}cTM)DIvHzk}x=&*bBF(RC z+h-67`=krp_G}#DK1-Jw`mPk4V|CA~m$q^*BNESt#*~J6bs>_vO<__^_H|PiRfYLD zn*$Uyz7vmewgr(v^J>Lg%<1S0Jhi03v9&VZ<}a^6bmx?3Lt}*^5)0J8xy^O#zSCV8 zTG*4*!*ttA!)XFnQ4;!~7mNm^v&Mg9Jd&+4uj_Mk*YffWBMSU0c&Z9IOwxJ~#3$;+ zAe@*WgE4y#pZ#ke0jPa~@{BIobS0u(7NE)&`!TCch5g_j7%ChYFaAX%o+iOYg$o(f z*)7T8lkN7}Y)+#Xe<^$Pj~<|pHn`wq)z|v*9Jnf?7=<8i=|yq8&DyH8M#DomY(XgSKRo`kQn8gQMl{0&kdwlNGMiAuZN1S12E$D1 zvn$&@T5uT+6SdstH@Srplv*-p)+_#(xlh=FXyO6B1M(7lqh*=j3FIs$ePe7-Ed5FR z251xXO;)V-PXr*%JR35oezTjQ6|~`-a-0o6dL4eK->1Vgod`xD(z~TaDkE)FG=$$- z7$rI~MWr!kTY9nr7s=raaROyk5Qx^fI?SZPQ{&E#<70_&&dCWN!FOCmh`P`cgQ2#W z7iaC`Vm=I37?T#wR)5SD2iikkqa;1j8O>8>=LPv+?7d}BolUnbN+6Ix@Bjf4G`I$L4+M92hu{Qv2myk-yIXMg;O@bL2X}Y4 zz4CtF-n;7Ts&np-bL-Tt!>_d#y`I%i_w3oT=Nw}^3e~^OubaPHe*>FYmCF4#34>J? z`j;KZJ~FJHtL(91T=k91McpuOY^}0rBh`qp1sCMlso;J0K*?=wnxs9t|5penb0!ru}#)U=;; zA&V}qwaaz?;rGe@nk4Ae2C%ssQ2=mh0e~;7z=0~Pek4@RNjVYOe!??ILHAoO~!f#I)yvv69*UIa6I|w?2q;rINfOGs2Zo@~=cts3HcwqR3 zLEbcz-Z2G1p3?{tFEXc5EA60H-!IZ@)_@UQ-x6G+p=e30hjcvSZx)r3&m8zAN+oY` zi`7s0`>WtUVZ^A$*eKZT7lQn6J9vNApHgz8gL2= zOsB6%GAEyKs&vWKNtBFXcN72DbqyK)a;`WmwHYA3Khu;f+I;#G_L4uj&{Et0OBW@l z-+bo=)i+QG1=Q#~5fK$iB=Zv1(|ZXV$M++%pC9+7G#|(zW)u2EY@^h26yc48a{6qcJ72O4Kk%YM+CxNp7iwQRKzns{&k_nCqf9dYb~o;q`%_ zZud`<61HY9CiN7H3(q=^8ju_MAKvjLY<>f1s>C4xDFv3k=R)?OIMqm* zF>!vG|6kSuZpq_UG_Mlbog2gnXM(VMx#MCfS??DIE#73h14R{8NttBg>SPYlI59X( z9gI)5DLGc|7w^i+YcFjX=ZVne10 z{ar~!O3Mj2d)DV$3(^C=S*yfleuIW&pJC;d)0F#Ku{H*mcDIMCdF7{)-5)Ej*T{#KX%#IolWp@2KHED6QRX0>=#3*e3 z8Iq}u0d>ps>HdZMJlI%X)6F*=fjY*VLm2?$=qQy%H5@lIu}~~k72RH>{Ug;Ai72|i zm3F`)0C-reTu7!$yzOtM>JR2pNFbXe05Eeq2e8Ero$gRZ<2bI!Hf61!8ZxSV{mvV{ zz0Q0jXbJW$MjU{aUIkB*JA4^l`C$lAV_Cen`q*RLPHLduRKiS9q8tsVuwQNf5YY!fo8X5eHgCBF6$S4=8Jz9tyuKZ(0Xdx|SU z#zfv)eBKm$E;#Ve99+cuCfK^7#H--}M6x44zgi&;u7IEfu&D(H_6T?!3aw4@&OxyMEElmcJS%=OOg%FT&IO^Po{g~{IkLU7Q*xHMZD83 z>Em>!sk>9a+xjhlGj&Iqb8P7^O|^$h@3&|gDv>uSMlZRVe{=W^3`0!k9P1!(fS@Ra zYXjNiSU}c5lFXx4Os42=q!F-Cw-E_Ix=r$jESW-K$5VNHZl9qsk~OqasS?M|hTa>e zK_%46t@pPf!fzo103iQfd+T1+d)ORwbKg03vzFsxCwxofrU0J#_85ET13>F>DHL4R zHI2M33F)YNsQ+#~Q^tQHWTp@|)e~is#xwl%C-?Dv zhE$lG8c~pci^X>Dzp7)oulbzILjS69L%nG73C&~akqoj@K@C5 zQt~PZ@D%TIXCA8wJ*KonYg8B$G2+XX4ymFGnfV-Xur&J&vsP&*`fFI5nZZzkk(5v}K--W>z~44Z9VUQ`Bla2|uVdz@^=Oxp8_NU$S1f5TgZLfiW59Cr zFsLbw|Je7n{--77O1Si zlIv%C80+M?i6zMIIciXDzgoVRKB*$DX&Nwu!y5dfPX9i7PHabeqUBZ<$R~jfGNsEd zmInl*493^|{dcbz6Nke@o`a3|Z;`jnT2r)@;c}TZUaE z?(o#{c}FQ{EI^X%`Y^od=3-dzx0bEEeZ3_so->UJ##1>!OJP?)5DWbDGluLh^w~%caz-RzAJGZB`^FvOf7tgY*d_ca@svT`>38*KgJcPXR!hYXs z#gw?i->Q8uJW|)$OUGPB1a5u`r2MfO|M7N8Z}b4|NQ_2C5s*zhXy^x2o5qg%3>h_K z`o1d5!Y?lbEAJ*FqhdL|y3;Y0Y@q;Nr_JB$I#lbQ2{>EetLFwBNJS=`EWKY38bwOS zugF0T&l0QkwEGNo5C`y2rvRMzblAGI^Cg`vf&jq)5N>uT6d_Uu!MG$@%2pS=gv(il zAUaCEnT`YS0yaNDMa+XHz?#b? zEFtnV-m|C8bJ+2ng`2a(v@}2iyUWjm8m(IrB(kwQyGk{zI|H0=92cpSJm6m>Kd>|@ ztx?svY~|c%OdQ2%F3Zc;PBc{jED~>K$5{ip#?Y?DHLVEtU;sh&wnpY_Oqmftp?qjy z$kUiDF1N<3El1>QQL#?6tSgT`V5WfQ%k6wyWA#9ao6&r#7|UVq}c zx0L3SiZ_0WztTy-f;=TX`leexPv`cy??~t9CZ}tE!TL9wQeNNX)#IOy%0-F5h5q!` z-(CyyQUDX2IJ9{%`qcZh=;P&l1++Ng4DYzS?$_eINCf+v9{~HghPzHSRO3+PsF|An zW|818Wdn}1rK#)QGho6+tNS%1 zsbK94 zlZRNf7=6Jl=^nS9wH$2)8FgT39{}Miz4Qu#$9?la@y>&IFT<$`)~l(3NKphm+1 zQQjKVUB98Qrg>cpN?u4!I+s_6VUI&?^B`iaiNxJsMtldudY*Xw`r^1tOp**Fl z*t$Zvx#iYNPOEfDfUf+s01xg--3A|1}FTpbbc6*!WUVFsI1khv}`Rr$B^sr?s zMc~M?Z-{+#MdI=@-w4>clvm|Yuzg3Uz2kw_P6EhVxIg+)LVDM19^nBp&&~ZqPOVoD z?dK3CK=adO^IEmu_r++E9KOV%Ps>BIbLRmjGmae5Ftw-WO6-^Alz4z0{F4k2-DiQY z#**PC(4^2hCuRc2=%$gw@1cpeAI>rXu~?ei@G&Gi6Jd*}RzZamB7njH)F&6Qmn=5GpU(tXly^-q_kV!H+3IuW;sE*q5pepd?!%;E7k zP#%3tY`K%61F8bLJdiup% z2pbm})2v!M^1|eRmK8zPYeD6HXJ7*JJxXK$Hf{JT#uk|fN(VZvu1%u>%{8%hK_lSm z$^ALMgu-qWFgezd>~2@tKX?Ezhq>S(`&s(Ces&r0G49#I2RndqO!`Qzm0B>boc7o}dXZJu2$rudROzy7 zIY|2el(Nc0B@N={kAra5^G8;A{_I2K8*sWsvoV0a1WiqHofSO#Fi6t!{Po+nDS% zGL->k!sQmm@CmS#&JlN@(6@T}&%z<58mDji7@6p=WVU76uxJNFY%CIE_Ht_Y@=fy> zU$P0!M%&;fk3NBGdm}@Pp4XAct!|sHlBwUGp;HBkZ(^mIWm;><;;d` znWmW&Xl;NlsoZJ;CsaQ4AI1R?V;^==44zoSnc;AS-)zQ=7y@jMe8K$)z!|G@0{I1r zzcZ|RY8jc>{Mr~Kh&b~5hC)qfF&7te?8R0=;w+gd_>{~T^l0`5xRJlM^pgxCGIOEe@+mh-Z7tdu|}K*cIk(iY<^ou*s6BN$AAWvK$_leeE85S&AQs5A*4s$RBn zQEm{Kh>ilq`h({Dzp`Bm+l+oKJoZP6`ngr+27fz6*bUZa<<(#qP-l1^0(PK11=V}vrlC_=jWkQI06L@s`Xk0 z6Nd&SS#K4r-Pn~(n7e^#==c?DnleJ10gW#(A|N7plicRQ3rfyA)kJOsa>UV}8Ffep z!+9^f9?l?&Q9$Hy^~tIPnR)M@eOK#%7JM0T6eNlyfNst4cZ4Y%y2yUOD|J%x+yWXj zURTx+Bh&rT8eC?8G2g{Ivl>GM*(0EEx;^KBUjRXAQ}KJM@o+9T2qP%E_(^VR&;z82 zIA-XSUnIFlTLGNoHpIN3{Qj|+p?ge*4a1}0RGw(~G6*(3PG%6)^e9&sfPfD$uX&kJ z&{!AVul;)If&7e&2`qQBwm!*AH40GwKxcAc)SmOYSiUQn6&%zj1x-yA)+~a=g^eNd zN2hWro(Waz5=)Yspt1l`9|tJ`u1pz^S6p7Zkjp|H1PdFVN+$r>s6W%_l^cH!%wiY- zgB-^!KUkGs+ni4ba&LJ6v&{$G#F8Odv#z#>+eCTNniqMQWwkHUKgPEOf#l*3GkKqCd=qHUzL{>QNV5NOO#iX_ozwE+AV zAWxV}-RZLdJaRaYw6O;p){$*2MaS=suaK@~WX_kwZDAxf0RGM8L&##-NauqR}b%Z2*LJRZs?*3@NfL$=HI0>;}jpK$Hpe zkK(v!D@ZfOy@*J3SLq5v=AKb!`p8fd6N z@U{Oqg(!Brzb;lP={aDB9JDuOPofkHlY++c4`mk+*9TPzk&Xg4bs3TAC>(<;5dIggLu^7e$N> zh+lazNH|Od^Jk3dp*v_QerI#LdcCsv z%auMBfcYzTyg2R(L9CX;I|FG3QOd29K`vD6XT1~_-w#er>jxZ3l^>h^&Q}HbT``#e zfZb37T6$|~wOtUpMJ9q^mlR7buq0CcG#X%c7`7?07 z7GzD8L(n$htYY2(Gya#ySSPUrbZmxPQo-aH)KLb?}@|n+YegN978haC6Q>y>;=2gC|@b8iek^OjkN6Y5P zG$0IHdudH2SL2+|53!((Z|JGnb#zZ^F1NctKyAJdXfsM0D?IH1-}!e}gMwQJJLa58 zngyV-0@sxKHJ;tX1{(Hdwfufl; zTJtw7<@dr!3i|?~&z*o|J<8IeaqJin&b{u0c{;WVgy*IMXEPAbfSr*-&Tvy^x((uD zl+&yZgIg@g>`usKo-TAA2r7?!|GC;|tf}?+-qQo$-259iz`g{^#o##oTTqAsGH#yp z&b$NKhMS`gxy!fokK=r)50ros2>hyxSIR%8@zwR8V9tfS^gf{NHaP7QaC{ZIW(r5- zkSqM%+JITc^+|eO$*_9v^c`(^Y`}aP+4*ayh$4YC!d{2*{|wV?Hy{cDQQlK&^M1@D zaQqpDg)A<(eTekkhR#2YL~SAJtPhoY7Y(g;Uc(TpgNl;^f%;Ca0bs}++(XPl0!Tz} zgT-eV7dF0y3qBx(g~K}Ek+=H{onM5djC}Ui=^*=6lZ5-gvg}-e5HBV z0==Y>m5IG6AuAIT;Xi)}^dg@v?2Wz<(u-K=*&BT{GO#u@Lg3{^u(SVSq-TlXJb%#6 z0QPo77{VtL%sSRMSW&3!y#Gz(^nWk=e@6hyW)@0)Za(b4Su89J|G8KQ=@ngUj0ovv z_3VN5TK&h1zn?Nd-hQ^S|Mwfk&laDpO#b~&P|(_$P=odZ9WxsvGbFLZA1Xb1LoeHhO^!m}%SYQ|MJL(|Dy+r?f=a{HK2KaK!j>n zE`4TBvd2*BjXeqX{A2ZK`8aRF?2x@SVk|R3Sf!(S-?p6aUgb@Ca!ipLUc4+doisA< z5-ZZ=e>YC-|7lSFc8v^dEdT1&|9tWeG&Stz*)cq~RJPIZf9!g??AJ=wr5-p=8X7z0 zO}==8c!Gi0ooD&z5l)jF3}Xn>#lM#L9A}Y6ZJA@4;}hd^JAEYL1T`U&oD|vOG5ZLe zQp%h2T46JDp&a@(5gUX;rH^lyO+C=6Z`T_y*1oEBy;KeovtRrquV=(Dk(9BAfBU=j zP*!Aqbq3iTIa~T?^=GgByYngb{w$I`_Xba$^^7w#jq8z^w;u$a&8Q-5^h$8~U}kxY zujcTiiCE3@asAS|GQ%goeTOZ+Q2$y~&`j!EO>g~yT(s5<)>uyb7)f=91V z?O$h9Ow#U2ix`~Di*Nc+-f?*+pc9XxzGUh2oFTPENqEcgVg{M#ga0!Qr{kFS;)9p@ z6Q(f-HuDlZVI4XAvn1jjdRU)!@H6Hur@wLYwb(Nz5IL=OaBG$>J*u!_bO}jSZHa!~ zLZCj>yC9No6Jg6#5awGmT#1!g?RSJ8lUml4W9Ipa&l#q$uwu+*)rIvtXEC{e?JfQ@ z+OKRmH3Z_<0&>K48HREAFoepi^M8KHWh4ChHux)A%3qJI=qB1kk!I1SS zQAP3!CcgJbHXbjS-9Oi0^d#8)r1?C+3?Ixd2zz+C?i0m675psD zX2(J4^<8kS=pLS2%HdG?jyDjcuoQJijo+=7(7jGlvaDN`#P*_UWZa!8-2J<(n@ww2 z^t54D=+I~CD}~5@tEg7*^{0BPW;};)aHU|Qitz-G+~c5g-4H;N3>>u zUcvLTLI5VwHLUD(cBSnxG9^}iC%9vh&<8Q{ozpoU_a-2Ut;_L0)6O;b^Ch(4Y9 zc>g$m#@47Q`D@gUcUVI4p7dr*pyt^B9yU=9t{Jwts2tsn@%0!>6-&gN{^#cBFJ7Uw z4%%sct}mq-df;|KyPJ7*9SvR2nW(|ebsLNF@yoPFQP+pFAlNnS_eL^&Q{7cJIYG0- zCHt*{jU>RYjPVhn)Lw2wBPEtja;lof;aP_4nI9cRo3i~gm??6~N@%9zWUT$_g0P~N z5~KWKCoWpYdG3+n{jL$8RFapEzO$bf5SEpE5M9R+dv> z1haPj5AtihV0N_|=>8sdkv|BYQvU1uz3p3@e28B(T!#NZRUi(Rqd|+My?TUy&Q#sy zUv+vVS1W;Tu8%WPXX4Lua@?IZQNMuI6O{2&0d6%Gjv=j=k6)hGi>Tm*-%)0yH=XCE z(kERVC?wGxb>#8b=#*4{nxEvAE;G<6c+eyyLG@SjQKu&UU6ssouoJ_m?pS*5Dr~yT zrSKDF{Y5F-cNkJBwdgr5qbEpaIKu{)xM{Uaa^IQf+0=Cu?TTYr;xQ=F%|8UO&%X1s zvd1s_CQ0$ye>iqM%;2|{L)z_`j%SE&mF@8Y?QE)2`|99V7{&gEgu&rm@d$U)g2ibV z+d*j6vRV~E7@Vrqg?NSfG7kqhhl-!p@|+@C|IKd6%JQGP<^O-83J`wrzl1~;J|^BT zVh}>6{v-P8;2V1O6|CsazoXLgg2r9_6?CqVpZv>?;yQK{?70t6O%~`$-qsTNA75i0-T) z*D6H{gYW2G!W1>zQ($@%QGERMsD5cns=yMip+mE;W zFhmKj%~9KjaEVu=Uz=g7^J3_59lBp{1id?9;#<^gxk*$rtWc87Om;Jbjr&SeLYjxM z7&3mqZxFQcp;8^$6OT3kE!Ou52?vMdX5AixypzvrNe6AE$j9NN@pzG?XzO;_x|CN- z&Iw-bBU1104lc^txGd*Qd?9)L&nslTh`241V-HgfPi~jn+`=fwr(aMDiV&e$5bP|? zvwv#wz4aBwQ<(|=y0#pw*Hw*k&orpKQLxVx%2ysRdV$y&N)rvk9YR7>c4)Ai=r6}K zgiNuJF7y$;GX@94HjMW5TR)}Tj=VW7MjQ@@hm;Y5X77<*^?iEY#^A4rr_9m>pUzIr zxRdVagPYuA{EsA_IHdEkiO7A+9=90#l_$BWU17w1NH>z)1WF&z=Lzi7H3DlUL|^%^ zY)IemWfpVtm{r>O8ijt;iFp6`t@VsE7^$X%I54(SG8;!-C#a*Q&_G<5pK|lJ=nmaS zEk(I#jT^&@cH}7d#>OXYuCn0P<{QhHt^O}zYltl_?)6^pHbOFK(z4(0_Bj~+33dtj zX$7Sy{7xdnS1o5YGyX~A0e^IimFeA2m*I4cph6>x3FubrjU_q4x(LjV$cjD%V*xr& znEjk6&f^z(*{$h&R@&L8qs`Y>3382$G1^;MK@&AR&jfrBhV(5dMzKUWe6`J<=^!dA zT6-(H5k8c`Gzw#~#jC*(AE7_F9Eq(P?tA5*HJ>BmzX{%fBM_)~x$x59TJ4PpTx;YM z+~=$h6-8ge-@5)XoCyqnDC44Y-?uj5<2_yP{S+36+O)b}XI$?WJ_PkFfX&nfKBsc= z8oK~mj%f2~UWsInd-r<#&Sl~n+n%n7LhCI7$2e+Y!L4js8VdD~2Zoo38BVCsOauJE zA6Ex(t=L{#a6`9g3{@GXm59%J?8!Q^NS}>saY~()1q5VHVod65_y^AcU_v3y$|+lJ&LS7WsXm#}SPh)UI{5ZMc{msCvOKjw@5X(sa0 zOB&%1KeK089#?o_5-R3{;r_)F9$$vjSy2Xu`zsW+$vEbl*@)JaiX4QGZm{7<_y;R; zsm{l$yPAq}jmTS~UtZ$xy?2Q_9zZ#9&goW6bQ}_czc%`X%!`4;5+12D;a;g4%jfwP zf$M zgtF!kl;`De`);?_x=i%B(4R1o4qxKuv`5X5Z{D?cj_#x*D@UD}zj_zL8Tj&{PYQPm zn#poOfID|7r$r~{>_YIDsdk=dzL-IvS+!WgqxVnkmy+#oBXzBba(MlJYX3~2Ai?a^ z)Ly#<3|e$OZ8r+92>q`GYHOI2Uq>6{BsVe74o>NYMCq%~5QtJJ*CR4Si7`F18C45Sf7O_L5(=|m*2E!DA$fGV)b_(B|PPBgH$K4ki}?mPjhE&1l_ttYUZW z0qQu@V%)cfR5B@R5-OP{^hP=+vX{AOS^L4Szwd=IxlAaPoZ>4e%EM-P474V3-ww2f z{lpfN)jwP7DNtN3$m+!F`3^tSemY~ksUO;^7mDrX^Kw@mqx_k$i(T_~l`y$(T}zd#49m!F)RnL8@3h2i zM=~%z@rY4|!7<0Y)Bd9mx2O`N0J_m4Zi~x(D{f0Su8@FJ)*&Yxz=arxIg758o~Z5H zt=-aIDY$RosXeh`lfbF+a#6cW$q1ubl`fh+z4Ke#!Gufy7jX#HZ$Fr!7qOc~ct|#;*d!k{;T0{ofxApHJo2d%qn*%arHh ze9A0X=vMu(-MFfNh7ePFj0n%lI7`eLLQ^qpmJt*k4W6ys#CFPxE|_{z@xBS`TWk4M z_T|=3!ExN#yo=8t5f$1V_6@kjdWt_&ASQ%VmalrI7>5_T+i%4g=83VFkVscC8}{J8 z5kj5J>VryKwv>zej41F@UqnxjP8d30ljLW*&E0d8X3>LBL*?qRN{er(z)ffyK?5(v z`OI@Ic|<%mn3Z#;VoOr=TAQHHE{tkQKx32wtGebQ1hcjosbmLNZQU>}KYg<8ovS~L zbjJx<)p+{OkLIbq7sGgCrN&M^dZO44iY^Dv-Z6yeZ$CU(?JN}x;;#%oljpIaA=EXr zVrp7ImZwE7YPZcm_;^Rd&Fqr0_)J~^vf((qBZO5JqtGH4IP;YsL9CUm&5Vhcy&XIn z4=_~!1?6y%WZEsZK+yGmQQPjrU6(!?or#dvi2v?_8xaw|BNr!jWQ}~x?PhQk73zTl ztDIvniGbjZtB@%^6ej&ufxNO0|H3SW>7@;4kkAjL}guQ zK37DC5j|tGpHiB9{$mQ4y?}$i5;p<^b_q=Zsx&u6jo#$R1u-~grua=XW%dZEf?E%9 zf1g5d4wrqvTc&G`r0z*MPU^{yQL3Pn1eNj(n-P8SbTv~mQh78ZT!mvZqSL&bV>9a~ zLQ_Pxx^&2VUySDBfINI!y84&N`2y~OmQkWj;J zsF&EC7t`hgMA)miaz1`~=HXtWaEAma@9tJ+0>=4a3SjdqD0Q2ubblLpbg8%Q(!@-C zc+Jbdzs~==8hg@pNp`4y?(SsF_lReC|EH%NN&WMMb$c0EwjA-GFAt4p(${=yACU|~ zI=ToqTop1Txp8vOXaZFRnV%58i?9%QcX~pd?>{0!0a%axd=Jfk6VGz|mze)QGKtI# z9RI8F?3Aj6^@0d$>z&H6GD1P^9hr+HBDoZb$1K7;ala4R=fIcUO4p)mkGCU3bf3kD zc0baFV8Hc_@9*yqjkqt<4JWRt;o6c_#k_TWpIe;J$3tfjQ($RJD z$6VyzmfUOGYbLc0M41T^@ftnN1;tO6IEx}}TE|R+9M;Heo}#(x@FC-ZA3Z1T$KH>+ zHa1?b0&;SHV$H-D zj)mF=d|dPlcTDPi7*l+}Gqe2N6mcV~sE}ub`OdM4Tk@oBrgTT+hg9oflivph4Vu{L z6Eh9J4TL&;#|^kRspm>FkzKAPQ3`RV-n|l#!mISokmPhowrwO(8$E!gLS$wGTmX0d# zr8YgqF*T;C*nDOf6yROhije@_4d3%=Oz!eIXLiwEF@9|@|0`S+<>RM4P0o2n^Zojt zEY9&K^cXQ-yvc*I3grGAgWVH0V<`PNyQr!D^x6eoRE;kxGCJm&9zU4fhbN_K$LO@@nLA+H- zo4h1*m|Dz5zjVf$uqkxp=)zYzjwkoLkisWS6l;I6WJX(H+md6yqq;K;rg$>!J)3vM8=< z6WdY9x4PN{`;&-dpXhbMkN0hUcXBlcUM$)u5nDr4+r%qO23Fy8&@yhxELthE$UV1rN8fn>qq}{ck23A2&a1F{DYW%p(-3 ztyzWF`w+{z$o4&$zkn@h5k(T4XdNjm&+(%!=v^7}Tcx@_{k|ReDE0eK`zXBDg#IiZ zMY9kw32XCN(Dam1eXzf}Iav*NsRJys7Q>Iu)OX%{E-a|e>16MG`17Amq1{HN4$T}+ z9tFqhe*9$4cq4`TjQZtq>ylQpYiBkzoDWR`+#7;^`xi*hzO%uZOpgzDH>5YIqlL8B zU_m{rUxwNnPnnB6F+k`2gM6qJms@^uEcwtn`n&2u_}p&lHBI03PIS-Ai-4&c2h>Ci zcw|z_HQWe;l_1IJ%>aCtX}RH0?-5w4@v*l!$|=9Z8DPY*fh_NRI9%*?Gj^LNig2~h zSkKctk^uW$blqx<0x{Ce-)mlSMbT2dC|wwQINnM!x_QWYc^P!#G89~;Z}S@i_tUv; zXov~d?OUh%4o~-Q3=mL;`G!|2T8E$Dn%7fc|2yCQU-Dl6_U()u|E{3_FXSrTf?P%Y z&0?FNHTCc;jlfrxyBOn3QIkfd(8Yd7);s>lh;Ld!ztI1Ok zrDnsLd1`CF85St`Z+%Z?Vhjf{EJ%cR+dtm~NJ#@Mu zjQ#>msg=G(vr~PDJeU5ZHZQ^$RWV&8wY^ zHZ|eLi4W)jwKqzbc z;A>DT*-1>n_F3es=RiR(1JQ*{XMfC-;ndPPD^wLGk;=EJFgsfE|A9A68bXs zjE}X?71nXh2*&y-9b(UMRI~|?Q2sI9&L70JP@S|*X4#kB5p*(S%d|#Wry!G(nw~V- zKz!&*64_=K=<)Uawt5->SL4t2c61?&MNkQSA__)@f8SZI%KUb~N|CMB&XNt9TGzgx zq}P-8i0()#A8!tI1pa+rJKAPRM>esYF#ohRLc6JMZ=hO7shS<#$6X(>CvVBSxqxr# zoY;=OFJ7k54~5&3)cxt1njo-7Qs}WGyTw#;_BgfVZ)f@{^+ zxb>I=aG}q?X(_W#+NdcuEZGrsqa5>08|*);D5m8$M>;P=>P3Ztsdz1fGkh9a?$|D+ z6UiwU{oVS_K`>tD#%~7KtJM#a53?R?0^b?Lc5mhaKWF5UatirwnvbcUv1wbZ9hKmk zJkl^#y&Up96+}LH-9Skwi)U{g;VDvWcpvC|nnqOT`%#X=Rnmg1H|U_I=*K~DqNr}= zV$jd`?`~m+u$}(gf1c7KhDWDuB)b%6b~8m+OJ3_ci{4H!?`?(-AQuor^2(RS_q1}G zt)Hl=?8Gn?Ge;?}*b%$1{7%lacS4$std16zq`*zsxk1>$U01mf5tFp;V%{VaSr?Zv zQ2P5k6{cdZFj_&*bkoLEDfdfu7-F--x{x#DYv?qATezqsNfOM6S2^VG_3)&$Wce54 z>9!l+kR^|b@2?mVi`#tTtN6Y)gzsX!;%AI1Cr>C&gC_?KC7wWGEv9VUz5(@F+zvhW z>)dd$H1(NF|KT^%l>MOD!H#Phk2yKc@j^26vVIKWeYKu#Fv9ns`N>)5q#gB$0zM7r$jNd&#|_INxM=5#@>`X~u_xi1ObaBg zqMnqTsTF~{u-9#NIfLfYlPIrX{Rc1D7BiHDLZVdSOAo75La7@I1`0S-mDI(fKXB}- z*D(8*6fJ5_syNE1bTyDl^S&tQjL&jNxJ8*zzdaE(f8PAb{98e?gTm7AGaJ2U{MuZ! z#uS$Cn7?7NR1kHHVN`khqjW?qqi5(UgfSs|lnhJ9+NoW;efJU}#UaKyRgz=BP(pLj zkO&MV+bnj{Ei`$jfym+XM_2Eat$r=X10~t`WS-?Ed25L=`6f52frtLe@$Ax@Xwql> zJonC@hmopQ^gbhWeN3v<6-k0}jmUF@qLC`^Q%r&qU!cz)VYb95CP|qer*zg)8J4qP zd@rAU*%Y+lQHzK3JOg_3pn2Zqt!}MTyq*7~B++Ke6r}?_LB+0}&(a1@xJX-FL+R+R zCEop!-OUr#{9m7}##d?-wJ4YxJ~WUI9jY4*M7vKS$+7iO+m9 zVzF)-sG7Mq-EwV-Ez_T zz4dpttspYjGt)m&Z@74DPjj8(TJ^+7DAcfA4i1S<^2ZnEwJD}Gk-ti73CW1!V{+-= zr9p`t%Avu{xWf+=A0_qJWFm&ZgH9+lRMr>zm|DE+pVSf5BX(9A{I<>>J*(5pV zg^8?mH-ga?+z*VCj*=B%obRGJ#Pb)Jl5Pt#<>*FUNx9y#2c4J)>keRO41 zN?h-Me&O`rlyaC(x;MLI=*LBWcHT+eQ(TBgTj%QB_JPH9-8Vg)WS%nn+fjPU?Sn#c z&HM(9NGY^Sa8$3b8Dd;3?n6j=)5|^L*>(MBQHu&Ol1T}>YhkvMW7?#Lw8JXcIkS7+ zjh!*FWscIzv`+K>Sk$#QK{0Iyv=W*)-W|&SH|7b{H3$dxzU4< zZvcH?dNwxz2M^s!Hiop=;Ff~hf?LXQqj+slKV(a^F;6whOP?Qp*`wcI7Fzn^*fB0l-d;{`hgZ%*yzo06Vh$YTtD5CM_M5tGoS(3vn2JL8 zs;GHTtx2BsPhxLW$-U}Dg_Efu_!96AnowmKaX%R2d446Xqt8yY0Z%UAc5DVv2#V}Oa{#vH`x%|2S-F0AcxM^MCT)%9J?M= zf>IE|Bn?Jo-Z1EQI$Ff$N8yUVckdFcn$WYBB;*WY2;$gO;q&2phP^&|Ao)(LIPA77oge z5IJHgp{Wy@-UXgLWPT9s__F0Epn2GVSSp4c+c2}7ya3y`cVyMEe3Djn zXvO=)D&E3KamIdih^&nU>mu(g90_Y1(1E|`m|VH5;(3m)lRtz|x8pWt*|!A>5;*a7NNv9$XivaduZv?^ zU`OmYS73USU^j_6x>qkSlMR}=t~#I7w&KS)Vzb?}YraFA9_-^w+ITVlzM*p4zoI^e zxoYh_V{GkSR+Wk%jn6?)ZJ)1JgU9dS9y*2+H9y0pB6`*Z?tzE4iEM9lIqr)~Bw;Cx zSc?W;gb3w;`TSU&60t94{oR3s{3x%7;W>?YoW&R3%_l3YA>zr%w36 zU`FcnUv{xn!g=N@qBM;{7){gp`Jb;FchQdDzZ#cEm$O}lXKp-*`nX!+Ae1$)u^Kgd z=!c84`lHzhuN86i-Pl4%kl8!vw2O(Sm4!0-{ijqmOOtm{Cw`&kLvNg6LzSstEryp*D!qnvqjkVxvKH7LB0TU52KxJD0TOn6)BPjEtRdlt71QF z?E7gO?bqwfwtIc3KFufGF&FoXgsz9~>eMgD`Rsq#eG*|Gc_y85VTw5c?;T-;^2l=P z#(b$;!h7tyU)q!Hn9WBNR^7bF#oQ}3cVhA~Ehp!l&rW2b$yT=TV16lSNG0^BA-zk? zMlR1j`cFfrbk7&ZRmYA$ySZ6TgC;W&U)75UG`{y~K{p!}V30y}6fdFr6ZDE6N}fJ$ z=Sg6c*x7Qd%ra(O&hvGCGDhIkhY-^*d~o87M$h@)akP&YSdw%)Oe<_J+950kiYb#N zCVJrhX{;I6M7oUW68tF>qS9_I)URpiaP=+}R>fc>p6kd`duscB?3V-@PRf|<3AM_h zyh+QNx9c8uJ*vo*tP*Mwve5ePPo&Al1*yrXx9o##m@lhbMgqzi%p$B0joj2axocET z{8dbxPy!iSmkFjf62y;WHa=5i)pQ{ZA#VPzpO9;qk+fGy^u@*Xn3m^AdEFVg^nLhH zZrSyaG4!>N*VU|GW4&vQ{)0xT3=+)Ig~@oPo#%XIAChiW)HPF8OoIgWGdb7_+*+bJlOJ;{6&S44RN*^F%Sj029N z&G}Ot%oO!hwXdoESZ*k#2h&ZJ)s|>4VMFw6s-%(bkiQU4_z$E7`x+eFj5S7RAw8eT z5fUua%cVNS{V2USUh1luAIJ6iod9*}P+lNgg6EoRW>uE!_AZWnX#SIl)3-C`5fj^x z^QWTgev(*o?lF`Vr_D?9d4*BxOvz}o&`-DOwIvcKZ+`do&lCK5Hl;eGrY4>2I3hMv ziTfei4!vyv)7t3$Ze+cX$!kAVt<(4r7UAw>e+NzEwsiEY>#ljGk$zmUz(>7pGU03m zZw=$dulJafy=_l_h@*qIcoHIzmCblllUD*qjED^as_Re{RtpMWV~Fcq-!Ui%4B9xj-WIK=6kN1GkWQ)sz09Ym{($@GkDu z=7**^`kNJAd-JJJ**tiTX2uVjJPLHitNWpxH^EEI@e%GJv0O)Pb7j>%rb&YwPl1!{ zr`$^F+kupiRx7FIg417iIDK%H8G*%A_9-^{fPaRs}?*HNMgf!r@V5I5Xu z6Pz26n!cZRi@z@0t?`V!7p^2>7YsCZcRppn9lNvI5YDQ%mpF(A>W>G zY8l_{IB(N*$jgAB{M#A6rQm&x%^Sr986RfzHfAuLC%)+pTJw;bxwf$8@-JZ0`4i15{n`6g*(h&q!zG_FfV8X*0(_BVDr z+kH@9qIU<5h$8DVQAq?q7ph*5kMsrVzz8#_#R3QY`7L@VDTeW;ZB6%f_CNOn>Y-nd z$zYOYihIwg;;rS2Zc1{k) z|D(A7|8IDfHMH$F*--vTtoAlZ4AdkPkt#;3H6l^hYF_Grbn#UpV2xpJEcR7jRDC9T?1k;^x29t~u$;x|f_2s9!e7gJ8llmJn3V8}a zaxDWf*@eo=YH6MaJsq9VnUV(-((|9eh9%>RQ5ey{31jBC#BaOxJ6H5WqrH|#c(4_( zOMVT%PpoRY+KJ~Sq>(@^Q3^~Y0+Stzj`h>)oBjaN7Z-g$V~eiYba{Tyq}NQS?RLxGUZZyj6h#b67cC_AF-Oze-2YqOL()*j_i1=#deE<> zdcyXlrBEmW&Y_?AaYx1mdd9UQ8U#kv@)rMrb%5BP-)4< zDIcXLNMW+>GQCt7Bj2Dd*aZm94f|C)b|eZTLkDM_U$dcMs?;`Bl{4r8?;-X`Rc$JUU)` z86xWZ5)29EEf2AGP%~eW^!>8F@t%WkJj+FrCd6tS2YFV8Bi^<@=xP8g-5F!H8e}!> z%9RVaXoriR$FYH@tQt~;o$x0nO5n1Cz0;BwA3MMH3X@matoOh$HNN{#o?VOWH&{XW z@eDzGnF)62DKNvNi2Ag6`}D^L^OCK9%;d$O8Ye*{k#c86Q1#vzZ~U>6tkjy~1GZAO z@)5F8cQ!N%d4|qU-JAolPz?bEAbVKqn#A))Ub|6LR1y-JM_=br!`USzq zG^S$bB}OfZ5zw$;4YKVLivKBn7V573|G;qi5zR^>DEYRuHSO&l#ldpW%OJ)CB)Ak_ z$P3_*I3{CdBr)GCFk=CeA4vLhO8sT!wHsnnHvMPUwDkZ`jaJ<5(tDmjR=9_sQzbk7 z4^@JZ<^L6{{@<{OnUV4Tl!^aAmC)Kw${IuT+x^FGBvjH2000kmuY0-P)Y3T~=&qJr zc*8@Oshc340eBpKJ)hSJ=9~J=Y^V*>FEA`FE;28EU&7yY&&f{@yaq14Vf_f}m)sY2 zmz+$EW%cU3nP(kZ<3Y)yP`$|;^E2{T`kqZS>FMZyy{pF4{TI6-KwoQ*#`SW*qC?_% zKCg-`icNL7I$3Wg?U~kmt6zDK_rmFMsu@(|3$--M)Ik(%esiuRcJU!F%dQo%pxiiZJHE9CV@JgwN)a z?2d}J>#cy>-of+Lx@ZM@DRG0DMi7&wI74d_2*lDTr^vj65J8M5SYU{m<_oTL+vG&% zGJ(D8XK70__V`60w)P78QBU7^uH=&uY*?n%bhMx-*CdqQ3aZ!vItwlSC31eAOC+#- zm4j6Q%r~v!{0-*itoX=*$IgJFIsuPC4@r4t$zVcKW2F zsr#DwT=d@lFD6yGS@Xt{sQzTJ*1fD?S(P#)fg z^V&ZZ7&u8O8g8YhOaP0H-xul7d@2N#2|Isa#o9jxP_yj9xMNo z-7)M8%K2C(Hk^@rL5uL)%Nmc&6=q2(`ZMr8%~j)+OV8Y1?Bb7-&s`vS4Bf%SBYRGj{V3F_@o27MAjypJtY$go(h^A&b+X-9!7=MCT?X9a%#=fjx@^p zt6G~a6Q7Qmcp6@bIGam|>LAN|>Of*dJn-ep%Ru%KS;)A1N6wYT!JZ%|#!Q=_7$n#G z@SXWIKm%B(6!3S-{b`zNG?(vd1qI4EXOn^R(dJ5=zfz$9k&j%NtBx&PvVZ~@Y4R2) z!Od35G0L^feqWT3dG@qyjwzoy7EVg=PGsFwEwLQYxv!8HP@B zT~{CbA~b<4m@05L@10n&@n7~lfs}9#QV__-mOZ{v|ByVnV&MR~0qr-x$464=SjR~W zi-IUwN$6Un!>(pcbLiHWpE+}*-#hQMPBphNL`XY0RDNg-j$fZjr(TZt5ri%{8K`Ks zBoO4!Gdq|Ab67z2e)!K)K@}J!{h^V6>m0V;7!P~5q-6Tz4aI!N!to15#mo&kQiV@$ zh+=@53^$hGOd$9mP(|s@*t~mbDFdMnk84P2U|1gn(ASSKKPfRtAouxaDfFRogp5|V zB6(QKVVeL`xSyC7?taDEwp(R=E(yOr(|KJ6ymnp!c5;~JvfcI1GQixK`#S8Y!VkxW zWDaUA>Bfu$SAKjc*7v}mr6pTi1`3S9F!^)!sxzo46rLPRH%qA;MkP7QTxCvMB9vRy z(gUb&CVX$$#&?wwrb?%Ci#YEInr`%3LiX>=6Pbpl_v#Rx*n4X-|oUUD(=)e35jf&+)YrAI65dZ5d~agh$Lr z))EX7X|M45V|3NRVR`W~9YZ@%i;T5RF>sT9s@AKCc0*n?n(vV%0h1JANhOr3#aU-k z$yH~BM%ZyOxdCJrBxxsUx7flqY2n?7Cruh7!9%66Qs7jM2>LxBi7GmKt_XwnPv7^b zStgi$JzKI73hNkrSU!lRBZuo8DgdEHxzcy&M$ZqmJr&%3ZluY-%>zn$%@7=*XMPDO z9IxSA9uuk=l(Nf2O;q2)$ymz~Uv8x@CH9X}*|$u>BTl6!sABfOit4nLL4c7u4N!*qJV=3yJ6L9k#@m#~vUX z6-avA2UPjEBI&T!4=Yk4#n^`NwO}vtfN?{>1`+z(*Fy-7i{P*t!x-4Vv6+ZG9~;#Q z{4-FUT(N>O70QdW3GgCm_4i^J6DWZH#tSI%^4)Rn0+tDw0SO0X2zXtdts5^rR4({I zkQ(+00>Ryoa3{BiOi#u(vU!61#%dxX0ZBCA%^^MLvp2N^ke30jrMJ<0!{CpX``cyj z-EdkKLn1AL(n&xayVOSsO~UsjAP_EvTCt4+5|tf*Jt;c$Q*uACvG49j&o#ix1vV)J zHqCdCqlSvVMAQGozOxxiV33WbjUWEG%dkod;6ut*W2(PxNvK*HBm({(?8L1RyQj~6 zHzZ#wJDt)AOG_g-kMe`uUBe4Y++Tb9N|P zZhg?CN`*QkX_c?H_#@#G>nAuf!-c;%S=*6A9m4>+>dny~zy6>E2Ns3I6r9Nff7Z(> zfc%%UYC^A3VF=22D+AP9NGBAAm>%!oK~gQlic8zhR@CA;cti>*43siO$aEyWv?MMi zLN(j{_d^I}K~ezKoWq%HJU+Y7o(+%-6B^A=E?Ic&s|XD%V9)bplBsWOgSt)9(w zkjQ(263Xv^DuTo65KcbMN#|NYBrC3~m}sjrm;Z?1K6>F)20UecQF!I)I=sfNcss|& zCUMvRe0aZFSpweDUJW1G)R6%M2za^=y6LI^{KB|;w5)EQ!Nnbkfh)O`{dGG}j-V5} zzk4|FA7Zq=rf8Yk`n)=)#gz^$vPcS2{ID=Xvc%hcg0+SS9TdAYlZq_B&+VZZt}U>e zE;b%=?;v*f@VWm4y@=>lxJhc}Ad8xCL+|}Lp@+iwfGh(D@*>(2bb{O{QS_=DULNKT zo!w=zP#dW?zk31^Pb#q(r z)DA+G`fMDakl?fYD926_u=eII>7<8b2+KDXTGsmFvTEzKlzVvDBn&A?0xGjscHo~lXoknyYLn_A zkRgBu^}(;p@d8d*UYI<3*r2pVcWVxnUv}j88)o?cO~g5GHkMc{e&W#>SOJmDY5OCq ztujd%+#ed&*YJ=WA5;ZmQRpKyuExgGo^Lw~|1z!t!07tj_sL%vhj0fhufN~+5S}yJ z?ocQFO`jr6YvVuQ4ko7mfIHY(nf|AO*==p@q|Fx8|C&x5-pGIebF`gI%Vv(`w8a{` zG1(@L`vaUEi%?TaQ)0iaz5;a7kUBQ6kmmk9G#Q3=zuWibU`HqhDQ5*G-NK@}N2h42 zZ1c*4C%^H2Z8d*N;uSXaf{q3V?Nw8>-3TkS_c|MUkT&()M%-i|?{#B7KC(_m6 zIi<1;M{6o3DbhafdY)9ZL2atu*nO6D+ZS{!vm#$?T4pyNVp@FprgJO4Qe6z_8-x*h zCb$c{OdlNVu=G29w(X8B;MLS`sxoz3<5wo#n|$~FXH;GG>2}}!)3mkqUK^nwy7ux! zT;h$FwUoS{?M#`WPm|TOD z8YQ<*ot+R~klT8yH6@#!QE zAodyQ&T!!bQJlKr?sT>Co=tK8%4LjfCZi;PAw|C;c6E-r{_Pb41-pM@ypkzfIZYXv zHa{P$+@#si(osrK|_-8S+ui(kF}C;SDf+CZkwI zOi9@Wc7=_IST?I31Hz7Rvhob%xuEJ6R6nQ6h;^AsiOhjq>M`I=>~Oa{?y`uZFWjF6 zr$Pqv4gj|WDi{IX;NOKBUF22p2=0bk$&(f?^c9FW7ZsYhF_t=*mvC=`%<^JoA%7SI z;1Bsj3zmsWCZ}_P@C9y(DaqRN!zo;N@3;<KE!#Y_hUbi)}1BMuwJSH@H~qF_s) zQ4AAG3y~=2!pO+R1#BznVo{M2OmHe=1Jh_U*(A-0xh5khrHlzq3RTQ{)BG2N0CC`5 za)k4F2fQGt?if^bLj^-NlMa?WQyI?t+jIFR`W_#T^ua{|8D|bLK#pNvP!^JDlDa?| zRS7YRzoyxfiRz3%z{2fma%odw>VasPOmam><2vmt;2bYj~?e6GB?LYxVKIjUtUJ&ol&-d?4VWVv}J& z5gh!7jU8{3!jV9@>4*E3B+Dm@Ibf(saaKv9=otuYGLN^Ly(6a=0c00B#e!@9qNGnd z&{{^zX_{#`wF3d+G1tKugkAwD#ftTo?ocCS*6ohebd9drR*F+p5{ZBqgDD z(+4~#jr>PTt~i&!Wd)fhE-+Ora9yS>sW6XO1RS0tLzWC`nHofgE0Qn;V=Rr-q~&{k zPzXZ8B}qlJwmc?<|E}v$MMHW{GF!NkAy5K1jX)KHrs@f#YM<&V+9Cr8xi;f^_?r~>h< zk)r0nkmy0lT(-pyDR!Msr_7i1g#Upj>n}zW58@O{iZRPys&>eo6eVMzs%nSW(u3d* z3!2AhNRv2f(!#+HeP)>$5!2=N904LN<4 z=sw(k`0h`LT=4Y#ycz<@3p2>>VF0NpVW>yuXE?(s<5bfr^F-(840WYAR~(FqYu)|GFd3(;vCcptB@|Cgj9 z&=N=-p%8W;IfW)ene?~?imM5UhfC>@>J((Ss|88M13jZC+G@%H*cn5zU_u&dKOPV- z#w(A%GJM|Ll+OUO!69J^oCeNjjn-j0QQCIJ-hNB)Lk@&Nau*FK=vl1TT`OWwR)jo4 zr4-ePMk>9g&!7adMPw6%hM}O)9Y;uEhNIGDB1#JE-tp((F^uXX5$;vnfZz2nppUyM z5C>n}$PT@FD2t)v>hFfUxx_jXC0mk>YAA^kR)j35E*av&0m^7mjhZl8kivq_{H+pM zBCVV>k|<`oGY}0SEtP_992f#lb?3SBA!{CbF+b+W$0#@;;)J6RMCk)b;+$>&WOHoS znSo#Qz{<7c8ukC{6q!N;@F7!8DQd8%)E+n7^@jkr_yN&Yu{}{TYKM)KpHwYbXnzI*WPLC;?R#gqd z;;vnpUB@);qA7|W*zYM~=ni8VpEAS}23oC&0UwVRn#}!|$m`#`swskiofB*Lc$+U} z{RVUgk6ue(U(yapGFMuhveGnDQ0L)>rpp`)QD+?3Y+e`xV^yE^;4rWujJ~QF}8oQqXvI><( zKhJjMAY`#E3heIHY0jZ*p7B54yS>|Q_IG-J>mzSN6f48b-6(TjWV&j&rR)6Ra>uyz ze1FI6Vqm=R96=qmi9}~Md%P@%*%zO9DoK|Y4+`D!Y?Z*~`ZMXoC4lD`OoMuGS=!A~ zm&LQOW6 z^#u6Ed$WH`n|raJHc-qTn?3Ip2)(H$rbw4{zPeEVcFM@afmz?pOOt+Bt7>T~qrs2C zye@S9c6~2*{3bqw?%Cu-ymeeA4U7rD;Vrf!;pJzP&26@g0PRrm=U8~ZSV^Y027U7V z;X91qg85ZFs6e0FQP)@BQGqHOI~B)57;$K51a} z`o){4H|8?S6ywAKtbpOIWQj0DT<$O3!ew7ic$N}be@8`nj25AeYb^a%3w?Heu+c(R zY0rKR`&a3YsmLv<4YU`d$`e*^6t&BhhV})HSB7irLB_Bmnq92EtnWq4Ii@jl(axO_qDmdKVbaXLn>~;=LM^H#86^%w)>W$3 zYyaMi-v=Sf+C`c#D|74~HSqkd)XaC%LG7ZM zoVT3s4%`Gzyry4hyo5ygv~p%vqyJVq?ZGdPS=aX9b4P&> zRagoK57=3Ec`B?Tw40%$B$c*(@O0MRoxM`~K#_vJ?5Z{}=N*>9V8$4f#6T1BEIgZA zuA8$IY|Kk&`{QqwePqd}1rF%4Uq1EJ*r*NAqgkgueL9=ByStlo+-?9(JirS z-dMFeeqr|f_57M1{_}-fn#b>#)-;o+Z%dx-_ds9On#^Z>zDQ*W1s8l>XBgSAkujV> zvY!9CNI>jG*>Bc37tT_ToLHnEu3CPWm~yuPp~qF9OVXpGq8|phj$~ zGA>M1-!O%5c_YOT?Z99TaVCCW9K5ZVJ(2Yd$2l%6(9lql7-+?a^xV82*cLb8>be;9%$ce*y)WSlR!_z<63~*B-ka(RWq9f0P?#--+W35(Jz>@)|?p zW{YFB6#Ymrp|wRzo2mGj@cmzMb((86M`G*gpIUgxZfd7DM>7s){PxsnrU@j<)DbGF zg~rD90@#U+;%Zi^dQt0nvA@-U#DC#x#4qPhAWgq+G!@~fGQ-)b&LC@)8H@7bsKhbz zP}XUH8i~T@(VCK8G5zwr{Bb4&LoAInLBt4*1Vu1rm`nlW;3l|;`S)ww9+2n25~ku) zii?DMnQ;6w{3p1o*0}f^Vo{w%#7|MY5~7D4?ub|^=;8^JneVjH@}mF@=%~$MOYg)u zQ;)r>vZXZ%D8NN!Y19skK=j6(A{cn~;~HIWQ_^;A4UVDT_LAxMgcbNq_Fxs?NhV<> z-*F~0RR|`Lu??X-Y>QB_4LDZNy3*L|#ZUqePbB1aKu{YgkdeiaNCnlBSJ5V8V?`vv z*r4LGB}5xCWz~jBtfXO@#;FpOBcfeis5I$!3{{*Q(()6@%l1So4E)iQ7+TuoBVkC5 zKavgHq07d=JcVCv^4Tm%vF9^YGc-&FxFICgF;Z$mLKz3Z=xZ}HOJ}3`dE_yeP2$ei z1vLCcQqcemesS)pZD5Y(I7LMKO=Yr0OQKOvvX5X1Fqnuy^ehY>AZa4`rC$AeH9mxg zO>oT2Y>=1&{KHHvg4ergc#TZcGovYDB*jWei1+)+v}qu$37-zf7t4}Pu1_b`SpB}2 zaBXSZ{F8kLSPvz^a!p4^=|ZO&9=SU0b2BKUb7i@bMK>0dMO&zFJ>2`Ub3M0^Kxrb zF1dNVTE2oaaz#KU$@?X$6A{d!_qeV~PaoHJ4xYMH%@(d|%xP`H-2ujIfA5AIM>0#( z=r`ZbHN$*DV@Gwp?%go&YkQv27O%g3wW@>T5y+-5&&z%w4L6=NUQSPIf~`CB@j+aZUV)xA!hd-P;tk9cgD?NN+Y-Q{swzDT zc9f}hK%2iF*@NkE>xC0dZ4oxm)K5>@Yn{vNDSV6{unc{Q>N;%y+=SuCcGl|lYkVJ0 zwUSD&`CM1P+a7=1@GJm3g?yZz|vSE z@krjP6~pqm1hHGn4=xU2;~8rbG5P$N#u8l{?OBZDidYu;N@@hy>Un^$@`C7CTPPs@ zI5Oyo!vWu~-QNe7OIis)4;G|H_?w0e?BDMj9AZ)Kty`*C?o9T)0PnZm@5j?}uP4qc z)e}EkEnNWLzs=usm`r7t*pcBXj0MP9Fcb&454^b}oGTf6gtr<5!)@X(KML?TKGh$_ zgD1v|+BXB1xx^Z_eiqHVDXw9bF+0(>SNHQJ7v=ZUyZwuh?BL@N%L%TMGy}>r3^vBT zT@3RI-Wscy5Q-7VW*y_DXj#T_yBv(GgP$ZNR}ule2>B?w>0qaRXM9#n@Q1pD(39bd z!0Tg6YB2*q;pR(@Z=O}rN$EGX9Vndv&c8d;3%pPgU$PIjF*!a9M!a!FS1|NO2u{u( zmQ(;p9*ihozY$~fr6@{9m^dPV*_VtJi!LYGHcxqjV1+Jle-x8r&WE_;h%_o8ROI86 zf+gKSj7e+ape^G++KZZp9b)!{4Kc}%!AT;j(B%Ap+z{tSm?2(LD0eUxs-C1cRxlL9 zHO2@xBL)p#lRy5J(>a1c^%lCUKtgQPV${ZCMZ33VC)!H8w~@E9Ku zGnwrXk$CRBXOIahc$Uo<%@vLiLL=lPo^ZU|*x(2}+xnY1rc$nm3GV6sQh8=}3I+=c z*}|J3)<5^28lBN+kQ8B=rGqM`Z@d|t17QQk#3oH^U${`vq!d;j5W|2R%(rI2m1hf5 z=)pIN!Pj*N69^w<4hM-RiXP@saA-=~3nGR;sQoKiPc*|(mrf$~61F8l?)|c`1d1kK zz5#+7r6z4wT^lVW`2N$)9+7$?$r6Fr;Qh({aAOSguy7m#2&>rJ!{@7tryv%X= zUy`&J2rrM#fY0aUxfht98js_X47-yQX00G9Y~RpxUMcGKbRi^))3raCrl`|9&(D{7 z8LgalzCO+rzrN`?vZv5}?OM~Fvz{$oZ}(uc=_=OTof`y(4~9}w@P%66&lhCN6Mn%~ z+XtnqudM^J`*%o8y?;u&YU;$hX7jb|5>(|{r)xkDDJd+95Lk)d|=O}{0p8qxR0pQP|i>vF!hCbtIiKY_z4?o=wHp z)5TfuLNQylKljBQZ5DL1e&q8e7<_QIjxKwCU-!uJh~Qp3-?sS+Hf{in?X8^LaQv@; zas4f(n&hIWHZ9Y5Up?D;#uLJ3-D-O^GYM{d*7D)03W=DGyi+@$;`z0 z-&q$XHcqzxDeLkt@Yrp$4e`HNmm(Lrh&{MMdrQ}*akg{2M&HRBU}8ly>`WJtO1mE) zaC9XS(eW0V&7}%Cx?=x+1OJS724SSWa6?>B3`JZ+K=sgw)c%W!9k?a$pJSl7wrPGk zdcAH^o;e9=s-Q{He27FDP$@vvqW)u^H>P)FWY+J?ht;4Cf;(Y^QVoAt!%y<1A8$*D zJ$OhK!EB4Oi~Zk<5iX>DTZ8akaJQ#YMG=L7J?^{A}2LKX^h z4~D`3Z>#ApRpYS)1tJJcBm>2KQK0Jj-_@QxUGUd=2FR(Wuf~0RNfbxC;N}P+^p)s# zi;M>Hi}ZVO>%rHSQ9S6glSQ*+yZC7ge$XF#yI=k}`K`Au{9sz~`op3QR=z+|rOMN? zeU@UXOmCT!^N)|)#dt?P%Cupwtj@@~h|Zq~#_!wYeMu(%wHmK_M5cgz0uuoIY+OjT z@S{k(C6!;CP*^!c(n3&d?1%hWTLd=OS2nt}HQH0VHG(n#Y>cL`{t-S{`@v8k?u0!x z8X=|yZi7L@WtNrbUDkR>datX7v%yfzqs4)d5yY21F)x2Sww)4nX?UzwWuU#i$Vn^J zBlUIoUu&N~Dak3Him0|c4Xu`{!qWo)G7S$pYLcl#rVl6%%J7GZ4nfx}SV*7d7)B5@ zsF9xG6_7!)o3tA1CtP^&TdB6}-gozd;KG?=XnfhBH~w*i*RVpNp;ZG`>^cAe6|H1% zBkQ|-+E%RRLP6L9#J@=bgCqX00>Zo)@X+>Zi}4T+S1xGgc=!(_8ELvO7?HF$LV+VO zlzW9P-FkG$h>AOXp6nOZk4R(#`)_3$T;>;{=tM zBEA8tIN-NM5MuvATJ?XhuJzVPt(~xCGJldK5OwOgwOnQ@e1$ z;4Ot(NF`S&ArAQ(7;A`3uwvCZ(cO19C;)NL5g|!vbi()t2Kc^1gFBahp<-E{ovkG5 zVLL^zB>98->3DmJ1#B)TITW3l6q`a&ucxl4IKWWC5H@>Pk!avh7{F%1DXBm!rJK^_ zTf_cbCndk)`-PnW$?M5;=61Dv2UqZIT!DxPav+fxN)RS2O+if(H_L0_A%Z9(`brw2 zDg+2C2h`^q=V_W2jiuI?;w;#gz9(^on;@)Fv>}L;!yEH={hrR^@AQ6Nx8~_Buwseu zL4vY{f5|LBQOQIsrDMGyp41KtyfdJ=(N3d4aq|~=j@OoykI6;MfirXiVWg--tC*5eCN^6mh`tu@k zBUT+@EOGhfv&>W80DW-8Bud*Lx85M#EOaXdx0E6Jzt5!#$pJC@U=`4^!B@WhWR### zO6d=UT;#hFn^BiPJH_+`Tp(ari?rd0=g))m&K4cijE2PEXaTnM9U+_rl|KfZCh)tH zje6d}_z>IVuC3THzCE>+QnGBpm2$g<*F8{RJWA~!& z%`^Bh?0$Vwy%p<&E|PnrPL+${!1(ogEvsyooEy>yee$&If-M&Hz~Z^GqVdixyZYfT zy0Loy$X$NrtkkDDjw336!O>S$aOu7D(Kmnaqs(E^VV;<0kgW*CKOSLewqt>OX@c~d z+mmfwHm%v6-O)J%$f8sDZ=_#*u<#^iK$bMOca52qho<;g^qah|IYZTxMZd-K(atCl zn%pZqIWER3x?Gx9&zBn?f}cYLcI!1f)sHG;Ia+1k(1s4%cydQk`KQ%vN&F-l*tC{6<)7ZzWrJ}l82N8uR*^gAM{mgAh zQA`riPdaD;RN8$q%*;y$rqTWgXASEoO)aY2V5L2~Da3EH^g>T8{D53Z)kHZ@i4y064!JUwvBq$oJE&yc8Xhv@Jyy_sAJeo)%_DCTIO`f zq~O{_WhSY);^h?Jrh{D^`bR))g^BW|6S*cKE7hqnTH5WARno}~efE^vz|0L}aF!~A z*13tcgSN{iqjW31^r@6G&Nwqu+Z|bB^HV1&~!&C;D$<<0vJHwvgZ&#gdk1W0y z!Zh-lY0aoAl&j6Dk0f6HLNwe;$GXSlZ1WZS&ApL17i;+YF_@%jvo#oS^H%vCH2zBF$48o=Pd)LdD$ueg;h`e3oLhB^7 z`a+B#t}8QWMf3&Uk|M3Tq>doVASEMsdNCQ^i1!@;GV-Jmm}4k;#R83UtEQIP_*OM< zy~gPu*h1{_}Lo#wu)#h*$>; z<8o{5#|lu2GG>Ry`a_G=e0XFfRfibU>Wz1>GpmZI=>`tbX;FW-nftBf+gz@Ud* z6aS&HW&RH~21Z79hW}|}+pR7gx5@Tj`Fm#)z^u}dg?OWE5?Lss0cN@&qM5+zg{vYY z^C?F*FS~A`!tbc9qFsG@)rhCOkJAchIuVsJAo5j87VcDpRXmt@Kpr8FH>V-)jJO36 zB@;4|?rQB6Qc4{&o`yB}t5LUpQdK0VJhRF<)$9>79(onUW6*j>mW_6a@K@@q?c*{t zuZItZA8A>Uh+isuT+{P05^7qHJd@*tIW@0?PNb~Pi;GSrDl=0(j!BpJXEkg-x8#Md zKG$gkA08Q2W?>XNEfRhGN{}zZG2+{^pDo~wl46Am44tlv>E5vNYIfcP2|d@ z{E#6M=y7sbo@;ygU#UK&=27etebAI1!}(pZcW z!*=g&&{8!IxaR)PTrUzUphGNc7scl@+U3FhMkn1etEp~1-||N5@3`x1$r z*%5$QixJ_sg3Fiolla(cdE(DHhKu8#37U=uVG?<2Z#uFN8oq$+LyriXF&(O=4nGlf z?E+aX=rqp6AuBdx!c)jRMrUl-{`r&LKp>dwUvIZzgd4wewfPb;w!KHLEnh&wiSp6k z=G$Ud_-`0&paWyzxglERi!53;zNE1!&xnMt8=%Y+yYnvOS0FDsxU;I%;lq;XH z5cf4(Y;hjEWwZ1EG?)X0E{K{4X`bmdY8VF@#XAPr;w;N8~!*Vdqg zdp#*qbfp(6Rngmr8h@d*qx@g5NInM)H3)WgkGcZn0AB-Tl?6vMWF zzFvT)4*&(z__@R5A_9N4QW$ihK5*i7_<%L()$g2ngwRNb2n-pbq**GJSt_HcQ*is- z?TG52EV9P_oiu>qbjVmwqk>d!&hGJ+doWDRwVC#y zH0q_EZ5k6U?D5Uaj1uwh7_yXmf->lCV51QE_YAE%g}v`T8=Y$?l{`{A3QP~QY||FL z7CG-j#cf?(Zr73M0OfpU)zJr=V&<6;NydyssfUv;`R&4~8I3KoO$*QD;?0U*oYx^b zy{-19E4vM!&aX>CPBs*%#W1UtKvIoTF~a_Xx^34i7%Z4_Obhg;8@AYDzU1{2jFnus zepgvCIB14c?{ij5O(rD!_iUEk*5`5q_LYU-rUPn7s_iv;&3Z~%vGP0##$NA@3xk`h zm0fO9G?V>JYiXt@x9E9Y7qVAonoh>^M+0LC{4o-DL zd$&)pA2IqvJA17l@~>yXqEBF|=LfQI{Ca%8Tt+2|YkYnjSyM*;N`wSGQvBGrN=umg zRhS%oT$#@BPajMS->giu+Ayz4?9Hj#s!S)0!Xd73i%yDXcNWuLMVFcI_?2$U8-3N5 zL!4z9(=(&rl8gn>@Fvv2xM{!d;HV><0qIE$y}%Pp$26#B+G!aq>(`<0>>g! zxld&6-JaifqWU&4saJb9{^v6ER|5~(N9{m9D26nzD~NA1%)n^D)_||vp?RI4AUaqe z`qzK-0exCzn21sWMa4Ma37$}#QX2j~KrpJd*nG_(0+~`G zGD%v{6%Ff6wq5X*0^HZh7ce{Vc6kzY_LGM!R*=DSA9QFNQa$6u+A_2qz$SdxSs{aJHZ&? z-2K^!#Ah6o;is9+FU}%NU*Bm92a;D1%N9q#Oz~U&hn;IBpMs57-_1ly!y0MbN?-VK zY4Oko{uW6M`5Ll*zoLQ%0foOfDB-inM1R@HxJ8O;)LKvEnQg6 zJ)}Lj#bkqci9e@{OBWr%( zNm2EOAIz2i8#^eh(QE`9Fi5{fA#Vz&AmvUY&!fEQ9;o-+kQdKlnoxUzFdMdpe73~2 zt{YB6jrLScIV>pqcsu|TiSxkG(jtQ*0=NK-=G6k60}vlZ66nPa1D(6L13yb-OV{?Ww@s!n5iERCQOF)-UTjQb}iifHEPPh2rh zbKGbe`7xa4>|u@#VZ0N@0rRM(f5YX^FLLU4t#GE}OtNVTRH$D`l`gcTcvy9Ws<3Sz z6nKi6Bb0$6bk*UtcYSGZw<*4Z2hD z%hf+P3Uk(H8$ks*C2ug)UdNUl7MAS;H0-1u5^SUehw(3h;|{ESIEI8&MhWBN=?V4Q&lpAlw3(H@6@lUW}25L2b z)WhY!gTbUV?hFj>1wPHxjT|n6GoGwqsbdVIICdW`SgyLB17g-PxV3*c!HRtuc?}nj zgJW_-;S=`-6BnLFL(tQh)AIBIh|Oe~)BngQjLUP^H;+1kU-@zB=`va5!GOju&s_>m z4TKK}a2fn`!n0HaK==|NiEMGM02BBM7Eli)$v(Uc7y%Q71SX5jBV~ydroiyNP?7#{ zOI(;DE`VGZ{-c|0+*{~vKVMu5#dNgSJtJc?t+2^v*iY7mV?Uhu>jRnD@l7~irbQG} z%zx&%&J*Nw-gFox+s2UImZ)L_WFQI+k_=H7A936ZV$)m*qd4!6_yzM(QPyzGkP<-M z(0`%Tb1-$|b&eo|>V^7$A^rGt?)MIQV}DxeL!uiK+y`o3ce$xyG`O=?UtDVb4~NKo z@*6TgIw{maD}|wf{Uvr42Yvga??cL1=ouMaVuzT#1fMU(nhJV$W_P)H z2rrUS{PtOuf;YxGYo>3Ti>fqt9Pn9L&j{86-6PnWK zAYwMPHf|t4y%S&V*?o0!ByZ$hGWqe(f0>=cD44g53%r6-&tT|fLg`GndPl5>&xuu2 z45!1<{k5isRJV`kzaBJ;$!Jv{iFBj<4Nw?5qqDroWnO;o>wS*nNx!H#b$SX`e^6~G zFPvotYtCPxzR>QQmVfTb@uV;FRRO-+?sibhok*~deM2e^&854%97l5E>6|%X7CmK3 zhCBo8U>O z3a**5US5}m?7g{}PRxPdS6&X&b0bU;vM56rVZBZ~OnW=bPk}#$>v{aF#}TKMaYzFP zi$k*G1zzm(O+O{`-XuH-&sxL7Z88gihF_1zS-we9&JS%=6UI{n5%cdZ;E>0ozZ6C~ z`l8}02@lX#&h@+u?&RjHeLVhp&;`$#Wtkzma>RsI)S<%QTZLf5F%Acr41*IL0CS-}Ea0%I*J>GP`Qivu?B<9Hx!J@V6D^X(Zj+^I?C+y@qjB4$K6P`!( zaNP=7ezDQ|c=R>W%rf~QspruXv6t^t>irkpv3?msmyrazQdC$EspHyC5SGibFH0C< zcxtye2t8hMOrBTad42nl?3!?e*O*Wpj|uR{+Gezc9X(50|MYTu{>ee2HjAixM-QS< z)^qjx_yywQU$UrIaf`AM_#PvzKutAuOvvkL4Xfmq8K>Q*>$M1Hj8 zLGH$AC-w1)Q59+a4~KS-IMY_uNltTO2+k0KXtpLS*rn|1Msf{zJoaVDc?v>UvZ!eN zsZ$lL`0)@2nN>@?^bcNMwyfA%Iw5l$4)fz{v?OCk#7Od|6*yfy{^2k3DiY5Pd2pp)97iu5#4rXf|bYg1} zU%$MKBZJVzJ}q`)PiM^`i{~ypIY$iYf`?n2d`_jAt;UQtlOGgmrCR!3=s%&AUuboz zSHkXD5Lg>Z-S23&aY8Y7JXD7$za6n}{$fk*9(yeEn4B*wr3($H=fwo($|yk|@|_T^ z*HAmvYwz-p)W&r$SG>&e_;h&OfTNS=n1r#eCs- zY>Y^m&-KScZh#I^OY7?=nBWdskh1G1JO*9WcW>lKp2>f);gImc7AwjpxV{sT zg}JJE#2@?681eu5m2~D(kou3If|d`!cKmr_N2A;pqK)389pfvv__S4yDg82tDr(3& zdj6Ovlal|%)%H$TqrWu?KTBZ>_uYb?WZYP#cJ+#a%F&KIHN{#d8E(y{>viRE&(VGg z2(hm-C-jE}+CA_?S53Nrzav&_Xj^&Py_qt{vCS# zHcM#bhyCJ7@9R&#d_v*WqspEC5z^goz>%C2dj)3t|K{e#MF<^GE4<6pkk*!W>DWiB&?un8Rxyhu}~zAAb2 zo1&-~uF~b>q1S^ZOFtf>Y(eC5d(P!;G3Vf-IjROvW=H? zo<03!`Z)P@l(Us9{NdU`treQxX>GD_nfB(_Bg&UjoE003-^3J zh=k2G9SN+K#!u+|(c}+R_er3( z+g$%S%17CB3~S=|N*ugIbE{LzgPW|IHxT$ffyx9`iY`tMTz{DVZ2p?XZ}n7{$h;@RBnjyV0mQS=L( zD)<}!Sx!PJi3Gad`xAWu57PGN|0CaiZ+t`ye>%}G8B=UFs7aT z-!pj6@0BPvX?8LgAokA+r_}Cj7FK^pyQb&B+Wi2 zJpR#guY;0q%#z9YB&!?~3!k5Qta*9`grt8C$NO#rcpV{EKMAF;~+rdXYr^bUr(9EhwFx_lXDK zbQeF(ugb5_k;e-y`-p$uJuRh`Uvuh@r_2BYcI!mUam0i5Qoly_QpEA;3?|e9t$%iE zx7U>{58vPd{^Nyy52gJ|#(T8D@t>x`N7M{<(#KTWKDwWYKV?4d5(iGD>HjO9Q&AG) z9u56JEft$|Bdj#}m@2_kZ0whx)TSx${v^~^_{5IScN$KMg3HtA_qT5xpPw)N+Bqod znCzo}-Bl6*CHAr)&A}~Uev91UgSEruw_4^TkGNKD*fT826<@qZ zSM^(?J3HG=oT4NYd03ItnsCJ>4r^-1#q$vpy;b)6ZqUFEPN{L&d528P`*)IB2>&S( znrI(A3N7=BQkQQUNsN!*kRkfExx4s{rFeL+Cg;hsc_#OFiagtIvj;t8T?5wPYWjz1 z3V8m}2)@q0!Yc+?e4@ZdPVH@F-8{?6Ny|xblv?k8zdtSU6F5as)8!;;-!Be3ZcjDvz zGN|S^+t(FKW}%J%Opn^S2^J4_ghGK|wye>vqF{>XJ&RI}}wq+6z8m^W-LKf9opobQ%IuN!WrF2cpQ z!_K|PguQba(uj7Udmk@{iTvFZ>GL5jtpA~!+zJT}=i#e@YumM9U-&pmeTU1HVaWIQ zNq^7%(3KNN%hAJqShSht$WIv45*H8@l=D?^TDg~Y#S?I?OPDLR*x0I1?l!mKXP#2G zXCZ#2vrF1wo2NK>pQ$+K2$rzX*(9tE?kU)*IkJPkN_0;21rOLsWqnnT3p#moa8FIkBDp3a8pxEz~ z@y2fJQi#~1?xHi9qIt|DCH5~1@6`3?nYbnf^0eQQ!$1raedw-GO(wefT%i%ix$i)t zg`kB37Y3JnqPWLb!n}4Uh)&T`Hjty$Jj^H0^({kYqt}~pZeMhg)@hM)8l#ZGgj`2We}=**oBT|7LNV)mXgKuzOB8jkTdog0!lI|`l6^P zyslAavNkwQpkspCz8N~Uxy3#JCD=P=5Pys3nS{73Q?n=DKmFr zXKtJw``8^MUf5Qq619qy zZW4Ilx=H=eB2~}8h@1x7P>ZDCH)9Q2nwk=^+PzjRcyDIf@W~S{=*%fT+${-^{~IgE z6aG|0L{64S325+@Yi|3dm0OdAuP{;#km|^e2POk8y{3gqnINh=qC}8mqIP%Ka0qRV z%6cBXJ`K(3DL3d~#d#yx6*2s7X2|>FHXUgl(EhPDC!o5J8knrFrH2zuMe}*ay5YJy zzion3sI7mZVY^erm!fi)|8>>Ga8_C zd;l~mgFp@c_FI%yalhxqdm3w(FNTEeaQ$@9%A4IrgtcGQwCF6{E7I$5p*3)v>*KFY zwg+03ru3lFb6fCu#Yhx80{#5x#811+mlaJQR0B)R==YQa2M2fE<9V_35?^APieF#fg0>HDwY}pOrwQ3% z7D>=8jCQGNr|i1-93iDMl1v3UnJIE?5t`C$q8|>_(}vBY`pP7SEW2K}Y1+Sl{G(Jo zo|$-MoI)TV3mZP?6X~9M+M{dFSlilu8fnK0+x3^!S6UfHg?d=^Q{w(c7qE+o?N7cP z>L}$!y?7TCPfsOz?b@|+Gc%Rh+z6>fQS0|RZu13jSub&l{U>M@pGHyUr5Uy$zTM>T zCE0(>2jDW)6lwAdM_<=&iVXQV4k+>W_xfmOIe67=M}NAL#zW105GAhLI!Q*oqbrBu zw@5QTjL}NII@A65^THb*Ambj%2vhW93e&-cyKCEQE5siT#0+X&J(Thdz4FSx{z;}k z82;k`fH^ir_IP$DVdeZr=miC%*-rvxghTicJLQwVwGA2GxW7!@^`_^u7F6_cJ@SEOwlm5GI6-zP59R}tQ2QroUGJ4Ns=}q$72|6% z!(aZ|&dsY7{9(b~ZSk;_msSK`WnurHQ-Ig)gzb`T0@1pKOeN?KU9bt zd0-&gblZu+*M*%{o96W={mdLH+DBbcl|B>-b8@#LjSmxO&|6iPtxYywwkbSGF+I+@^E458uKZ zjST0N?<5j+j9zC<6S!T+`N1~Lew&&Lm=_xkch?6z71!PY2c13S@(NYSt6yJt4!kZP ze*$BRszgl0^GrL5f5U$c1u>C~(eMI>v2cezkU2+SyZ+4G(coEDbUwI=QcJcn8;4p6 z9}*7;S`pT>>`ypb|L1)+iirhI=P4eW)!*Wgk>?;=OF;s>DLFk}O~1KmxU9)o%^K-V zY|6M$-spG#_-TakTCqoZQtf1dVTW%~?BNZXH+A*e+3M_xAMx*Y{P~UZWhchS$Yc)W z0-_Et?gKa^|0kD^@mEfF zdP~62g6S$QkO@twmay$R@g%R{n*K`VP;NyL6Bis?vGwIv{`BQrZ2BIprKMBw{=9h*N(2PT zw7Vz?0*wMv9uDj6TJMyMJDAWGww`eecGar%Jlu9^b>eZ}pt1=stUizoyyb;lS&f(e z%C*u+#CKkIuBQrG^T@KVU*b+u5ZaO?Pl#h_Lp(@)WnIBnN9S@Xl{-*{E{1hzQNE&g zNp{@V34A#)CHjBbNcQGm1M&Hdeje|{p!y4~eCG{!v>6}WsKc3{&ee}Xw(A2Fq(@D9 z1)*YOTmE&3=kAxv*H+n?$wcQ}weVYeD6c~aIgHatJGcH;HcgS_u&C?q`(ZDkhOz7S zb`NYp8-MN(lzd|fTUrnzuJ|+>Bi{Nzj@iV#^c{d1BT$E!6e6f^* zW=t2oCY+YBy>N?()T2O}qOQ4F zaHo%0O83D3gOAgY1El1&!-PwP8!@Lq`1rB`fA7Z*ACKt0*OQP*N`ABW@fP`ns)vPU zNVDQZLch$NZ|=dK_Ui4U_>wmr$!7M{0hIdKZWlQiuWD$dl39ol_Zc^;UPTSUQU zX}N4N0HU&#^d}Z=z6}Q`qt((Y5T=|M1m(E|Klzdh`(3>aJ{=38nR*-JzPhx?B;+D) z+&NZPF-vo66xgqUZzXwlPQ9#FI^ZQ-%EIrXpW#L-S8T%<9Lz_!&Rs6MN+~Rdw(odF z>d7u{4%~$ndpdj{`KwM~@kp??>j#XL9|#TiU$HqbEBEw8KCMza+Z{U(6Bk|6tT!#r zmFd*4H)2t@%DW|CU3b%Dp!{lV%E99PtqSujtpGVZ5#GbX;@sYq*q1GhlV@rf%?5iG z{xT7+1a>o12Wj)J<5u1)t8yA?;L{lRNmeJP~D!*-j46EF^}_ z{w0}%+HQ(Lt$dUte(0>)nI9e(zo8Jl;lC$w5XkpRAn|X>31jW*`Ml1u`bf{LC!rmBqLHbWAGo-IoAMO=xyuQR%HU3<|fQEr8)nCj9q8g|E`HPi~QHQJX+ z`|=Ghm6FPP;0ha2D>0aKdBI0KeV+A>YLUFkxLdgAap_Wh+Dqp!z8|nCc&T5n$!bJ< zkOr(~4Ys!Ldy6w6s_t-g>)NSPwe`(j>S`a@QW!kr)LU$2k|^vA5f!y&P5+i#F;l0M zxv17K+x`gyMf=H3h?(+wyQj}wTJ zV<=waHqK^>t?C%Fnd$RXddHA;_$lGyL2JR^ShuOJvs7WfXbS#$J|yndOCD)PaAi+J zvm?mYs|xK@s^rTZ-iX%F69>+%b%g06Cy5!-=xcQkXEVH|7xBH}%VmxIYqp#V zTC5wPW<73Ww`~v|d)qaViA$a8n4(~P_*t$=nS=_$H-^l*>nq)aOvj)D~aCsb?N{N?~xM* z5*Ishg|~X$u+?pzZAU8`9}u!A#6YgpT3a}E(9OADa*Ole?OEu`sS~+N_C!&!y@k@I zqFw3JCFJz^VJgHpnrua+;~D=I{`mc;njPf^)aHVRmrImeyUUiVQmCIZ^LwRv_y9j3 z6G*%sA2S~Jl^|4jCTwExGl=c%M-D1DKM%GawMD5Vo_>kcmif?>KEEBn77xZWzwdc# zIXFY5H~6biE9t(E5G5TT)is)Cy3*&l9UtIm$DSr;Qljhau(=Mj!%!W;HnDuKuS|AJ zD7EENhxPrL@kygtRovC8?LdW8IS--)1q9kPD8`?bqw1D5Fpj;5r|%Z$$HsmK-gla* zuC-|WNq#c7Nc%am$bI2!(0)#YB?v^xuPtj7$e)8h>^1Ep!9A!Id)`fo+3Ljr43Wob zq<(L#y?qy4x$B1B37WSs>i_Gl^!vn|108A1c2g?R#Oso3u>^WqNVak}Oxc0BBQ#i1 zu@9~Tf-R%LAzuNfETk@a4||iDg)IfZPS11Iw6qJjMC=ipJZ(WB7VCq>PuS97KbFe+ zJ-%Pt+*0oiV*gYtg*rt2Ud_tf+=JjVHgtZIpPl`c`|HiBEf&R;(bT_ zr~4R~_wud4W#6w&YOQxW~tb1bfOpD=K>#LLh~5_ zja?JKxkONRTlpn|_vtX0Z^h??5-RZ4o)Vl2;UOz^eTf)Q_NTG3(6HoE8{@Up^W3}fPUdMByEz< z!OPycb0?-`{-N#)2tImh#XvFx&Oao&Anz|o_$H}6v+^du)AZ$JRjKj^hnz5l*1gN! z{m3V*Y#=?e7^;CiZrpJL=*Q^miN7!5_LX9FM?Q3NcT*~ebbh(60?xMDb(YbDDPR8# z>@3=%f26asbD}_BohsIKU_fI&=Y8pwfW?G?U-fHc8^;0kRd-IhbzIL31F5uz%l5Kf zQ~g#;h+gu=`d1DU96tj4X*FP1z5Rvr?Z|Mq)@l!eQDa>UH-T{yPAy@oixzfW|JBAX zZ6tw-*V@MAIs`?CAWD`%3Rm5DpE*P5$`JSv4I=)ExZ!@-EW($xWvjQ60C%87Iw-1uQnG|O?N8$C-hBoJA`uF8J(K#qrdF?Y@T2Ggp zsCcyySTmcc8rt;0tKp8!so5PMj;fcuTXk-c$5{?-B>70WmS5zQ_&1$PA}QRH8a5HG zW*Wt*Aq}D0)!QPBXpTE~aOPhE*z2=o+tBYO#SfQe5{IA0$3$45!>(nm!&UoA%?G^2 zQ+8)S=^A@b9=ySsNY(!D%R)d-AT0BSpgbbbT%1l)xm$o~=Y&t>> zS%ULkOtVcQ&>++-%Cm&4t&Cx3XWP=gthnKw9Czqjk$H<4^-83 z!oU%02jUePUqLHhCDsS^<=Jc`N7B3!fMlx=>l2mb#a867$|0~?u;p0O{O9k7Gu@EQ zG&$P&^G{m%pa8~*V!Ax!xXk;i<$kx)ABzZR{vgQr^Too}K}n=5mZnVAciXJTG78Ji zigF~W7-)H|&kg_(87rYjHV;g_Oo-Ztiv@xMt{4Ru6K`q74(mz3R&x+Qu~gsZG$*aJ@e53-4|)pH zLG9$Cn-d@x%NroxT4f=3U-V^hz6iD|aGtnnvmI69F8z*u92AgVu?nY^Trc{h)qQXv z<+{O8Vv44%os^9$oQTR7xNZdEX$w)7oPN*xdyJ!@DZdt!izPF%H$`^TPh1$O@|_!k z8n#q1Tt&E`4JUoy)Pr|{mrTm4LTLcn4v_D@Wr6thJ`S(l_JhX^ekBHrk;yC>ct`w; z4_k#ZK=n*@__quI&hn%JhR>P@peIjLUVfo`nOYQxtc;TC*~*+FZ%TjMYu0E1IFFG1 zqL~e`8cah;`!UG20pbs?xISD&uHWlxY@r+Lp2-;(hx>i>VXPdJJJAz)B$xvgO+Jwt z?zGEoJ1JH7kb|ujwYW!~Rzka7}H&*d7*7$$ojbG`o0_07SF3c*Vr3@H~3&&-fAb2Wpi*4T6)|J)ZQ4 zMgCF82NK(sy%3zJ2mW#(_ch=nHvqsRq((cn+(9Z=K?utj=uGZRJ(}V-Wqe}XpITCb zf|t`6v5uNA`V>b)aG2p*>B*L*eHQuF;ZGpj>nh0}~{+8Oncv(?T1!)V^!{N95wt7ib+}%aTg#6N2 zHOm7Q6=F>r^(-p+aYR6G`>3<&W8&oomB4OQAe_xh8;WrkNR_GpZg1vpwTCAD{7uU& ze`qvQ+6&_iAgZ+ByYIH3MbB_|K`gaT{R*}!gwt&moTXJ&w;ELz`gid{QzS^0N%kX6tm z3wxhfbe4fE@2S=5s}umoBD7FT8jIvp&Cl-lj72ONt2haRTpPs62HiDf087@)Re~LU zxX70?&}g@97QijKXTqojqRb1{3h7x)y?b7?^q{JGj4#Ar%BbOU13%a~tt&!v72 zh?$xLNZZs$1mWdD8>R;og)zH9UxSit^n7Nyrvg&P$pwXH5 zw7g6#bMTq1tIxE#En@M9<#QkuGTxYA(049SZta#nG!_>39oXTDGYgJHB8LigbNWwP9!zx;h$4DsP1< zAeL_XKs~rtRjrwjwBkFNdX5mMa-KnS5<%_@V1Uk&YoGIxSt=jZ;Jsr2nYMrLc%QBY)OC4c6f9_& z5oiEGzil+^nC{WXlmMoYC0FyNzQiNjK<-Z^+Oj_23?( zBE;i(3V?O@bb|2VThE4K4mq%T892>Ze!I-Kuz+F{N7jU5kQ^>pz7!S`YMIsX-45#a zw1`*ap*KiBpYhmVE?=j|Q)iv*`x^H-aAY36FjL@N%{9r_6d|zD*oCL4StU?V{+d=2 zGLuu0K|6Pl$N#G3kvHT;AOcE6L=+^xcrR7Q$jX7oCT=wmBH?u-3Uj*K2g|y5k^lVA z2g(rLE9z^hJ^LPJ6Ul*28?GBAKyBu~KYU)=)F$m^Bya}CQ;`uUcd)qaRkAa7)vaAl z=~<-&6DtWSEBqxD$vG^!h@z;6nCQ(cw?I}MucuVsy*j19d5!c6(gL^2%!+-zPG&s< zEbF0r4D4(#=T^9^G8c$Xc{Bms_<7rtQyq5;t^*|z+%QE7Q7AEuSU8}*-y~#dRu8Qm z3flLqDsv16uTL7mVEG_ZjSnks6ouf5+lK6W3zmRzlFm|H6QTZWpzw-q_`_&3tO^TL z`%(wH48l?mN@?vUytAhbUPQ9!C~D?`0xc~h1-#=x?(9tKY*N)r(|j!RsNWWz;}JL& z5xIzGL?RUX4`%y45y*5SknWCWjR^G_Exuu1csg;nQ=pd@fxd|Xs&s?VLz5KXpc;qg z7?)k@AM*AtzQd{(sN*b#$|9?`1Rd!WJ>C$^DPHgDqb>$c&S<#nDP#EpnREjha)))EkaI9HI9*GrtC!6kdK8 zx}xwLVvf%(EN-`e)Qvo*sCzPgKh+45^Gej@8^}Y+v+;dilNN=VHvql;`d(%OrDf$@ zAj94(Pf~07lh>4=hwBA+Xkeb`gUX!S#J~xI%oJd~1#3%%>bTxcfACpfUGLsb9zJC%X>97#)&wNQk&@50&faH*dCcesK_-D+!WHKN1y=^%fIN{nu3D+8p({zmeybVF0NS#%FVBOJXzaa;>U@` zu6U{$w&_wO4uJqGDDLS*fW>&&w`pH{i2t&L_yI9=>(rTj@st!*<=! zVYTc)Y61i_ko{Fl+1Zkzzv}#aDm{%H0A~Sc^(iY{T!$hB)u_=KGIH~4 zp4^d|UI7|`{BnVQTQ|+jx?w|hEZU+@piuVGI@v!wvccZ5-H8>;4^D-adwc*T&lV`@k;+%2(`J)zv8+zkPap9vZp*y0a^4f?diK2`XD{qlHR2_z2Kyu-rKV zA4sikxHht>w4c?Uw*+!}N6S8|2Zyf}x?*lR+VvNV3FipGhF$`3EAOAeSJ(bHFpz_0 zwo)u51d1wySeC-h?K`iV3-JN~zKhn?JSFaPE0&j_F)yvMcIS43M%+ zIpPmi&O@Z)t90D_dw--y<&anCOk;;HnRbxbDHPn9h-aYX+g~X7&XqK`a53EqC{>;v zF^wq_AkiL+@x@&Qyk`7d2W3^jy7PHlC;?Fo2<(;8dEj_#8q!!3y z*7>JUxh{O;-IgRkN}!r`dlCj9&EvtID5u; zm3HgXaOHOBGRkV&6d^zSS<@5=An{R<8c!hTYrCA@4SESlQ8{ks$EJ12>wuCzEdos& zNj+7BvI5AwLkOw;LBbwIckG;o9LTQKhAYni zl)Pc2CjEm$J24p~OQg)Y0FvvkEll}*mHO}zs|0b0hwEH+Hom%ZN{58F3}ATYsYAY3 z$xe(wt2nCF@+lC|ZeZZ_fbmK-tS2{h&*{17SWo|CyFLp*f$t7r3$k(L{t;F}-@J6M z(~iS_3iLC5iNo5;VOUfxnF6D@d^BDyMIv!XtNk!$afM#Y3#ZZKJv*!tAKF|9ks*po zPM)mKuuu1_zKM@_{sYxWX3gq6ISy4zm;ikNT`Kz}p19pawH6Iih%wOchS`tV{Tb0r zlsW2aH@ccAj5vzaaTxKJk3bR)5HovsxRq-p8P$-6?3aZfQ8m1$!B^GZw3i-PrtL+KC=e`4Pq#+QbL%-<$3LuA;xK` z=QRk{9az-|#ffH7~~ zzN}6aH98rYEB-)KpjM*+tXT2l9=}Ou&>ONYxBcMS{$ABfLS7v+)3nke`c*bX5B3Y8fU+!=5cDgPJ5) zDHm{B&wYEAZS?l%}d7ww@q;*<{e`nUxb z0_cx}Lfu02DvV(qnn`PBPLYK`1H|FB2OQLu)||$HE?5fR46Ox1A5=T0xl3fO>?`WY zn}C9sACq{f(f}(nQ`yZ&n-*I#Nz~3h-qk zf0?vlM`m)+An1?m99yM}+P?&sz`t3_meGfK8P7FMayj1?XnYE#& z(^BR&SUz@9qu_nf7(hzoqsAQ2h9(0^^#Lk4Rc^DjSMz1sI+sC`Y>0;y4}hzwYt?HX z>sz0BQR}sLDHX!7IBZ3H3a6bj1|o;!1x;f*qck7LH_`*em2tc!SYe}PK9d^Y>J>C# zpkXx246*Xu-m%xSw}j6WS@&XDOkw6S%_*)8(5ft_#}{r_6vac~HBRCcyNo5|vuzm) zx&U43Vt(wRntM;w8T1X1i@gQub(b=56|yTe4wQT!sk5yjbosaSy959Z!D|?}Mb4v! zYi$Nhung~##W(@5QZttW-tSU79MoN@08!BeU#o=6(ROGQC;)~5K(WUYlZwU7e}3wq zz?F?>8@f%$Ix#k84IJ7#ctmnfc&9p!6(rh4FTTW7HI#IKQpN)FRku|l1eD1jjpb7U zOg}tka6OB)UDzE|TU5?(vpf^3D*43}N#5tls~8;vEXbeLDpzxRL1izaHh0(-KCuLse5P{%zgy6tZ;GN zYSF^^@ zGP3|y+GVW95K_#vMZp&?)i*GzYK9CG*ObBVYndWJ<1ENt+0@I-HmA;k?wR>cBXv;Z zun_WiK@W~f87MRe04|wa2c?RJ?HC~23oXW=K-8_E`E=60w+}Qxa~8rMQV>9RP?g$0 z%jcgn#ci)2GWs}YMdSLGYdGlI&X?`7>&?QwDvraQF~eq6uxyU9r(Mx4u8ia?^5;>x~Bu-?r(>|lP`g(e#ebjE7c2=rPf3~4?5HHDg z5_MMrDDT3>Y(ZaQS8ZHeoVOMJ#bV%%z>L}822F`~pb@K>htPU*M+-;AZ;>yQnl`qe zX*~4#_rPvZeyb75?Ms!j_|H6=@#n4lJuEoD<3+%pKBE|P`U<*s9e;FVf!YEEuZc$9 zhghZ+Zy;LuvwSjvek!#)x+;upUXpegey=kSlNwN6rxfR{d&g^|G{1ZAH^O18Ufr|7L{<#eHRpK)LI6oj{7Tu=KJ^1098|2U?EY;IFEX2QzSQOHh;DLg3|Bu ziOAq1b4a|0lfA5#t2XoraYH(@Tul>u7Xj60_g758p6<28kwizCuPUN+14&ebk@su+ z_5&*dn`0HUWTZ7GONKIt7yHceHaU>way(*^uxl%Ft(w_~8CzF9+LAAW>T!C=N79$5 z4DQ((_OTcPGbE^T2@423@d9nRF92M_6bRbA|A-;i5D}YulwEymt|!?mLWkHlcnu`e z;OGIi?Em;aXi~9r@^}YCCNNdZLBG1O%h=Wig1k53IA*d%{;h0qz?`r4;5}*Vx2c(2@;Oz(E=--fGZ@M?bw? zHweqX$7tbHy?&LfR4=^73M#ZFtDvt8v{--pi779Wn|30lmOtxY2Z>FDkqQjrmDeNd za_UV;qE|x>m#t=LcEpsbfW?qYp>3o0dIJ*mjy#XTS@qJHq;5@MpWCvqUM>^&mn>lEf)gtL&`bdj*szTv;IHAG%3y}q$8efk*o5~jJ<0q4G1YOq z##6EydmkkB3#pj^Q7@bxhApGqihwtf@eYZn_yZI9^mJ3sF9pwDCLN$wdT|}h#8r`~-5id&<;*!`8C<~P zFM~vf7@UCNq;};7%SxqnASM(ctSDFLC`)W@$4+{ETYFOFHyuCK#EH3SUvjZmM|I!1 zmrVu^86bL*AJhhd3?b_8`mOom5%vUn_#-1wd9#(99FhCyxXjfw<%im<3YJ_4j8+9q zk%EO-w`puhP%NUoQYUe|M$mkT#pEL)RIBcP)Z<{&q*Dv7qytNy5F2+E$0{g2OM0$h;xoU|k5AOF7uRGG{Q}CH*jF~FxT>}1q8{?G7>I@v zkn4&lOn+ym4QPoaCCgT>3f>(1Y_RW;{YUyT9x(3-hTo{q6NK5?$&Qbig>zrrD|u&y znBz8H0^M+RXUgpHHCq)OsbuJjcD>hu*zN7LeIzCHJr4>D!Tm~QUk+yGZxnvZ!Uq`q z4GPX`38>n_mmuQ>Sx|ib3q0r{s{7N}a5jrX|CKHVVliGdleZPYVaZ)ypp3O4S3`ERsP4fGGiyc*;3KPu@%$Ru}~Dz~)1GJxO%e5kFy{az&#R zM&4f!R+sFA5#6Ze+$F0kx@Robqx3@LpqRRb6T+t}c`I1UIF9)D# zT{UW%3yXciD#ebBy^oAxSkW%AzcpHeyUwBv|D3j+C#Juq zMh|pUpwc-V*cWU-x<5%oXpjL-tgl?f=2j@}52z97I5k|5{1a19Dt48Au^2200i^@b z&WC_EWB)c=cnVxVqr3(kt1`$mC*3Ss;*@@bDr1^YHS@-`Sh*&9c0jA^YN>p5ju>c$ z0QXA@OYHz8`Fr|Q-&qKcFG@>$B$|Szem9v-aA5;=x{n`A|M1V*k-`mP zcWA-Np(zpsF@oe<5Vg??Hz6L+<*$a-^S>W{dc4e8ZH?0?JL9Ahi?mX7zI{FMlk_rN zxBTF5*UD5rWm=L@5xGwh2M&kxw__9Z+e0n7E?7ziq$$o&g4-vitcp&x)8HajPh=s$ zbkodXph=^Zy{<~V9gYu9Jjf3}S4+MBEZg~_$#trcAb|0v{P~{W`^r0%704iayG10c z-YIO~x!j-6uxE+{AdPIGvuduMJAAiIJt_Bn1L!Z3eRA1ykj5NpMN&l+oL_1;13DyNZ9#|%8u${@vH4xR!fWEBv=N5rzauO?0r%(F$H(z3&Min4KEz-^AD2kw}kkPZE*<-rcigWcu#rTU{K43@Zut(JpT zx7XnGFg~1SxSc8TKDU!ctS0VOwAUC;#MaJXHHQWqVd^9+!oh8BSZ6*lfRvd!`h^zb z9x#quAAsL;Z9!TN*y-*uf^JK0J?Mg)p#BJ``=)N&UXjX?4u?JE^zHZb4M~h2FQ{$s zpkq}%=#|Z^G7lmLB^(~VhB5~5Sbw3c0NT~#LictXcMZ8aXXRm*1jjDYK3BdDF zT&0?!R3f$%M{Z>+wyX!(P4WC2c|sqK0_Xf|U4PxG%!(>dgIFGBnd+O4O=;ow#Y;M7Od3NT|msVIkeiz$bBpl@w0?z`IN_|#wJ z!ZbpjL!=BaC6=`eU4MbD{rqJ93pV7>pg4f32EC6CN1#EMpiGBqzHFQMV5kyB93GfxGdV#&5N}p`yWQG}nbM;pQ zG&J@GJ_>dEUi^~G05S|Sp*TWGe5hUMf}ZO%a7Q#hLqI>W&Uz^bkFRvmicfvi$_D+D z>{Pa(!&jNX&7(xeX+CjN)wtJD%9|f8vzwm9yC8d*lAj%;oAn${dv$J+zwy)6-rT|x zo^=2?&JLigKtpL!2^DAqdcdj+s(`U-FXs2WyDorQ0B9qVHbsIK*pH-4YLybJtdAp~ z0@dTQ4He1Z1^C^$X(f znyvmw&^Zs2e)j#X`Xp`Owiy70Or`+ntb7#8DT?kcHBXXRR?P$ufgWPA z7_O= zK@jC0rWo!C#>zShU6PJSm$V#sPEiJW)Is1zXgm}K^y{}}s zC=2TW0Duq>6OW6GkExCD4Oc+11vvX%yydpwByHkFoU%vI#FZp$tQmk0CVguVnq|A( z4(hC73NQp3T+`tw_hsE)2B`UDE+^s98P|Tn;LGc=2$x?I$1m* zic*#B$y=1YUspDx?Hs8qttZD5$-XAe?1L^(67kgdRi}~6#Eq}4eITnO+-;MN2l*n% z3RA>gBOc^fwHFZbgsoAfVyZ;YLAu!ppax*v^`@q;Pzx$hbUQ;C=uI!W&V0REmW*ZY z0=F`wS`7l76gkxss zpu>GSS1gkVmp}{%zM@xHJQG-W8guuYI$t4^fi6R4W9%c`+vYpY@o82_59h?gU090snKAxYVJK~0CFfFbr*c1?G)K6Ttxk?TyX z19>)fZZ2l4pnXAe7o<@QzN(adASVTBi7rTMH|@{Ijxk+tR9#3_)_yZ&zc&UhCZ7-M zbaIAjh5ezMP_m*gk{F#8zx8C*DGCILQn8Rwq6 zOsIL`Z2)e49@<(Kd#DC&1-C-U?>K@8&;_q^dBlCwDK`^Os8o)rN>UK2FNly;&}Psz zL1FZ`uj>X-I*|ItZtJL#T`V)R&)Nh909dVQCLX)Q|46f?xmm+N5;FOki6__vVCIB| zI<~o`IHgJXY;wG!r1HRQH0~NbTT>T|6moI0HcRp=2=M|cw-mMJ=fUMt3sAlBsVJR_ zd{|2Vb2O&L>2CdGY1jt-$I6X`h}(!8`I~${|c3*A^OkJs!r3FvDF5 zBmIALeRo`w+19m=V;2}@0Huy1AYG+*6#=EH^se+C>4cJuh2BIup@{SvT4({HNbeXR z^xh$%hY|wc;of)dZ-#q6{|@owJbSOb_S)t7UHd+(I!r$?aX4xiGC|e6@NpOdN`@Kc zwm690+vvi^BX((lc9ty*J}^Y>^yY@~`rLmZfm~VAXr`Cg0Rp@w4fNUSIz$cuElE;3 zXS2sE2Q}e{sB61gp<^6!Fwook;D_u6Nb#yuo+K#`eEqVu8-hs$;P(7SIbjgn;~lZV zU&Dp_)C9UJgPR)hUy0lgT?sbUp8(h9e+o-ObE+SQR)k{8fSz^zV%FerIWt2atTdCz z0A}e7XZQL&J}~5J)r$1LLG{7<_v?I%)z7)a7K{da>eT31BX8vK;y{jcOC|<%TP_3H zX0S5+$r}0dbN`jq@Crp+!n{$32V7nG?w75@Sx>7NRO(H|TfeK0!Y5C`wdql>_~f}FWgDN6Acu*)H@ zZ&r8#QxIYkhLNJ5`{lG8#B65ebS2G=dbLOtRV3%Lxc5KbgVwc}akW=E-5^86qK&MP z&xddVP2fkjt^Sc)gSH#GC_y zsTrXUj4Of}nCIs}m&wncm_l4pPT6Z9@Y+It*Rz6G5bjXu40akCgyL(7`XEuV{sfaf z+;qZg#{sn>YzK@Oq5{x|Bj+6mjrGijspxYf`EnP17#4tP3T9$*&Mjw?a}DRY`d4N@ zg2H9g*CU;$U{cH#*$w(CVoxNxbr6QFSl*qW^HUks>HqZz8b;qzBboYPyS|5@0!1^# zbm(PN+3pFk#2t4ttca81JD))J@5yiJDpMPgn5har%;(wfX?BC@e`2$yL1odcnL4Ftx#sC4QVX4 z7o#S?@Rs5SjogE35A~LIl<`JpW^IqXIo(w$QfSXXCTQLoPN2gb;veH&>=LCvH0gO; zi`!s856-6x*H^6DIJiHcjDz{HKyT;T&k@3gu!{Y$k)!I-vL!ccX5dhQ;B)R4$~%`@!rtGz z^h*ir`+z?X*{dyemoMG9_a*RoeiM&P$kkSI^8{Aa%Ue{yc|I}zad|gs$7d%xL9AQM zxx5&=mDH>YX*NO4QmGyFTUlrO%#NOu+2h|z^?pCilvwTJFaUE$DI2+u`D@6Ym(N@@ zsL6lh()yV#w-LU*H8HGR3H#3bOsLON1|HjW`AQDisB{?Ff`QL5QT9fo;^-;a9yk5o{F`Z7=j(_>CA2mS(uwYmkPU{35m8WhuSOwzbk27T6o?whNz4W6`E?B~yrK39{&(K~1C_FNe=d zh}|wVd4PlY9z$25vJ8=l=#fJKLxZb+gl-v+^{jdQJJN4JQvTq%?|f`(AQNh0QfO&@ zhR3JNl&=q#r^nvF5oYsIZPW>|C-Iqy8jUzcEvu*O*QEX;iZXtfVuMkL|F7PtEx%Mt z^B?6&TvpOJDd~lT`mH?TO03Ux>ZicLpICd-Sh`mA0VxGOpTl{5p{^f>ypfcJcg)+3 zLN}0Tf~?9pRa+gA9Sp3!AVtu)9m4FR1wXH87Y=={zV~y?SfI}|NdaYieJgin0kdsR z_KiLHVOt_3mgAiXURlV}gkMmel}HvVSxfgL2dq< z?PTNx(lNG2mqfGQopRXby>apryKZrLab)t;amJ?tS{fgxwud%ry@Bb!?B^CCO6xx1 zoMMxx?|`m_u7}3>3mHXE!XRz6N$1F+f;1G+UI-TSWb&JQCe zr>P5_vsIv8(uWb@@!{+36H;#$nF70i57u{DBTwMq`%m*HOg4s#*J{YkVf6P|nh7cD zZ$TC{D;NIT*5ig+Pg}W)qsI-Z0>@M5->Cc)mSvE|$97~5uiY&@U8a6L-gErL4nNtb z&vHy+M5RD27U}Xhmi_raB5|-af${7Ze!e%tcTY%zd$hc$U`u;C1|oVA*vdZbS9^XgCsh;$V)a>9+2G|xJ^ztp|NgU_TB z_MWqyc*rtkNhM>m82W-#Yk``;dtKn|nz~o`ha=O{!TK@`-?~uCqxzK#YfR$JVJa6* zs61aqYIX@p#*JSd-a1UU2}H|=jNkPc7yM;BvuhlcyLpPIe--B62$VuPbBsV)4Ka<= z7VsU0i7sxeke8D+Ibbklz+zvp>H=y4m;o=*OvbU@ep+gHbz8H7snktt)C22Jp;Ba9 z5W^>V*rG11=CtwrAW`Yh#)n__{;*<#dA;d_UFGuPA$(5i&V@#fEPIWRl%hQX^Is1*=LYd@*jhU^{lF_)F^kdjOK{zzcFT zRO&W5*Umq+d&u(Cz%yfq_4)?%cn52&zj{9bJXIQ9nrIvQLJ+H zqzYF6SWaGC!1UKOI8-mOy2B2f0ahaS)Izm_TYoM{t`3GkL8dvR^SbW47@Pfp!X@3v z)Uh3Ew4U7-ZjD5!VBQPoA9oEGy+Y4ViyZCu>{~>GF-%@tjF2I6+-U?q9NXROP&Ze| z4<{d8gxw26i)M=W?4=DD?MH;e4gpYf9FM*L=ois!+%ulOg2YUL5Op}VJG#5n4eQnG zRIK4o`Qou9Q;|j-aoww@f^UB!vIq7D*4`})Mvm?NDe50<;GWbJ3@0@&%>JCXCTBnr z_8O{yZHDo~cM!Yq-S5b8Qc|}!L5ZFk4L-Hbs+M!KKHLYBdv7AluUqnTC8}~tzWBj3 z^<%p%Q7Y5~>L%Ac@y-=?+LtUCXq`CSQr3mCiWj3(kgAqt*qFpbY8ySNa6`Q z-atT-Qa2NB62sNd;xINo-I4}@*9AT!_t$JNhW`Ac8#&#%7YXCSDZ>sRy^&I(JLm0VG zxjnHRFD89sNj}WGxxg@Sn7rJL2TA+K=7r^Wwb5CCG=+|M+;*##{ib=Eh}zcDBxo10 zAoW|f$MD9-$KSejYg%R>_V+d5Czq?*3*UyjO0(%pc)VOX4EntS17h&aPG>&uPPO_I zb1!XLWAwtAK;{-O2Q$ju>sI!el2U}dK1=F{+^a^U8gPV4QgikN1E(=p`KBgC-?=G3~c_tv6!?UA>Y(J5ZyoW+E!y8|AYs zkiwt6Ov5T#Otj?^;M<}s730tHL&!Mhu__GJ*>w!fJ%ic<&I?Er%4at5rj45|Cev#Z z_|HO1py#nW%jnSCmJMF(Tb?T-@V&^R@vl{D$Lkz!%6`)PHkeEnf(LA$D+%*QaS`}C z^j9C;q`%B&G2oG^PIn}G zJ2YGr36~xbKP(?(0LAJKr07O)R6sz0vVb?{^xEC5#rQr_B2*rKD`SfkZ|UdBKAuKY z3SqA;`hIvxBqf*DiICa zQbjA|tw~r*zn0s&E~_qwE(j<$)oKG!^2kIh<6&51X2H>NBG+7~>3l5*g;EU9{?1y8 z^)j5Cf)ygH-iNEG;PS#4D?blUU4$PhrFlI!P*js%Gv9^1y{~dEi^az#zIRC)Bnwp1 zduhgTSNbyZuc>L(&eP*ya@FAm+n0lm_c|-+rG7Qu`>8$s%3ajmw4s(T4)K{-j0w;m z9iF{&QCq4R$l*0G1Z8kI1aXlYu0-64WhbsO8kb$&3VDQDw7_u_@<>xud#q5g&A3p{ z10`k6MjoEH>W5lAa?X-x|Cr4D1ZI;0zoNSO4uCb&aZ#w^T6b!p!SPDU@z2<~4a`9( zM54lS+n?i@OO5%UI2?W_&m$#G{jNe*pkvg7lg#5JqPn>klC?Oz$#rYPH8Vb&VQTz7 z15yx6{~6NL{>`Jo&WhQX^6mpRqIP%xW=FKh*mi`gHCx!VJ^0bq!sdA|;Gj7Gl8>1t zTQa;bJ3dfCFJQ>sVV7eO7gUkg)T$R&c1IGMw!_qXP9W3_Z}l>?r|38;_Xk@SOEENT zHSc}yxI&6vrqsqRg~<5!`mv<$i=njI2gc~NcYtp($*?rApKv#Xx@OSWy|7?huINQ{ zlWHr07~5cdcoOdB=XeNZa5oB`90@DwAwp+LrQXyDgkU^pmvo{0)1zTJn7MbyTdask z{$T7pa5_X?LGK1JrHQd&TJe#RDo#n`48J8i`nF->P2x^0 zZ3WHC%^{~56_&6eoyo~KDw)kF@5RPYFkHNs^3rU;7L${c1Mpr~S2uoOgM4~5cj8y$ zUDlFr4rXl|3_L(g9_%N>57~*#uR7^pC--fQW1!nZC%C*1pf7%FCk*+ z3CUQk6?t7kcXjzBl_(xzIZEL;-YaVlX1;A38SEy^m{6t26py;fi*D-|nGTfkIy%_x z4q!b3dErKLmSJN?1-rGrW_tr_A{`_h09JYi^A}=~p4&O*$K;jfMlJGGD<%m0kTXk9 z6N$FqgoyLFwOn<094=LQIHiz$196w{w_+@Kf?)K#Uq*9Lh;ZEGFwDm{-h4dE&SzHK zd15;m-PK+f3r0S@l-5_jF+%4!S{k&w?`yY*HP)8g+`9_L2uW>5c^FTR$+6AG3WWq= z=ZBN7g_=e%l($F_chwH(#A5&aGeAY3yE=&!dEM+N({&I3vEvH3^l%=Zmx*_&$QC)3 zs35OrPrZ{xO_6gd(yq4nw)MNk%YeZKpa)V6&z)mcZ?Gf_k>q0ccNruU_-OD1s-Phr zX}<>JcMZ)wGL$L7gZ`;zC%J`m^ExLEA0!T2B7QeKWltV z9>_M^<6xzwr2_cI|MAyk(B>dDqh7(w1pZpCVBusZ zKftn9A!}Qb1r3?~{BxgXsP-6?l$)^v8%8c0E8q3i4$M>DK8K>-?A=f^`Ok7*)$SwH zSj`FlyX@>1W@cvMA4;3fo_Q3$x@va>|HtOy*JoD{J({Gk5%}XmvM@`c^ZEXL(CVM$ zp_VKQRUk=72A*u`|JQzNQK@qZ69PUIH?CiQY<%s^{fW8R*>$-6Kd}93|4~|Xayajb zI6n@CZqAw?rmoon@qcs3(l4sEI%9+9Z-?wU9xF&&v$V8Sr#^Rv=jNgDKNbLgdy=uW zKUg1AswlD3l||X{ox@|n8o%4lPsuIewl!V>y@B{^?Y5&QmrXTiz}YjW8uH^vF48Or zU3YowtnrHHbljm4YcIAJo{}dhFc#Qgo>dB+=?`MFh zUf|70^6WOId_{8As#}xFTpdKQW&Qmqu%@gi$dfyF?kpbv@?Ymc5LfcZ7C7T1{BCgf zgApWllPUbAd2>^&z{r0rar)3j%|Q5Au_16L53JC(xc1L%?e)tgiG#Z21=C=?Zccok zMDopa;!6H#h4<5;Vg~ox*2uxXEII%yaDSt)$(_~O+M03zcEVQgJD<9tU`1rzFhp(_ zttg?HKC|8j;;?)201R_DT~wltCDwHQ{p+w^+d;|v&w0ACp8@^vKKk@`wH=v)XJ5cn za}Nh&@aKO?a#bXFZ2noIeO13}^RDn;t~R~R2*$;Q0s{iRfX2-@iPK-BI8j*$^%{}q zZwI1{&l34Z69BD7GmP|NF zr2npAs;H_C&h%Up!iC-@(D^~H{l^gFftW5QFMk0%vTs82{}f4eG!9&FFgTNNj*Et& zx^V_L%%QXDJ@j_-I|YxweZ@Ovv0XG^!I!`?+&^vo{we(wWxKFoNm2PqZF!mRmlsl) z^kSaiahG-JcRzz>Vy+{$V2g z!J=5o$lLOxZy8nlzpi=blaI2F-((OOD(4`Qe*Xc0jI*itb3Dc<79K}|NW-{ zP|xs(BfvbF(@xox@ZX|G$!pL_eH8n@zi}xk5!7P-`mLYN#~1$i|J+IEk!i=@KIt1D zGo$^#e+%NsQ6dE~hJ}CUCp{&ba9K+4uSy%X-)*w zvrD&+^U2H^Cx|w2+E_n<5{o_WLez!4XD^OghkU{+>K14;LG@i6rYdF4SUXcz(_FIL zwZ1L%FDopLYa+v)N!knA&$^LiRnK77X@{{>)r8og(2u`u?uMLfTI_(FdN^`c#|=?T z;ax}WEtRiK$n~W^c4T8MHpIpWKj=&b?5|J;?^`}Gz0yYPOll6%r!=f4`MxoCCmSFC zko5ewhx4c@i#dwj^$vYCX;}R5*`XnhXe>%qGc`T^l_xr`JX-4crQ0X}>DAK!aDBOA zrFRH;@a8s3X(nt#v=~+M$;Dt?JI8C>B<0_p5ZuZ+%-ubLE_Hjf@IE!7xa}3Qk@T1X zUx~ow+h(sPubebs&kLRM%sYKP9bH+L092H7O2!ZN9=VZkCEpWPd)_Qj!Ox`O*4O=^ zd5Gg<$52^#Vran7mkx$xZ3D~Q7bru1U%3JS3Yr_`nU&S;gjDh7u6F7K$V7i@#KR2e zgShH!Ft#^=r(A>6a&F;*ftZjVNTdm)Nn1cj9c8s}% zB)U2}YF<$%FdG4(ewBgiwvaKw==`s~L$#WX{f3(_bbb37bKpmX_2bge?%$*ESQxqO zTYp=ycK$WJn-Zzc+e}c7{IQ~V>JM?2`sV21m3{=GvKQ~rf57y)W?Fo|#)io=*vF&u zvnY8cEqCeDJ4~WGhKHY9I&d)M|Y!`&%km`BYfU31kL61 zNwTf6bZ_GZ!PD6IDBskUlw(M0T4iXKxoI^qc88!=&a?iGHEdd(+Cya#y0L)bk(lvI+_o6Z$}E*avl#Zy$SZ#;;;nal21PO zekkMPZ}oK2Xa3v|JAJSnW>jfsuaq?Sy9XHq2dx<&swga>g@aLF2b|p{p^t{dcB{i& znCm(mZkvU1nA%2`wZBgG(HmZNt4fGyh z%YYz~QtsUH#E$(?l2-H9{uTIfuTBHDT>9UgJ3;zI#_3cAQ>k4d_-Vly!(A~bkGX*iqW#UJdVQ4@%+HaKTD_shmu!VH@sfd@fkpEC?!oX`(wf%71wH8&w}`icRxA| z`DRWRn-^Iz|2saZfH%kLCgn9sy4_E6?PDg>>IoNBmt=Cv7S1QDxrZ$I3}zlhI@@dw zD|GR>J8KJf|G=VcR}Ing0Wy3T6~~Dg#k(JQ=GW~(NIHAMg8%l9M->oT$MrYE2j^l5 zus3^vP6hBv)wZN?kJld8GpSwUN}Ax8l;An~*j#WqUV$@r^^=4;gYX=^UQOy6%3N!f z7DrE?OIkl)b)L3NJSYt)(8Ftzid)|}_ZL?O#{|$LtPY&D)UlyNdAg3fGn=zZe0+rf zUglTl$v&Uw`n*X^OY{=_;WN|AHpV{S%`qp@?7qUONg`U_=9H{Xh`9E+Px3;L+~?f! znys93Ahy3(u&IDZMPi5r|&Hr_sdbQM&G^-u6LdoRAQdvMUi@7hwhhL@)jgU|W zfnv#6SopS~?pyQ8WtI5GHZWkayDIJU^7zGO$rE$zC4WG`Q4`Rp`XJ%`#WG5a6u+

><_XJivKk$gT4=Y(GK+25irx(|*1PF1TbJfA7$uQaZZE5t?0q{6lJnNAtg_)6 zv}|-*k5B$d%bfyp-8S>dt_@l+Ec-W$JM--;>UhvR`3guK)N}PI+mmuygf4rMj*^;Z z&%3V@mKc4S`(3LxIjpP9#r*8L;L1hl?5e+j6ItNseX01#5!8X>zYDLTtirHRi%xT>68)5taDQVP^UjjsFi_)1Z;4lA&qd>?3>J;C?Mrk=mB&6ejJ7i26pk zeDa>o`~t=XG`A22HmVGOj8w@paFZ!^l`v&~MB5NyNOL1TMxT8=f5v_y33cwl1}Cld z-GR@w_TfJt))7I)?w198Hr3?{Z^7CcpT^Wttn}2Ro{e}oo8|9;)IX*#Qx|awmcG_T zY^XXIIVQnh2Z$crK|BnOmZ4i1Z|d}g9lcxru{?c;Z#KVvOx$*CbMMZk5Nfp3aNk*s z9@`a^Cw)(Fc)J8d)cwBPHK_T_{4Xq+=*>*|2D@xK`Ufmoj>i)X{g(6!*9HNxBcj(g zH`M(?)!JSi8H`?RxXeBtV8b6MaGS@*(9u=9dykFWYyxRc7mZiZXA?%w^oYsQrB&Wg zX$N6dvx2eQgNYM)ePd%MwgLb_^P!FoLz`a0fm)D~QDP`9B-!MVV@N|+g;*D$MOgNQ zPCm!=&F9_7sEY;_4}!a0p8RXo!91w7{ligB%E8JvbZ4#v_JLb`bNJ=k&N8{JZjk~N zE7o6Ir8;Lr?qE~2g_u7311rok&E|wwzfs7{>_0JOPF;z7O~-z@_Af<%(fkm&6rM)sQBHh=roxd5Frs0YaDOXJ+k?5yokTPibb_KV;3t z#0UN86{l>={nP@SL_FO0rmoR|#VuV`dz{i{3Gm{1WX=i<8t+K!Uvl4leSL)C)n-1^ zc})&IM*h$zWuouq4$5CQCuv2m+I!8OHJw)9Q|9={Q@<*s2wbA*(dmd*I-a)Hy=Yni zirC?71{40(163lCzvtgqq1_%6sd)%Tq{51^@yidq8zP4}40# zO$Gp}AWzjcP~rmu@d560Y3+PMKWwGim`HW)K^b+8&mpl~jXo(<+mgyKxwXuFx}-~% z(>+EceKycE{rGp9g-4H}!Nk3JfvMs2jmTf7jazN$+&`C3ReX>&6_jruGqROdeRWW7 zJ!5554~TI#AGf3B)+dAG@V%3qdI6v|~LyMs>>B5x}4s{UT+8LH|jTvr2Y z!M5XiiXv>O(M?_Y=n@SKLl1ajAGB9uKKoglug6h%XHq|*eM8Au`z==T%%8rXG57EG zS`-KRN*w2ttLzzS4?E}l9iVoPX8%oSq~Iwms^dHJbjeI%oMN46eII#Nf4!j4(wQ^= z4ri}yWu(LFz9KH)#dXYe$Kpe3y|u-6zF-Oy%Z%!|BFP8E8dW(e@Rp4zQGJtwF=UB(u?disj~= zaXG7}b|9B;EG&dSDoVYqtf?YZb)Az^(WB$wOOKViyIQ|Rx>>Bjhhd2B*cY4rV;1z#Cb5(`$4cYZ+f=2?kbR2o8j zja&`m#0`Dx;zi!^GSfxn_`%{Z<0AcbVykITa1@mb$XArs z?y3WZM@xAMYVL?QhmY}vN?9x)azXDN=zw;?{hjryTc%C-1TX!ReK?eZTR`jl&ilb}na_zRNa=$CfM3ip+@+EYYmoSLAJHu=9HBSBL zOP8*2^FX2{#_kxJE+`SV{p1^RC!F>Y#vKi*dkMoL7Dfm|reZfs6^x`v-XMN%=c3@e zS5n~c8laY%h<rb`)q&<8ofwdXv4hvnKAT* zN{=anhnbPK^fsHCVbRW}F3k;2RXeO4Jq^OlIT4T*hS1)m&VjB%z<;OBK4s0}MO_?} zo`2Y%3NVO#?MyT}iAODdU9BhJU~z?(Be^7xb>MEx#p1D5oq)l_HiJZqTt(y(kLK8K z!<5ObBQMuxR*=KI)4vqIXfvvK4hyX;VZ>NyE+mVd-FpPUuA1>gkC8IXc_@Qgds!wENomxs+Arlmt>Z#jbJ<-OKF*;F>WN$0N*X__SDPCIG;Mw#@5f z-!{O0W^K$A-CE1)-i&-adT#@w%O+#Oo0ltzV!J~PQ8x82)c8|CkSP#*MU||JmR9LE zZs#rR*SQN~O0HHsi1%(3Mdd4O6EtVB9L*icW5W=DLz<2JV$Nv!2QO;A^RiLo?yEJX zEQ;QXowFCf7lVL4K-5{=GcRVtWfDg~(8=xNRP`H}st_7ivQf>k$$NO!Z75->^5qT@ zyTz@^<{}1C`is8udGk!=Lqj}6Slhbh!$WO6Fp(WRiwEm{Q3KR7&8_TY!`RYV`Q+QU zu%xxAIn#}MUZlN1tgI&5f!Skh*fF9xP^qKO$Xbt}8oYIh4k#?5jAtLe$(0i%=2}~r z?N2KzkJwmsx47R;5;*Vw5&4pK=+kG*=Bex@$#U;1gm+BlT#R+1>-5_IbVZGtmhaO9 zjPlOa%YcN28JABV6)e|VN5YER)e5|x_aD;i zC*uZVno6DbDrRD;Kge)8iY{c*4^4nIZva3G< z2}v9s58@StCObt&WwlcOegP1_vUn2X$~A=;kf^XX3xm-9*&@L4tMy!&6f_H}eLiGa z78COlYPB`z1{P!5eB>R6T|#T~YM(tGlGZeT=rzKO;0{u2s{`G&i6jfOnpZU3(-omKaozUDHqV_3TY-@7Y;M)b$)cOGB8=EBZJ`5A`$Z5_G||FCzs;smV5$F<{Pepoi%?CTdyNlnBeft6pW#^o1TzmVM{?c)uGAGQy8{N zOlOa5-!N+*P8HX!&R9iuP0nOD`_92GEyt&ZcVMa@wt+luvm%{ zjg355YH%+THz|$CU13zZEPh_6tGbh+TQ8Ev8K zU;1CtH)`U4=5>na=BnPLMX9Qx$^p;hXTg95I>7wfJ}5M@FAd#~I6>4U(={(bPk(j+j2B=fBUd*DD_ zvajtK5wU^Gw5gWk_UaGIwc=fCvs}6|j10!i7gbsXUT~z_6_Xh#{rOwW51;7Arb8R< zVA+ql?)~(Mp|o~s(iC_>+P^41*QU~qOmu51RGGyl{#G&wN<%bt<7Yv6_mmnYM`(-Y z#!X%yJxEmoqVbr`KnBe|s48?+3ph`SO#w9-XiRaC)E3s>W}A!roA-on2jA9Lq@UZ2 zYGRB?jnKCA14utmZVLEYH zv%Lg}qFprR%KW=xwM2$0;g@`^HfnWtZg{~Kh8W{vt9|6JK%(?fcEm5ra5QoQbuz27 zxu7b4^aq(VSA%M+n_tcS^h`?W`~`)3!FHntuU!__@|j*Rje^8nf^Z?%v2De_%y@04 z;uVbSB;t;szQaw8Yx95g+d_Fitvxia%UGjG3|^eP-?QRnj9R;)-X*wibx?R|kx>FN z$wP7NWei2QF0!|qCM#RLaCA20t96C%jG7#z=A<6chGm@*HJC@H zn)t!SwARr^UC-;!Cr6iZq;~v+R%BJ*!T+I6_c|lEa1Ic;!G$+UBcI_0q1w2)fq7@a z41nCw?EHEgDYl-<24#*qCe8knAl7^R7cJkmNP71rLfw*b_g)4N#tOA&zk)5aL~fCt zQK_2h@S7x*e<ftA zl$G=vFkP$8Ag|f4%OL=xbK!>5tI@FqcJ#esOa)yQ#f`LXFEz7zIo%sW$9kkS$kUIz zi1f0-?U8X_`+F)W%i`+HP<4x9bv~p1Yr}43U7(h9LT#N-A;lRVY8=6Fl(3PbsSnuf z;ip_fFVfHNep5=gqm9Y7arZUv1FYDSxpuh4J7BaC~^18NB zwlL)dHGQB(d;rWs+wxD;D=SUc?Q+d>iH+K9iz0y14lch|VdnAZCunnPmdfPkf1TEZNsR6Rh$@l5u}n~F2z6&>3D&62S6*iIUe?0HaOT>cE}&(7HnRg zymWH1Y0;X$UhroaYXQ0tlohqW8sk;j>)7g+662XW1PIU^1$QCg;laSG61NuCn+ZZ* z!=giM*o58$O`ol*ER=11Zu)$bsuvE8E~s_#aSAi|E-V;aY;!cd9P>k%?z+gurQItA zA?14lSKV5JD{ieCFZ_;=hVwp#m3~is;OAf>P7RQ3L2~EgZzX?V1@@(lSAimRK7!In()n5tz5KMIqU!AZY%sRd>T^LAsV146G@%#USNxZ~ zjEc3WAV3N;K+@tOdNo1u1uiFm*?MHj_e33R&9f;Wxpq=ojJ- zALIK+RO|ak!gjZFEO?n8LNoH7++m7Ott_hPU$$mpLe?l7#D(R{p;zn`0q2<80cm$A z0mxjU2+9kU zq%vf5bMO)9dZ}h#z(XsVhuF;5I&e|-YoG#g-)f~5unS31l@=4#q3w8YYV|FYB@acg zUY2Fk^T#3i$>+!|a#iOo%A75;tF6jxM7Xis-CFpHe21QhTOM)=B(+vnyEd+JqT=zN zujkAi2+8u=>A8=@^N1r757>m|Z@B?MNSSfvYi^izl7bS}%$5UF_I%;j0imSk%p_j< zpid?c9w3s(s1&(S_ehKBQ`WrME@<5nB^6#O^5Q^->Ewk_11wLIHyodSHdX84UeP5M zMn2T$}WeiAaPiZ?p*BPCpUmHx?FHtfYgpB~7h?n2SmUMtyIFQ|QptW<@W%TCxH;7ZW0 z21e!Cxj*LbJYO1#!jUfi%HU(1WV$dX#BS+Ov88=A%peLL^%}$pz)&MgW_LiU`jF^e ziWl0P_L5-d?e>*gukNKsB?2;PJ_O2`^5|~)to!4-5`RDnDg{HvDQ1&P(1K|dl|R~9 zN8B&RDG05~=q<$VGlJAD*(J<)iks=ow_jxcso?(E<1^hh3QrI*A+5;UVpiHzw|*DA z-4K?2<-;_l?bvN*zCQ0fx5zF?1%&*Di#WBR#lgW!?LCNrWjg{Pd06(A3aLeR-|%MA z=Fd7%Z8@<3M@K`8*putibmMW(Ey{Ks7?_*(bX@@Tjay?sa^-VNZ7`tNyjfHr3+ZfF znp(gp>dIM}t(8MOET5DFUEl2IjgKQ2F+>k#q`wW2wtq!4HVPmDj z5KikJn2(iNB5UODS#yL$;r-2R(nx>dLEVFWbCX?qz2L0a@RHR7l`7B7@fdXXeuj#l z7KhsCs_5~zPkFoXxz-DsK&(;cEA3#PpI>wHd@4X1Ip?6~Vo>5d(OCB# zyO|5Lwa!J=6>0C=AR`?GsD+vU<%I>XcC8+#Gopl5M6X~&2n&Fu2)rakTl%=}t|vsa z?lpC_a~xh^BCBjYEmYBvUnd%-ZnOz)AkXa z2Lf}OWDU^!KV8)V)-XJiZN!oiWp6M460zk(A8OMt05(2Ldp{t*wwRR2K7VPG_z&rGYyYzj=hq3`8ZdW3%fzm|{uF=PJUv)uwMugZ#%yO~zu3 zJuNR-C-Td}jdq?vA^TU8=OBy5asZv6L-x^lVLDDE%V)altT#Q?ZE;y*8(P1mL}i2| z0+^h+$hI0*`CBHO3qMZ{(iV@O@Kv9>4v@A;{xfYk6Sp0{)d9*<&q{SN?W2P=03A3M zvY#s(@^Y^T8(~!BOF7sp(BS&G66rjfN`H_j`51blj_f%G#tT%SXX7=G`-wYaiP}au za!Kl)1-pKjCe3O<90e_XoBSQ&{^4o^14b^rAaw_J8_Z@t@_PAvQ8|AuFaJHrgHb*i zrR$&B`?-_4FXFfVj`Y zU3gW2aLy#QEyGlkJj6){0o9KESn7{J|B?O< ztm;|xXG4>NEl{>^W2yG?*ikho7wc>4JU_3lMpQj133J220Abq_B-Q<}q-Go>X19j5 z0Y~j*uk09@&`-PyI9bcwj;w$?7zXVFikUne(uUd9)A>arms65fa!OwyCsO7Q2vnDR zHjOo#9oETRh#i8eb#e-o-P!L53>bRta>YWzGZx%^+cb0XxZ9f9e)F$(Ve0)ZR>Ozw z`gzw1^6dBQp&MnRNuKQIX>sUO)NHJ9o2~V-jJ0z_+33Ul-HRcFA3*Ch-vHW%YR#|0 z3(@+BOM`^$E-5-Xx-=onlQ1`B3vS~5(^Dw@72*`sd~z8%6nw^nOqZM!_2+1`8y?*^ zq+F6lW4p{X;8uJ0_>IZ%K)eUtCeNn`0Ri8`1<0vk=BODVJ~s=$ZSy3AG+rwy}?e0O8JAnk>Hfih z7Vsd<$Y2C$Q6bO#u2t5GNJ7^R^i($-#nSQTF84UI(brzj02(*GthyS^? zp9D1ilJxJebCN^8*HrB_GITa!mSm;XjtL4=qJ`g!sl6bj&d(xaPQ!gpySsr)gWLw3 z-qYeyvMp)?biiSCU%N;Gv8^o#bcWnCG!WX)Q3pf)qcP3OUH1|KML@3?2U0FktVuso zVos^VbC9vFCJa1HC_awAceL{MiquBK2ASzLAzPE;yI~tX+PR6 zHcfL)Z|2Wjz%w}YuNBB8PW{YZd?zo_=eDX0wXKK}6yLbf!j&Jhs{;xKGp0dllJ+JC z`Apt!Ah}jzALp)h@#W&NehcY;ny6xO0AvcQa+xKBZ4gqi6Y^ zIj4wwH#ih4?(Q?G$G9-r1&e9kkDy@yXQIH+YvELmYayk7u}kT_KK}%-y?P5I-EG08 zSMn?gH9-c5d)iNdkVda3DVEj(-c$=@t+@x0KPx)Hi#ZO;(%t%Cb6aAdTrd+2l#*H3 z{@t3da9*^2vnE|#>WAr>709-aD@)xU#}EG;BVmBodDD+DTK>o!wJs&oG9d6G;(WTg z13$1MdK1Q)X{zmG*6u3OJT^(aOP=_}qV}yCI&Jq(gRQX$SOq8O7y%i5rpmi9k5AnW zppMYmySw)b2stlK_2T@of{2^mfAi#0v1mBHI#d^UqqePsk#y~hXBKKKN|%R9(@5s7 z+Pz!!w?t$iw*mh*f&j>t(5nTdo9P<@K#DpM*7gTLA^4V|Z^c@WE|MGsN=5hhX-W3; zU3tJWvFu+97zE2IB_neHQAtW$YcX|r)+!+WUR3J+lQclhN-FTy1R3)UAvsN^O}*R% zuo2>`>1=**US5eu_59r$P#m3gbq!0xVZKf;^FfCU#mfbNrU$JReI&nY1lV9$A0&De zGz-{^Z{mdxI0TOsZdWKDSA+hZwjG_&3oD@P1m#^4w@{1eR^I=zQgvUG$p#_uz5edf zcwN|G*gN?v?fP?u*NfS|e?NQT+2?}7X*P)atLz_n5{6(||NG_`;yh9o{4d|0O;NX0 zRcgW zO>k!W{I}w6Muf#q6THX+A!F%BwN3DgX|}6ld`vs9G)b;wO+4g0t6QGxYrQa9Lz5~tR=iO3YTI2H4Oylv*!=Lh|6x&~G0l6J!7c}B=3*J~4#wj$jF^nBYhhCf$idkK9RlM9cFS^-pU*?;TY@Fk)I=gvr&aIoxP^Xuj zA1#I)wer{NHtV#&ocXPgCpkggrg^k;fN(BX9%}V8|ATg6?l@s@`}@b=9)|x*O#B9- zvc{>XoV|VsV)8v*45xcMjUQLpi3Ok(qowfF0%hdRb6K-7R&T9BQX6f>!`en}-KcAN zqAzTp#|o@o)3q(Q+XU}!iT_si++&66rfpZ4F)gVXREjLULWv&{xyuAVT*^OKuG*%9 zls0cz8%XJX^Vc*x_iB8!vy%TGd;b~G)bc!z!?B_wU+LII!LF}sZ?sJvk|m-iOzz++Y^zft%2^Hni?$p~B+Fw*F z(o!p8oi=xVM~Xw)IvZDP#sL|yyXj4`VE98zIB6I*^%?Lfrip-43uJ42!4(aq8#5!C z>}L{1-j#(WMCKH9Kc zEZ5gA4_d*-$dNoCxG!td0=Cn%GX^TL;+5wIM$O3Vv&k#>?F+&b2YO|)ef5g?J{;Ok z4{f=rQtH20VPI7D3JWdiKJ@7APTNT!Aa&DeRrvqSv5k<$GeTT14HM0J8hU%H*=FV^ zEx+XCSd*>+Hp+5U;6pD%YtG8*vfWSU!_F7L`jTC2yq(_Ab_B?A)$Xip918}Po>FmO zvuH!x&fd?;v;y9Z6S3DK7!D+4jKg%xfN1mgxg6m5{0V^ve3v%zdNkzD&V-LdGM9b0 zVcn~cp_E^y;6o*GDHW}5u0UX4^{y<|hd%or z6amx04~eH6bt?ng1-p#Wqq0EFLC%opNg-C-vMHdp0;pz3=0$`-HH2dKgFJ78e~s=Ewe)U|0K*esAFzirnZ9y@X@LXq*PL5dMX zU~CjfI^{{N4rz4*o4D-xP}SD1pRs_%1}itm$fadvpcgW-%PP`RYrpyEE?@=ilakWv zwOee0LX^dB5UhbstYNilYa~Y@Z_i!Xvf{dl^OwhpB`~>X6EupIr?P@wRgUMyjSXRM z0RkBw`n5MaH{@t}+Z661Z+LV1|}5ntXM2YB`d@4>u~xi7|M4?0Hjy%6Uf13O61 z$7MEnZ!0t{X6=lYvqK1Q&;`K59N^BlCU8z+rRTWoN{EA+c|dkGeqzGfd2Gy=IeGX> zJCBIb>Ey~BPfbCicLy}J#m})_C}}@t+3WN0G%b6qDmoPM%rVbeupdb3z00YZO3!`^ zR9YlOcmi=_>smjpPk>>_&i2sQYFXX9uL|bu{n9LLLl?v>Pvrlc3gn$U2Z40jU1-&P zinNfOjmr12`6?-(B2g%LO)G@(4pbp*OFsD_a2POBrH}-@!nUD%XD^(mgvQtP9(HeP z9(+*@n>dkUd@UqBzb)IX##>-Q?$M}|F7nV@k%tLKnSD>xxafTMJczaj*FF}qs*rAY zc#kbGToy3|oU{$&ox-XSVKwfrB;xEW=*38hCz4NQ3loNjR(%_UPbZ6(`5G#$F-6*= z#~TnGKM$?~E0k|HaQ?%3*I`g$;U8X*$upA)qom7#V`y%yzp`H+a4Fo5o6Aj41I0}? ztAayUG*6e%Y!)<`iWnY$UjhPeAVZhHy2He9nrz`tr0iq0LZ>?5ct%+*uP*lj zd1bli@Gg2FAh0|b{ywgNIst42m!EWFPkTc>DfuC~d?9a2{W;j9`NfQ9${KQqpE!2D zF?fFtGV;oMQ#-rwV!o*3V5|8P3U*F3I;O05!RD52Ub$F9+1pZG8MOw~oSb*9^*l^t zVO1}bbzZtpt?1seglB`Rx9+xs9-^`o4CqYlpE`4qgXhZ2_r4F|Qq$A(HchD!*cRSg z?X&gj#mf1EtXVj@1)zd4_7+g`1UTA5Y}G}Cmkrp0;AJCgA7B$)aZn1VdQE4}2n@{m zM4p(Pt}02#{Jb@&{XN}R0jP}xsFzm6#8v>OF%F+rFFPk2;`sJ_c7>N+dz05VLm(Q$ zFo7TH7W?G9*^{8|sdsx=+i>(U*kI7(QK$OE4Pe33Hlv6hqit`QbbvDRQo=wfy9{?I z_k!3^L8xKG$7+e|64gNYP`sVqAh4CruJ~HoE$U_rWyz}NF(-#WNI<=zO38ynT=uLC zcHu{wkOxpUCEMfz_;|N1v&y5o;hIl7E8~HZ2jhBV6ucbMde&;mf;f@}e1%i{vcLwg z+#G*cZf4@L1hDXJ@?|gUc&kUjCNr;`I?KBnc`Pv!*t~=TrHA-fAR~D-_i1;2VT%>J zmool*BDFm7d5(J@V+?Zw@JVFYTogBu`;i(h2e=_MQ&}pJ=8 z=r^^=yOENot(_Cc*itZ3RMmt$0EffWIV>spD)aqq{YFzmce<%uUK?!1%x{%jLS9!X zk$=#)oL6AxVbn$oR|9$>!3515NIzhk+vboe0e_39(hxYb2vOJ?sM0F2kB>Tc9 z#X9GFd#Oya#k9bUA@PMVS4uS@$1Ie(iJnI)Evzl;ptc4|c*Z14$XaV|!|jSm-uWB0 z20>Z&71Q}p)C!&+wLV^lYVsLM=}a70oAFs)%TeQ`Ot6+fs#cOzeFNk!Q0Q}w;Vj0| z>jORXy-hy2=Y%mB#$Su?Df@ccx7|; zePn0{3RQL=zj>F9H0Or!o^cf#ZVO4HO(>&gf#N34>a|9E!5D3E9zU@!AOW~>u9qiQ z&W_ju@v-?4%+#UfYpG6%Y@;K%2qKnAv%v5rI%8YW;xiCm0yrgR$XuBZl_Ju0i z!|Z~sIrrKP!Ydt&q=@r|JbB5JV`D5LKA?{0BEegJW8^KGlU6SRUU!P@Nzd`ok;(j% zA7DereBJO%_wM&DMf;#U;n3BJ(`q7{2KH63Ni%!YWE(MASy}z7OxnJWm-jG|-GyBs z>e9XNQ$!VVK{91zMl8L`eUy@j@Wn@Ts@NwT=k%RrFUUw`HX_=P=x^G@{Ckq3w8NL3 z0S6Fd`D#xDg|vy9pH3OWQRnI5V`WQfnChA5{E#Kn`_`(6&C{VzK~ImC{8MCPLf6eD zVZ?tg{8HMSWkEH{lLQ6i8M>Ys;JY{(%v3QQ)d?u(Am6pDhYT{w`##FrjLTEC>{ zk)_^`uaNEbdf;lexg-ilB?U>B!?8JbT2F3ZeFh+zjFYdJ`<^1-xqPylK%W+Vi zDT)5N#Xpwl!RLIlMu6Ypm#pxv^Z;Q)4R{ul_J7cfxl>|Er*c7g8zfbT<;7_-=u6-r zxF#m{HwUkOD*n2xv(rWJQZ~kW{P}T^o!S2#B(tL{d*#VAr{HP}hchTe*<#V|P60X}!zZc%92HvVq zIS0~j#Tid+?a2+l6ub$b_EYjWX#NR_{yi;JLgV*!E5z^f zObN2v!gJ{!x7{auKs=NI;x4i9`~K3?r}?udgquPyZ$or7&kb$v|7Hp>u;m{Xe6vmT znLSv%)5Qg~m6^jFD9|_kZIHpu{ku4Sv*kL-^M1DrC0;`!{mmSpdC**_1jBE0@H9Wy z;YYzvC-*Ui$cb8dkevmd5cV?oEH!jkE(TI~=)&#)@-#4D1I1cygao|9woCYoC$Z6}=sZ zv{@I&!8&FTAa+WEsf@pvZ`~IAWSbM=E{m1aE;DA3#I{83uU-E2VYgr3Pm)gJgI$Kw z<&um1S3rf0!0Z6{{^~;iG9R1DFM#qnxC2n$WM~OYO9J{gDS5(G-h=DA<9z8{7CuNf zvu|7qAXshSaZOcSVL$%&Xh$O@Kkw2^>hH={Au`9<5q$g^patvmd)3O)O(dllrs4d5*#^7~YakF`=2x7&6B z$i*XCC{W>{KLETq>1LvKW#t)zjKV%Yfo)ky{$~t^KD`SPh+V473KEQv_>;##wk^MT z0s<-JL_~L7-$gR7&4@@38W#RNJ_yt`mq4jMZ?VISFA5FUUylDc3bJk5(>&kcc*2w2 z2@>z&d(9CKs$u-cB!K+XeoD3PjxN@VwgVEEEPxFCdTOq&c2q6y+5>7zZ0z{+qaZxM z>EG|qot%l?C5@QlL&@QY1l8p4>G~w#zrONE@35y7!4H<@+2@A<1n_tByE8pqT9)xU zJy?5ob9pH32SFeImTwR!NRtQ5Zoh+iRw+7(-9rX=52*a__CfmE5>q?4t4s6Ao&!4n zXJSC0yYua_;|V1@Dkz2m)pYDZOehAdo#?jPv6i{QqS8Uo=RK>)wsrxA8)WlLFg)t8-s) zi8{>T0;;L~$1;LI0atNM2_ZXtvnmEe$q{t()E?Bhj&Vt_?=

YE?l+<#Me&)Xky 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 mM!9Rx#|Q3tF{YGf;R?{vaX6#39@Kz8+{8} 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

?5- z=Iq|1T3A-eEbJn%J;HMb1rLTxeNWv7SZnHNEEktz=R9mu0h?_lQsOtW#cp=>k%ok4 zL%;*?_xP1AcOQsx#7a%*J;u$GUdM(2mS=mtY>aS_zt7-|HCkEb#DjDhD=HLG-EH#N zjUpFXeNqA^C-A~_^&LiFrSIJDjX%vmocruOeigO6XIfj^won(mOon{H2m_;XFDZ0S zItP1rYW-Q902CTruyU+rpHXST=kFEZkWwmMi1iWO#B1WWSON8=y$^(CL>mX~Y|#VWy#q#<77Hn2va;DN^S1vrjoZ7B;yY(X{McxZ9foAEV!Te3BSB90_# zcbegRwNuA4u%V&lZ1Tsd@c>o)E^Fi3 zaUMH?g=ZhuprhgSQ3FRR8I4!{hj>QL#Lh_L%0gaK!y!Ov7HOu+-z(;Zhmi?$8q(^N z-a-;t?3?SV_*sr-fTuk;NO7|=aDYA}dK5XWo`TzkJ*5AzYr~%&H>2PsmYNhJc+SY& z3S#lFz~3G#g5l1OHv^MNy`=F_rs@Jj)^UhPJ7L`?{wux8{oefe3C#L4FKT-6?S-9D z*yZ`}5Ab<&<0mMY94szN;v$>S7sKNDFnG3hMg1cV z1M3%>-9a#qF&baoB0V`+F-hgvU++Af1luB0!Jj#J^X4XAlw!%SsN9#?wD^PS6^)fn zX*?V(I5;RYBlhZnQN?T&s}N~6c?qZTeP^+3$tI#2*@@?vSe=35WVVe-M%)Vgc342q z1-_7v!)cux0z-B2GfH>yJ7C>5Uo|or22SDhz-||uBxdeu(RU`z=N`|>!ouL8R z+&3@cAc?(yQ((c^HELg4~5Vkbgxhz=339eozz4N(H(6<}4 zvife%=IN_K_VXe)e(HPfjjX8dxptaaq|y$D2$)PBQ>?X0#ijdwn`YjoJM{TS3T_I6xw}u}Ayh zKBZ*TO@UWsqh4Plp%x8)p$0ICjZ0U zQR?l5yDf6>HJIiON)K@Hgs++z#^3NpnBXy7c{$i_q-X}(CECWTJwIqOL#am3nJ*zW`1D<@b}z?d2woMx$9l{B=jZk! zJ7ArE{swxsbxa~7Xv&A$I1UaboWV&Wny9$vde05{8<{*3wLjwEmRt_wV-fvv8x^TB zs@WBk{LS+{PHOEbL@X)10x~K{r#kf=x6ON zOFeZe)b_aT<=NL~R-K{R1X#$W9kFKS{nXEhW0AlL#`~p0l+TA}?cCLhLYSpmm&*MC z&PyD@$s&`5c#1KZVsyj}#w_PVFyTM2hlryL^5k6qz43EKRYzPD{*Yc`56Pbj7)(E~ zE0nAYmR%Qr0MIpZI~a^Lbl)%Y@j}V&!;w=hwcHvq=MUf({RsJ5*HdN6mmSgwU+S**n9_Cdg! z&r0E<)`trc^ObVYeXEu4jVtU>)`L<>Il9MJS|S?&W4g3J=LO4o4hpzZ!Lo>tV1^R6P8LYUO#i6s-N*RC<#8#x*&HvN=gl+iD=> z^cAb20i@&T#Nw*&#f?`Av{G~qiDitznp;Iej(03cFpSPA-d1f|G9N-a(*J)qCB;##Co8}vz#0JlI%@!hN+dR`R2t}tbM7~uEeB!YxSh0N5IULE{4XDN}|^YSFi3( zr1Q)jaIr|adbXk0;`u@!RGN*IL#bB;d0i)@;Cl}Yx|45)p;0YH?+!gzmxT-{oTi{P z&U5h1!*+)+%rzo2J3hFP%by5eHzMj5$(QnJ(Y)RzzR)9qq%Tl%drKnfak5m>~Te$nU5U@+$|UBJv(60Y%WgX6T7{Z zJ7nN6{>~FxtqBJT{wh7)r?s|&*?=QtYSF>|zVJTvEJ@uZ=R2$dGVV~)N2Id;KFB^-t#co-y2RhA6~?(OK80@0yH-5<)*Y+o*$+L2N zZ%FF{=;69Bd@YW3Ikn0~5N5j{V+}~!T)_*+Tdt>-@b8ggIt8>Hi)m+uu>YP-FQJ&mRghJx~VCy@>n##Vf zXU0*iU>!!?4*p2 z3+eaKlQTw%v`<^`hVddr=k&EukjfD95cxI3JHpR&hgv)DGbROZYzX2EZ~~+uc;Oiv zV{=@XGk~&R@@Rd)X4mY%gO&Mk*`}o29Tk_6plONm(w%*#6GuhKOUDo%DfBPvM>e*l z0lPp|FBNRyQBsay-m3c&4r1JAF!~%mTXBanq#jzRaGgdRTKJ4;kLyg8mR@$@tp-H* z;M)BI98SSCFOys4gYEtIoY;lgh=}i+&Gqf;kvZY>W%$3+7|Z31_aacl$m@S2d-R8b zV>cJ+nUx?N@S*`ZzIK?5E?LE(R*LMBLPB?kagFVNnw>#8cFp zoR507Zd7!q3_mZ4AE-76+uVpU&Pe$nxHzf@IVh{SI9TW|=RY|Y^tDH{bo-{HiW}@2 zf^BP{CV#G&V;rzicV;wwsl=%#J6xiFi30Y_q3^vHZO_7+fT9j!M7<*8Bb>SRujgcu zd&dDbBgCqiU;|Ged7=-XtNqrhNA0!7Sl4>y!N-x|hcEWK6rUm83Rtf2x+W1g){W@~ zjs@6>0sxuvfvtoDbN^3Uo$J*ieJ)MmqZ9n?6=`Jj8j}0M#E(tVOob!Jz8GG)W%Iy`@)II ztVq;l2qTisbCdq3{~?d12a!)Mn( zxISP2Z~wH%NGi)KOxH+r^NvVTzgh}LJ|G9sb-1!JP8UIHd=}ScnidavSqCwh($$4r zuu&MrsbOb{a5IU~pzL+MGE3_4vc%~??LRp34@^r!?dG%Al>BR#tNf}?MR<_uq>j>; zje6KMc*W)Tg%K)Fi zJ(oVKV7bekMrGci_^rrvKuLSqGB>@NKJH;sQXcNjV1x}Ni}6=a?vtVyCNUC>x z%x!B!7z4p+QU1&!1M(=0p32dDK!Zd_@vkXA2&#e+f)$p4_PUdE;^+=IP^I!w?sY3C z7(tL|jx%M@+gWBO{e=G)rdCRx9+ z!(i@p9d4~Vhn-=OY3G@*+b+3lA`})?xK`8)z<7IkgY85*gZXf<5wL)Cgl)8ZAS&2c zW-D?W6#7bsFK^FjNRAzhR1R9u(ucVkwv?3e%Dz%e%c=%378|t&N_O_naze^gW2h|<3UhwKN#v=m=aM-2{jKB_Ov8QhqModN zSw~9J4{G-JE;T!9*g)ue1?orC@nnW`ugmyzgO|Fzitzg8n{*T|MjaJOF%IkX`x5;)EtyxIMTc|AcLo>XGdq!O7m}ZH^Cqw ztQsz+crYPXr@9_*A0K_I9_ga$C&E}mVccCQ&O2VhSYP48l;OlybziC6p}wIEJ7u1A zS9ZLp(!b$*PP1FfB?|La?xfc`)my|=eYBQan`Ae7@jdrTRk^)Qj%kKmX6(7>o zmd`u`#eC8^;UT(V<`){XvvuQL7osuWoOX)cr+Ovt%KZfK7$utzZ`hV=roB^IF#9D+ zR$N4Kshn)YN`n>+Tv!l2ge!Lie#Uv#^{Umf`c>zS`OKL&5m@LEW0l#}hL5zMPXjrA zf2eLYJ^6GhI-?}q8bWP`$%8j^*SY(2<*QW*htFlWroxK!wvd9``dq=~jd}@Zt%-}bR;oAH2jebx`v+Pv%HRb5CvWr(DgXWEd> z--Xy=L`Eu{JZ1#;yl=Rq5;RWj8_U&G4Ya1cwSURi>77AYjcmsvG%VLsYKnS6tdxQ7 z-`P|P`#7Z95Hvj*fGS#SeTXZy?S97V@ok-wk-Mmb2?|Ef0w#NpF)&lp;*3!t7E7cl z+HH@345hcH3ZF=1Fo}9t8=ecBcpC=)T*JiYnD=vh^&-hICKh66sxR3B*!PYgFy|u-}{zwcQ?B*;u3a^&R&;umx((kQZ&pm3O(y*2GfpIe@^_)sFFSzA6}~*S(ku z%i4-a%T5H)QQ#~E63*NAJ7*|Y=v3#(IGI7EHZtRa3%zlu^-tE97q=bW&JrcPMDWvzyOtaiu7cj?d0NC2_gKWD%xBBx zMqEr5^xqnY>4N!3dyEK6&;fF>O=~51qH(A491&9 zXNcs3k~mQ@jCM<>g%>h?2!imoL>=<5(><(F>yh0RtbW^9K8FbI)9f7*6LY#TS9y9p~FS*lbB{{RoR+PVJk&~V7 zd*@Rb9+VSXi>|`DUU#gD)WsAn-*4&pQt2Y4*5TxgdWvU|%j;m{cqf3S^9h5148SB+ z6{mlb&yr+rF9GK;VReNC<6>CTr1d2qfZO(CV}-y%^w-h!5ar2Gfn^pgn3X%Yeer9x zR~<&%Wc0uTVe5Rwp^fD{~GjxdF^0de?p^}4PK z^UflrmKL%2mnzzaDsZJxcH{Z)c7gn)NYNuz7ux1F@P|Tcw*RG*QW4ZN zMX##q_y@RDb(*A$@+)RUUDGFzKf`xKus9bQzWr#?@ZIp`W9(bP9_be4FAs-149)~J zo_TftjND@-Hd`+`63wjGgY7xEDu}i7MWfoHqS7jDzjp~b9vPsHF zw?+Sz-)s9R`)XXqvgQ-|&|2B;*l`G|vpR4%_e}T;AZE)af!z>9b8jgbh)@m)QH%Sa zHV^VlYiD@~Dqq!*u)Z0N-EkZrFp$WeJJ>n67=k%+g|18p+0z%?vOHcRMy@Losi$=f zZ@htxRyZ-q+4g5W$=u5a=1=4$E1Jlh7~f!08PCy!OGw1On`URj_|ja7ue89Sf3boO zl%tpItM8leB>K%8Hvm6`1*Jh){D@Po#5@X^a}Mu=P8pj%q{72$(6touv3b>dz5>2LS}bhl z_XCgdBEwyw99jwqrm{TW&L7>0b9&!hvESA4bU3Rztd-$c@b(_@H6z`=gk^8y$a`o% za1*rQWIA0@LJRW;te|3zBRJrE_?vGa)R|B-a{k*pa$)may)|C>WBY`LEWC|qoAV`b z3fwuD#|~o%)t&I1-t5I#1COQ-NERDDO%}iF05)wt0+%`^T@RSt3xvv;J@e8DDQ;$TSis$+am530hJj^)79Kr8x*vx z_0+`V_=|f>GwY93ZZB{1M0?1co9FTZ(!w_QfNFPI@@muK=E%0h0?fZNzWZd+ z+@!0GDXBj&^67Vs{39YS=n{ZPaU#xTPM6nRF=3I=sH=l1XPtuKC7*R21HDao{d8ciwAb&x&X2n=H; zYs2G$WXa0CW&r(N)I?TOChm|$Jw=nXveB$8yd#J}9_hf9MYN`t>fD;XrQ%#5qc58> zN!tNNS@#37BJe1H<^HX@l@QpM8FN!l$qoak{v>C{#&CBO-CU!+8`1bgAv~V~MA;&3 zeF*dh;u>ST8x7|&q5Zd8ZRrVz?*Tze6KVFr`$djLd-z&pXMB;{j!u}%Md)>IN-Ast zp^&nn#W+$1D)PDt;>(h;zDJ%|#D5*ovr#Nrf9Jwo-RyI5Ahqw6;ZuDKK|U@|6l!&3 zp`Au&gE2|*AC@TN^BnJY#Qf56(m{5kpvo*^dFz0^l^y68V_S>e@z?Abngcv%e)vsL zhwU<&E)$x@U;=mF(q~MGalgWGU=4WgLex8EKq2ZEH3ryn5CR{@Y%`PNv<_9efMA2t z7rZpiW^!`w6M6MMN&HJ{;)J&Bv)kHlTkh$+eVCkhIySNC#@(XtJ!Ikpq~eurN8I4BJUWLQusW+DHM0(;3u_Tl9(BQAOr@6rdb zdnm`|eqzg?Z0vDIOtRe1uU2H0krg{e-?gcFjd`H)4^QkfHGW=5>9Q7rhB__IjVxpz zhxjhvj*1N58_*f=<>rQqlWJYCOsjUTIDJjV&Ra92r5RcHVD;tF_RFhAD803a`3_6o zOL<&q==EFen$Db1uU!|Ob$Zl8N51!lQ!ZJIeGq>c@*<#~yf`&g8a!&1Ka?Giz>iF5 zC7xO5xkKk2&VB;N^=4_M4VPWVE{`YkWsRk-%&VBi*Lz-6A7s{IKUKuFZ!_18OE1F) zbG%!}Vssr)j0q*on}G!W^$Gv*1xq>AGZB{;aicd5l15Oin)wg@pa%N+4&jTiD=9-+L1pNw3C0jwR?T2Of=5kEo#BA znfXQ94ppSu-m*=BIEsIqzVR>8h{MZ4qt0DbG98A~ZQz1o zrjp;MrVd%+v2suM+=hc6q9CU&%g|7Dr7H6uW^Px&>-_k=%~v(3(engc`z*f$-YLh6JC||% zdc<9s)llJGkOF`2{GIcCJn}R4{!^J5TMyO01!f>9#$dqgW#z>avRJ5Js70Ag-X2Fx zhu?B?&{hRgc{{LP*ru_@+o90*VCs-(vnO(RynV=jr1T?Ppk3SZbgWK8 z_d_@z?vjstSx20RxOr56(@|yV5^vD2lPOdYY2(1l=$Tw;KjVlYJMTOkdw3RxG1kjY zNj*Q-+1KwCn`;S*u{?e}pGU@R z)h4a+BF7p+d1Nt{(UYM(@=z}@yO7a9(^SqkzG+d8G`}d(W5jX#a-*^Q>-aOh&7-!P zj)pdeqRI2`JzPZRG6%PA+bwq;>o`KS@4KG1DE$$If_J$SIvi84rH@DoWSS5**c-^Z zy&hKRcw%-llu>o$)lq#VM-0Bw`MrIRJ6ZT5>czTURJjk4G8n3D`_bkx6v_xNkvIG% zDyjU=_M@Aie+OrQ5xSIFI++{vEK3VNppt*DoAwB@MuF5SDS{TSZWP#77PlJx4*6IRIn3_~gJQbbn3THk%2oBc<)F|>PZ&+Yvp zd}t^|7r$tlG0G)vn|1HO!q&g!B1Uq-AGQTaS-~8lqxPpR#`WoMx)VQ}RlN2sfv>#{ z-*<$#Hs{l*q!_BrR|EeT(#K|$Yib|P+3cGgVdBt+RNv9kA~M~plal6_>;h7ZNnMmRLTNMGZ3yvU zdjm!*Gzx5AjctAV4W}<5A>k*yA=B5KZ&U$4gKHa=o=vhWR$p%^%|bjJy}pw#S+sz5 zG>Y9(?H4-ymaMg3NJCYn@P&Jv^88-&e zl5Tm5E3-~6L%vFLhp)%N-s<8909IWR!%K~owpwV|y6IisSUVWz37zp^_RtlltNf#O zET~U@x(BYlbi)w?e&Z2@Wum>C#+XC(bG#xP68>hoUXFazaT#4c(mk6Zsq*3o0R3r* zpPJt^n#)EMdK|z&QmZ*)chdYkigsW10Ekz{?vC8x+xCrUrB5zu1?y9sns}5X#E|5l2 z{h2fxZ+DZ1Lk%M1qk8;$4&&_l=U~1UQS*;RNCml#HiwJ~OdxY(?=E`fd3AQl-bhDL zLf|6iUaoKmotHp-K&>iY^Sd!@|oawNGhTD|L_aoA($@HK_yVA>}JHx#~1_|*Z24*tupq_a- z^@;qR-j68EVR)0)-mUi|u)H!~{vOb$^G*^Z%omUe=_P%0HD_YO5-syI37Vx@*M&IH z?X(NQGH-P9^>P3dYdR*b{Fvqf8}53+@%z|NK}%3f$Wcd3&mHiJM4VQ|{j`yad9`@S7n zR!uuSY~4PlqMgRVBlrwQO2chp!cl#950O~O>pwR&{LS}G{ouIIT>Jd({cp(N{Mr+Z z;b{2BRz7Ns4tb^UkdQM`MzQ@}yZm`UyDe~3eL&vYdX!xcba_*q64<^C@TRAv*+n{@{%_$yf7CS54Ky zy;7faTy9Q=-;TUD_z^*4dgRN>E5PI6<-&aVu4GGqiL_s-UueSOI$_7q|^SHo5?T#w=wI2t!Xs)x`|Wxs*vqRbmy zVtJY4vizMlmj^b5H`R5QOy7(}0BlGph=GL?=X*x#bBq(pD z@+Y}#ZJ1k+`I6ilrH8sDUTyL#)`iD=+WPBqLH`U`!lbLk|-HBI1MkLWt5pgsgl;_U) z8jO(_BRuD+`*p`M{w_eH44p%LMN8U$KL?S-wVe%q@h_`*3=65IpwxaQP3!C3q&XPo zaVE@S+4t{|J9Mvz5tNA&?lG!CA8VvoZ8p#mUo_Bcy%^`hBWfkAphq0a1jMi#uz{+6 ztZMlS<*)R??g+;dO%wU_J5EHGKCBAE1kg0w>>FchXuP4@HPldW&uoTC0jNXwa;-wW zI^XAd()?muL)HADYCQBs80*eLL|%?4Ez>`r2=DlA8Mw2L#S58%u5J{}^0n9sS>a9R2%k za}W*Ip4;a#ya5$}f2_m@;*1oj9~ICxPg2B{(^QJ}sV#Ry>W_nf>St+&?hVjN7)j)j z2+*GI&0>egh~^bmxq3Q*!;IAV%S*C;rQadLnHKQWyO06txy=BKe`(`ca~K-GM(AuG zS&W>cb@CY$IuasV2Te;(yw^EBQ>^EP8bH|(S#JUm$hel)87JZtgOogg#>B8m9bJK2E%h3q|AH<WwpaZTa*ZDNn5tsownuK+-O|D@L4pPBvp zkIaq}2tMH>&q8#tPsXN6@D1-EbD|C5?=m}>j}Qz~k?fBJ41tS_E7kzgF!ap}Cs^y{ zY+gP$1W41npc-Y$(llqin{m#ao6I;w? zQZ^q_+5NeTtSGs08**|iU) z;*y_cQFikx?yJfZg_N`eBkIJ4E#lP>*e!m;(Lk-s(nJ>f{Zr+lgQ1 zDT5u=iH1t9!AJ688s2$~*|b|m6${TbkrxNb-JU#1Pit}{jhv1xQ(e{6P4=HGx2P^H zy$08(pMvQR%bnP!b?|MsHF`Oxb{2aYccsrx7jw9iWC~oe8`lOyyIjD}`4MuV`A}3a z7W(eG2HaegGBXhZXy8KGK2cP}`8S}sM0b&2x}T_kIERKhV)V@%G4;v_?_mKzo)<*d zDPax-{rUXsPVT=w)kBuP+*$w1U?uYm=JFC@^p{O8`mxDR1te4G+$`RbmPa0KEKGx6 zyBt^O?H+oN0CG8vcda+~Bw@65s+!qjO6Q%$-Og&pjp3gpEGuP?5+jpxp9xHz z44}1Zl-E70t*Y`p)leUeVlcPHvxSDr9FdwJ(_(hY#(IB8>WDJX(2~CQdOQWa7Db?< z!C&I~0>v!XzZKstz2-Pjzh?cDj}#m(QtvPtOv1Ge8O zjv5QafcUeuMyxlp$*3N`5#REsV?mAq{pwpXtn@J5jNwm~yJ0QZ3Q?-i4YDP}Avt3a zSGC@c%>4EZpggWEMtP0j5fgG$|7gRxU-BekH&2L%!+6JVxAx!F>uWh;lMoHD3@+{S z5aE8HM%yv{1BTh-&k!VN|vEjhCce}f}y*#1<)Clg3DpE^5G}`skhzow1IFNAU z^ng~yQ{QK(wA((P3|v4h2f7e8zhl-PT?r-nv~RBp8Iwj)svWothw(&m4kMa>e6;tO zBs3^1UCu|$Y`xioLG0UJ<4zF2{ON!^;f;>jrhsR~@_A&GSOm*i~JL3E$#QgJzKJ;|M|;^AidK;Pid zjFug-vX4|~Ywb^Frm-s3TrNZRz)GC>CZIa%UcV)7zbB{J73sM+~NdJ_WE>Jd(mH`{XRH^j-rUFYTtY zEgEcfR9d7Ez7M8)XWd=b@z@|jw%~|C5wgnY+gM3OA%lJCotN1Rsex)z0bh@qC~@fK zfX9@9btgWBsZ-YoarPa^)GMR9^ANDdkn}Vg>xlfLtkd3OKsQV`veJrNIeiCl_IctY zEcWFnsPr;xL*n>s7V^ECbrFKb|8!}*ukUW~&9Tq7_J4T=m_Jyq%T?bme0p&{f0_Da zMMUwKgOq+2Dcs5F>E`wYS0UOqxN(7?JCS}FyY$!vLoJ2p_5=qmDxvXgi~TiT0tVAl zY!$6Y32_%Q@u&lJ!ac1(9fq@iyAaJrSd=^ep=>`40}hG^cQNp3Bhj=SPs zu0G4;uq?Jr!P*=`3~%UwjBD7Q>f?<149-`Yy+=VCs8dLdTPzQ%m`q<~TPq{wbIK%g zj)Ag`Re5Oh#XvT2`aEtwD7+89?2l2h(2)65GTyn2v@QTxW-Ge0)E6_45>MzFA$2rg zE4`c&v?cRn&B_4|Xn5`jN59x7>woIf+6S}E=PG2*P)jtJg52_;vM)|Nx6|Q$Z?D6W z|A8eenUeZfH7?Nhe=lzqyunwb+LoRL zpt(}g&XNDka6h8iNc519hkf*COl&xZSL_iw!1%(HPV}-G+DXdC2{5o~ZwF;JI0m3- zx_lK7pZJ+meMk*2Z_OrUPb-<7Z@f6#P@ZWa*!&okwb$?uz(iS4Rbp96+=CC$P=aSA z&;aP1%F(qxq0(aoIiB*^-^p_*{5O7Zc4my5U)`ZA2i?ztcL9QLUXB8XT+k5{%FzBu z6@*1Boc=aHp<5xP!!7$+bt&{6%+kWbMoe`OJ-}oY#p40=4^>r_l1D280+biu72KGY%!}NkT^+@q&xnY8Rmx`n z1#*^Ukh(Dp9m3W99{c)v_o~8K&R3&CFmXu8hXii;{Hkn=m3QfF*ObuB>rd6GEF?{MDP^lk>Ve#E%-+Ao|GLfucsgcQ z;CQon#)*p#HodKmLCOPkbYH#~mEuABph@8I`}pr3ujL6KBSbmAdp&pPM>3Y*1um#5 zP7ytii<@7%M)m}1Ko9!}&=h2LS9PPAu>HM3gr#EnV3`USFf>fCjg$V(5t{7sNi zC?JbUxtkc{&JE-nwkxM+x~&eZ8rVd#AU=gh*9z-Uux6S@lT;No_j8+==UH#-$?D+h zr@}CbWwVR?)PxH08R)d$>C9jgw<|3nF(q%={jdWFr-4`R$>t{88st~v7bb)@NGmCG zvQH_G4d}k-J2~D=gA=mU5GL1hT{?j%-%yV!GHADCVPRa>=37CSkE=L(HC3b2KTlJt~Ui{V|BXX_li zuL1WKxQtNBn~_pC|C&k<6C&kh_~N%Su7s&`xJTfe)yL*>;xj~PWs;H0!F%G-A(z(67rb=%@R+24f zWa`o%EDwsc4)w8uA(1jmJ<@@fHQ`lN-)RF@f)Qk~Jfk=?i|Etcd}m6Z^X!%WxA;)k zSs=dikge^YlsIC5tXUqdxmEF%fzE^NAfJ4a>KIi!%qq95EkW|ahV;iBF+BXifJvm) zSv9X2L4%tVpTbSu3gwEGduou?uVUY)s%)v`J7V-ysZZfAa;MqWB)P6X)k($#2K@qg zoV$>>P!;s@sMW*e89R{_DGDyf)Rk^ETL}%$W%T_Zdy$fT5yQ`nNTV;>)sTClSKNKHi9`&fgn1MG71+pv+{GXyn}@3u1Fius9jEbB5Wq#N-_pyS zF}Z{{ZmaB=wmFaOsWQsOQoN}A!`|D%paE1c$8)cpQkc>{SjX(dE}U5bjTnxh!gqn! z06Q1`%R3joeRqP77T&FzRKR0u-)A()2+sc)Iii)^V?nP+c-ODVC0%|9q-pISLVd!Q zxHm03TP)m1B3Hlq)y7mc%=&qYZL?_6SUeEYz!A;Hn~UN@(G+jxfSn=>{(M!Ni*rU2 z_tlA%?jdO0k-sK zrVYi#JTSO$q4Wy~tC#QGap3x4c`UM0=`Q7ZvH_{rsKT+$)V~5GB(b_iva2j22`|T{ znBIXIR)mFu{zk#X2R&7Uv5eWkMWk3-@n|BjnSqYN&Iq4j8$$RvJ-@5Fljp{Jqass1 zd5h`&>0Ca=gU)Z>ag*DQcsDbh&zTqpYmmR%yC7JxY0RGl;$27=Xu#?Y{nXutp(~*Ff#ygNqbGg#-F9L^@@cD0+qy|^$@YB~ za;wv%@A)iwR$rZ18N;E`|QsRG86`1uY zbr351vQ_h=W`LaJ7*8|oAHYqG_ufaEu}gxl)Q=W7Y>7sO>64vEbSU>C5UJ|ZJmcsk zAh++aZ+3I>n^c}196+cmFb6ed`Ww9#pDMe=NPl}r!M{>A2HaGp;7FNO&H+RaGC+_1 zQsnpvm7DU{flMk$*Y!`d7bZLcy!ca%0y!WGBDvJ~{0R*6SB5O?Z|((P&OL-~Pjj5T z2&DkJZ}KITNL($0=ddlK+?Z`=19*x+OXiB-m*T1Y)&2_gfOs7YVC}-_%=l28=owxa z&7C$D?_^oKYuu=MS5R)W!WByFL#w{Ehm|@+=n1137xCws0y5H*Ah`_3?f$zgfCO_3 zuQ9SW%r8q)xiadrl}13{t6!xJ7%oEi>~gH5<_P<3?6Fa#tfbuAt-@^{El^yyye#UHO30J~FsYPWVCRGUjU`c@d& z?SsGoZtsjVZEEwp`Ocp{DI^f6+(`<(8+(J&4$uI9izcyX#>8 z1G3zcI4|`#M%|9_gMn|aYs85f8_DRR^N`{SY#yN1C2O$-SWLW3-o5weQ#5ZEm%Fur z>Pt;v^2>zK_{K`<5zYZE(2|&a1->5^1V*N|9L=H%c zjqteT-eqn*I|pe3JpCcY>Vj|#Cv$s~Tg!*E^`%}1($pmU0vw<6=jV**K!531^O@bH zr^z>W&e$tOPFU?1$Xq!PT=xIlC~X@49%c*;BoPvThc@TOkcEM~!^@QLc+*25v<$%D z5+p1;X5;{GpZgr`yJ&>k0*697-a8a~skbBfi+ZizlG2J$*H*ll2b!P81zo@J1c5Jxz{NP(Z zYj6zp0Olu-QJu_!th`6?W#L8~^E>tcr8hF>_uhtFwxmjPQ5Ynj>w){cSVFs_R8i_3 z#$~)~rb3D37*gX+3{|JVA8B+IqPJS~3rC=b>$OyyQ^ivs0hq#FV zVxCpTh(CNege{uOxD;|!=*PE%SpXWrv&#;I&a5RZhaa_i(xkz5!M^CqMZ>&)04JX- z1L!%QkHO-#!F&QbcyubNeX^5FH}R_1a0UkPP9wJ&Oko_9k7afIbj3&NpKb()WM* z3ZW7uAeyTS_SrW;U7)Nj^#k+p(?JZyRF0JH1O^Sh-Ydca7DAQ_ie5G&1IJK%`QNhx z`QFs^TEKtf7|>PWDfsbVQ9f&T8~};px8dJZOA~M$9AMg{$n;(EQ@LYJ)hLzwnx76M zqwSvO|Z0vI--I9dM9J_II2Krh?yL9KfGDjNC{^s72=o?u%iKleM! zg>jQ;w3)8`;DJ?-p_D)Y_SEGk#C%D<=zGQ0znf6Uw{EMrEpGScIpaCX;c+Qmf3CHkzKtJ zng)9IOtW$)gOoXU-Gx1rp-c3OPp8Yi8h%E211FH%t$zSu_$M+I5a~$Sjq~fRq^@MB z>lA7Hxah>2KW=V1f`(M=sqx31r~z9lXaSzAkRo&@z!(D>Q}x=ZQhWL3Ku1}^{L)7- zr{QZZwj>xX_q&gc8TGET$N18xijuE_FSY{D587XAN(3O%aAjHtFL5fuhEG0gnc^41dy_;``1|uN0AMzvh9zy9=y$NhjY zkOHGCQUmV?gaPgBt2SyzlSSRwbGc$>>i6O{0@XD@Oe9zbk=o1iH= zdpQo70ZsM%{r28H!UYU7TIas0BVT$~hfwLcfgUAsRewY-W=ogr5KpeM7X`UIU5^|= z6*^-60;drJ*^y@q<%4Ec4Nw5gCjwHQzM%*GJJyVLW`|7h727hb?@(QUv5;I`H?hfn^^&g11li_oRM0 zAY+{z~6K9mNUV)8+TIj69&^$`*wwVw_% zOo*bcbBHhb(8k)klR+w^&!1fEFFK_%-Wp-5Vk=(}U^+@lh9%v)8&E5L#lfL4*@!O( z0NV1%e86;58gM_A0U2^%nEbsSQMMt*H%Wk0>#Hw%M-Ovb2i88j#uJE!9#dqwv}QpC z2ugQrOZ77nas+itd+T(Rxsy84cm`~N`4t!VCM2j~;zZJ-o#O4$eniq$FB35L0K&Gk~$t zydSu_5r3l+i%N2JfX8k%5Q5p)VEWS#@cc0((ek1;Dd6M*0q>411CeXYJ*-)XQ^wh# z0j?5Eb}-jb5naOxN7?ATDT@(Y`zFZIfeA>ubZfeF6N)gZSOT0?VQ8-Fqai@iLZH~m z42x{~qYbTR!vTtm-!T>|g63eSfS1B$9mb<87!Rw&fi}x-J zO(vjh3@#fL>fa_8gLaLX(d&Gx^v{wi0eW)~8p|xQ9?UcCju0INCTG(f0HkFOb5Bp; zP13yrCFU|CJZ|8kjqie)CeY(LclGiO1@NV(2C;zQOITgb!uD6xX$?UyS}Q^QBOb_z0aGSDP*E~)01rlh3SD@E;~y6ita(CIrHp=aCC z+9r``6!^EfTq_Dl{QP@GnWaMQqVLy9z>;XLZu?cUL3VBEw$tv_8o-mFz;&Z|CJ9VL z?7oGvz`>v#mLS$XJE~{T(QI>^OV62Zx&D3VP7fd4a8+4zE>Sw$_YB)f>O02J2sZ>2 zVP=Du^mHlkl>Js*M&X;t)bgii8mv}Y`GazbEg8VH4c=ZhC}9T#$mhfFFOpAB4VH9+ z@x)VuU3nI{R=_u3Ut-XsyByN6=h@Stqd^bGN~~1BW$3SrBy9lCP7AsSS_Bb{rNlma z>};sPA4e|>B5uh z{(7ctXK}~kj8XI6`7wErkDIQHYc(oUz7;j~5;8Vm@XTtiA84wMy=7n~G)#{Iyug{m zLsTI1n~~W-vgc}lpnYImZP;2;Uag6=ZlAHJR}G|-3~7LHHGOn>SW>dikJp6mbwgHA z!Xoo?d}W^<x z!!|W@A1()F(m$isU~Ux()YijpTTYru(!w(+z|%n~9v+>Zdz|o3!S+~^*<5K1aE%rJ zpnwt7ocH4NL;;8*cf--C;X%LBovTec3SS>VFu0jV@}(ZRz6K5>RsXJKpFUVsRmCE` zQ-$(C99r)+pVKqk@N^kkiAp$_KNGpRT|A#+{VzO~=YRhOux4Y?fjQ2Q$=clO$6kMqi0eDEa`jC!VG z3_T@hfu!5aw+9sI0hr!9CLP%9%(Y`s_ouqt?;G#qe?ySCe4h!apv zsXcK(0649`?rzuf!_={aTR-l}y89QdMzaRk&*D>{_WcR}`Mt3jzI+R~7yo;} zkZ(E?zm|QY-759^kpP&S{pA5~1QTT=QRY9Fvbf7t&z;tFB6#2U?{Y`4KXr0{dEm!u zkXR22+x?&`J~*4!Jq7tcAB_^)&iXzuw7Vh`FpvuV_lV9krxX6~Cy7>1X9J9PKL-AO z(Ekx12{*1^1JqP;f@!xt@Job5b|VA=6#8p`N}Py3g3$V(oH2fP;c>3}8qJ)q{TiWR z6>7@XAOF42^|xZ+t%65*9U?tr=e8s8OOQf-S@)yAcDqg&Cab6~eun#~Rrbo>AMca| z7rB4z`{Vs{+fFXwV_Ntx`*JkkylO1!!OwsbcXQ|bnM&T{zl3`!aZIcs?B`CG?+)hSL+v`wFA~;tAv8MmOt++MP>^3I$=HXZ3h{Yo z_F0?aoRNp%`CnqFd#d62&(&P{u`AlTUPE|dnW!_*!Mchejm{@7JO?^-oL|4HE2l`f zFc>uE-AZ?>BYsI^_iq0@2Dk3&ZKZS@m;RSFk2t@l&7)WCFET8fd}su_2_>2Jj%a7_ zXgjEq6k5gPlz-VFi0bLr5PE&>A7e9XgY2>~*r`FyUt$zdMDF~x!VCR((FDVLl&$d& zQ(rG*Ox*?rDL$Uk+SomWpv3e;=;CdgjCa-OS3i^C#b1Y^?LSk{Z1<#So@;#eR~3q+ z>rC6+W4$Jgxidcpq1zWz-6a0TtMK}W3eV22uB2$#kI5;`kE9D2SNPP#ZF)f#YK6jd z{MLJ_(PPH{CkR45($KD-x3Sw*N1ErEEV=zFIu(ltO}Y}(3#PEdQQ4Q1K&YW)6sm2&YHv=mueY5wJC?6z`V|LNXk8CZ!e zYSVIYEG4F7d;#BO7O2FE5m*Cw|0Ry*jWyY`hXbh2Ka>2N~>R&mSQo|G*tF8ZxntUQ|mUbv8cdGy;j2e zE8EaXO1J2!!i2)9#Z*}y2wpYsbz0C_9zpN90GS>69*2hOtL zJAIreA4EqL$5nVq zR??O(z6!ot($62b*+sL&MIPb{rhPq2<`W2c@m5=9*OL1l>VJ;xBI}LGmg}2iay)Sf zv}H>IJ}wMo%LDBHE-Rd$(7mv+Q(fy*of`X|xfO>z*3#;;?uu1S>QDj8)sMS;dMo{B z9$YxQd)1jsr+b}z111Vn_Zs^IoLwu8z&VA3M5>S5+#K&?Huy08Qv9GPP|Rvi7tlHnMUK*ZkawJN!uX~+4)v?>Dl(^SCv*e|N7Ra>T7o&{CiA#PgC&UO`$gDv9+#Oo^_rClC|T!bk;iASu+LY_Hirm{`}(| zc(lDes0R-!e(4S#_>tf2DPymE=$?TPT0pPV5}_M&dQB>lzz82A(`JP*0=QvWfafz6 zV6`G^W8kY^P<(pJl>W$qyl$yg`?E;~o#E3wHdYhTecFd%(Nf=#FU-bHvVj#96{Yl9 zN4UO|ik&;Mwq&p(rIR5=18eqItFY(bnC{>rCXfC-5BsZG>rS!!^0H+U&ZhZ56~d{1 zt3<`h4aw#I_0h!Y<&RWhgKC>&R*f@hx8}bv@R7Z)8P`UHiOOWXw;O+_NyC)ru^{Ju z$xev7Yr=emf4_N{U%S4HggfO{t3u_H``cA?iBQXX>UQ%= zU-tTwSMFq-HKBcdS9@Z4v#-@9F2O4c6H7Ou9$qhBKEtE%d^VNRj6*KZh79iv^>{dg?|9kBF$9E5J$fX(E#o9BHi)-=FtTen9 z&S`n(eZmXwV<`U9K67JdzaL!T+xpk5%FyxAjM$t41^*-S!FnWn+>Oc#DVsa^x5@MY zo0ruff)^vjpjXsrUq!P?R1Vd2MgX^LD;{e;t#3Xkx$cry zhK_Hex4!p%=a2E{ADlU7@3o%wtY@vgjuT;ggyM15zK0j7gR85igi~er$2`kH=RM{p z$`%2;^2&K(Y(25zS7<0W8E&}_(Et4uc5@{9|2)OlJHG();-`uol>OV%%~OO;A!$2J zv2JBND|WDZUsT**RRU9WeU=H*+RrN@%}Wvl`Sv@zQVZRt-dv3paT+F zY*t^IDlTSL?P>BAYEbuQk?3N0zO(bPiP$HxgPn4m6H1&<%Tw!}0@1YPfBN&tU&Q23 z@rs!VQ4t=Yc`nmMA^W2XAS}BUO2BBJd2zy4P19FhG+Ou``HX_Rt2>OOxl7*q|&si)Jmt2 zDSVyxMD<5QPe#w}cddzNur6@kCyE{Oqbl{|~?Fx4!8$$z}z1$zz2k zj;(+AO?`E&!$|@#^h2&&Ek9Vs| zSf4RTa=qAE4T+6$>t>R5f}>%@r*11;^=A=3fZg8B7x;`wE%NzQfrp~~h!xC=(dqKi z)|LMojiUeJdarKrjJ03i2oI2jpyPxp`0hWVJ9XmJf&uUu*4CpG_xCZ$e#VMo5VFv@ zIDXcHRV`z_vT665mrqD6Mk&s&XQUCP$;f$J?!4&NT~>egU{biEKA1HHZ1aAG3B%8O zs+&v&_cZp-UyEG8>d;|H1r`@jnneb?m)Oz0tL8XW{MTE+Eb zeRU0?-;5yD$Ka@^-8&G!KR7=xD@8^ZKX?u9&fUdTXl+rquO;TIxPwEB(^7qGis*^a z)aM`H&de^jtgYlqxZ1lk8M;oS3@Tkj`5mZ@MAs)9yw!=mU41QsRW)sLf-42CZ%(}) z-`cife7aV#-aq~Q*PXq*__rmF=J?)rQojL?&w@Z9x`IFhGeJV>sCfCFzg_a9cQ&coi)L2ERL0BE_o|61^%KQd zqmU-_hpo_Zr#6M97xhsxMFC(v?~na8>Koknw8r0COcV&~ljpWSW)rHa&s-6FCnn=! zqr3_gH*Kf25_%#H9)Gbr0dx{)zOYxRiJ|b?+~u_E2aDWt$K3qwR_((Y$3o?mNGZsA z;&(w?V)C_0ifg#X8IVt{l1|?vhTb3FSgtrIpAe8kPYIl+4|Ta(7o>a zb!BiHio%OkcI*r(W~D;R7N#IHACPM+QAq>~kdVTi`l_@+j8`}jYw+(l>&K&C=3=3t z^So69J>8ZL(7mNAshG{ycg-=xD>~$JHtp2!28M?A$z#u#{v7H;OvTi?>#l5xlr$@o z++et|QgPGT36PgK=U%f2F}T?Tpp4RpR9&Qb?*8iwA(^EeetJKiUmalq-YHtlVZ2HJ zI@I%`cQc=U3t3d|R7lLubWQ}DyE2eTk}dP@T=2Q{+bk?i{wrhU{lW0ImHxe6_}D}e zj^2AXaDvdiuuByp)l{xPeuFDK8CV|hToXF;2r+=P&z0GskD`#i^>4ZvjX2!O_TOOC z>2@A!!-YyBgc6d^<_#gkt}!`TC^E5<`EK}O{6dCynkHie#|>F`3a+&jx??Pr=r~fP zlVP|&wUv}tdIlycrE#s=*HuF;j)esS1yzfKXeoe zv^A);8T^!jEjYgN#c3`OeGQp79I)BI8feT93w zBv81pA|HA)wO^~{O{GELZKxwjFnUU*TfhN$DRr1F&B6z3z8 zzX#YWMk~K)9xOH9wz6s>{P=C0XFVO%`oaO>q^!+!uVm z{40YP28xf!iMTI7vF7k?e1;U@E?nkJ`fk461#R+vl0sFF9wC@$8*3BaUSY<9?FSpU zy*5x=mZ9JomJ5os#@>bKw2C6(ntPsdC%)n&W7@!J=jnB9i>2?Ss)o+u@zzcw zzCK!eQi$qLpcxck2bPjWxCBzj%9YtV}`JZW$=QSqFg+-;EQ< zZkl!katDoB9l3RU&d(jtM8{leH-DPtn_V}}cMMFqQ{*UGw*Q=ZgzMEFzN>1mC3vTE zz}ZDr(tzMC z)iejgUb{SW^dva?19lKO=v%T!_&1Gw|Eu?o(rf3*A{-;OUaWOGu#kZ^w z`?DAslI8Z?q~3*)n4aC=nqkjQN&*V3G}p%~-G6+o(@SMGvG|%Yo-YN7lRvo+h-^&# zX@)96;8}kq3LW|J?PX5X(=M_NsIbuYUB&{63n6hjqcmDVE)J3*H?mHN9XOS8l01sm z6XhtnS^NebxjndKmACj^j0tYR6MMw{2a_JqhA7RQgb4HhCKEUR%AvO}?(u~GvRA7+LBPkrSo&pAdM$mQ{61Q%A?JlD zC?7Y^1dSs=f^|+>!wRaFj;^@?&j0a3DoYhbxL%aT5=H#(v}x-nAs-@BC%WkMmPbye z(lX-dg$<6_206*2!W~T3<%mvsrBXB$A|4aLBkU#4>@b&Ry$zs}h@-q-O!50k+K2I( z$}N{39f*9UWHIuw8qkxs-`Gu!!4>iz2Tk4MA!fJg(A;G(o+{78N5uI~{z*>yt(eMW z=jpq1dY(UaR{Lh>>NKfW5pOH6thR&}-n1rUmG1RQj>OdJn0qgcXPxVGk$JlEw5WmF z_W2`yEuZv^t4ue-NIbnruN**YE{&#Pfq8Ib_X$W06%Q}P+R4{vAVw{}8=(c|L}x0S zIbOB^J-0*!NVnNWfBc_2<}uRc4V!xX zrH#dYA|m2qoiDeP`EfpGGdnR^5_X&{8*XqSKQeU!nX$JZkuqYbfPrKC?%``n-$xpy zM!qG}{)nqwKod#Z(b)k&U9lku<4ddidE zv0Bu=%n|OfVSv*JzC=PVIoM*Bt~J|Db`Lgfau-8Xsd);E4Y#|xE0CtSwQJhtyC)3fCiISG?5vB#?|7r(%O&hljqNOHs}p(E!atg>a;Higj47tJ zn)JEZ@lUnZIq=JRR8b?NEAIq5%dF&Oymi=M`c&_GbU=(2SE#YZQ^?9^Kc?2c782f8 z20tl$v!6NJiuhw5$s0JqY(%!97g%r_aD+oK8|gJQAt`JJdm$Zj9=#WIPzx;1)9dEN zzY8-No+5+e<@0sufAg7)Ut|}P8l~MB9hPx?b3VH-QT z*mzP%%fEu;Y~y@}&5dB9#vtxezJW;=JH)m3*%C|A(l=WJ8-i|AFvCd9$K)ICorL@5 z%l9Q%hINq3Jrh#-Gi4>q;Kef_Z*Ol0Ll+kOG9K&cC-Itx*1}SIbF@hUB~P~8nxp&o#N+Upt@B%S*1Ihx$>Rk>=7{If#bH>fK3r!Om^6$J))od!UB4AMC))&b7y?Uz?O- zkG}X<{>d@r7#g?Jujy%Yb8bg_WNNLmww|?CI|v|0llxDm78s zzw3h}@6}0I$+inKWHgJ6hGL8(5NqvrfoCh2m(>P`nn%}TY#FKyqpql#I3JkA=9kW| zFBWiqYh$4zrC;PoD(W#)EWTMSgpp;c5iotV&(4)hcPDQthlci~D_B58%FYe%O=P_> z19>)TS5hj)s>R7Gp;4P@?iB7-ZyCP`Xrm_T%PsXIvk<`iHGD{s$x3k&5^j@})r=zT zRdR8h@malBD3|S>?C-F?%ae@UdQLYtB6Cy^Lc9EhscP4t{aJPG&Pb}sft`}!ujf>w zGDEgj`x;l?q8B6XwCQ!@+|@hi9B71SB_kxW7xx@ndMMmYw z&NIGFQ@IV3sTmh!hc9E>O8~ExwPYI9xkBB~vvTh0$#$gD0f&)_<2k|O)mHR*{Vh`( zJ?5mks=R7CrsqFh*{Njr(!b+b-v6_Y@?Bo)Q$Syc8OQ~Oz{$YsqnJ@F<_c;L0k*Bg zH^(PRyGf%zy8J2EhJinKoy{~wkKbocWh<91JEyB2S}-N)xKJ~loox(4&AtL7W=4tp!GVXqi&zLz1IZ+} zD08Z~j>zhfB%&z}eYo&>?G|r{+czAD9iAm=mC;;FKpFeO`5~FsPL-=)>uR;?is%xn zXbB|aCYGl2{n7MG>5`O7xZzgG1ncb}GYV01#$oMQy&zamk>53eW8c?X4;l7`p2u7` z2qP5Z-fXqsg)@u+F}a@!dAM|jOY+=%I1Zt${w$D0RfHxZYA&2%HB&;s!5Do`b(ryr z<*Q7Zga+SXd;E*!NIz^ zJm_5DF!(30diYndxaK;cIAuFa!hER>_RKE~zKgZ~y;pyOgfp3Lu8_3K`4*cH(bjZx zr}@*vpIh~H9H^jrKC4s6Y?r#n#1)j+!lM{9&BF(y|epyOEf3u2upxod=d3e?2*tR)SjQOiQAWigO3EwMTfTd*vl)NwDu(uU2| zr*iXWHpDqHBPio;uAW>ur8%Oim2Ck>C3}d^@MhG#knoPlS`@6xr4?VQhdOB{No*T9 zHP)4f0+3sku{H`pv1DUNdu55nQ`Uw5ua>s<>%{oI$;(xzE;Rkh$DA}eM&3eCNCRAW zLDCZmsa|2edGqF<;ES30W^vHVz&~5-SOUl11Ve(`Z|ncQc4^a#-JZcW z`Hu3j5=+qU>)PJ9W@jR20;_WB6P!1p+Dh#E3;VKt6iiFr>`9>9xh0zoUd(U)g9#E< z)cD0kKFNuKUH7Jdz(a%I5066Q{5IXyDSmju5;h2^-%^4H3=aqsLHTzuRIYtqDP12a zl^+=y(brCYJfm)<#$khhXX@$Y#kQ>@UCejQ^;}2y=I!PZ8AVMw1r6JV|Qq~AQ& zoV^V)+AAGoG|gu#V(i@9=0|4nkl>JsEsFef$1y1N)4A+E9sMtLBzrSK6C!$?LJ(cw z1ckDa`Nq4Gkadf&!5Cz>$;{#of_+U|yS%eo*0IzK>gB)hU~Bl9`EeN)QXoy0%~P_* zRoCYrZ6RPDRa>7aRZ}n*jMyK#?xSC9BSO^QDNLa*rRpo&yM#7O0($dfgNT6!q{Dv% zwVyKTb9+9aFB`gRLnH5q^F0ie>GsAb8Ewf80zuEaXLfW@qKkBI*WJs6HWvRWNg{K= zx1biSpR_)mrTDnj7rW8XNN|^%?fJ6Z)-9`=Gr|Z-{Kyp>eZ{u0K0H=!=+Xyfs?3or zc2&s;!v_M{YTP-PC;mCwjls%USV-|bc;3{>gBQ7TI{FDaQC{ucW_e=w4Rbn|{xFgu zh0HwEc@K86D&cHOOf#1C?o$py57zU`x#B|3o;}nu+TmC;S@Vcn zJBP2;vMa1{uN(bvF~IH1HQ`?8`V^1+3K?!Y-Q@8H=GhTdf-#!#qHFX=ySWFt6|x>q zMFm_Oh{rg^JI6bS%=(_B(J`;|5IxOUQ@q2(b=&t$lUucdGV;EL^fB=0*lXE!G|L@X zh}!zr+2+y5G3h9C1V3en>0LFr#8i*jHkO!efS^KqR$5)#m?mzro0c6NDuCnmlKS{O zf^9cWP4U$>>3P(H>PPmY8cic#=%zZl!NHZsbzZwv|GY^1%*|hYJu9{>EL_}MI$nO3 zt4E!L>8U#O5$LWqWUNhDZ+_{EHvrZM7j(bFrd3gI8C3v*zrpqXAbf?wI;Xn3ovTcv zt`s8)Gpp~#^eRx}Tjt-iW-gPE%E<-VRq3p}D2o4b-K`a)wRu$AO zU}!$Pq%tuHOJZR_S58?J79yk;U49_ajawReu|`Ctgc@9C;_tKbB%5jz`A0Wu0?$Jp zNVuRb8%f&ZFI=2x8aoh542_F}lsEg#wU@Na3nE5%7^`|!z?QjbP$kpbyLdb-7|s&& z(AxD_`A|OQJx*hu0s$ zeDu6w=H^nbdII4?gk44DUZJw>ac%%=b8pOv-^IBxL^*5I^fKt+_>YYLmHgMV)53}Z zeZvIp>hYbpWqGO7b+pVYf+nBrEgm$N|Bz=$%Z%)@s*_P#yOSy~~AT{$Af;>N6+#%m8jiXm>cXi(s z6>jT#Oz^CiW*3aR??pEj*$w)#w$K5B`03WGQT71R7NN1lL5JF!7WJ+~7)}L?4WVhM zY(q%o3JC7MEH`^(mpj4-g&%t-)2Suc9qxu#J)L<~c+-O@6ak@{daOaFYxZ#x07@r@-V?KG=o#&UuAn0wRQr#YN) zJVW8}^Uu1zHWY7M!((gw(q)aD@{vz{cyK0PhV>ZMCi!XLS4 zl&8Ajb(}IoCToR!ph;I<62!?wTf?4)ed_wovWqy#gO$9GeQY3aG2eN{i2pgyD}Fa}Qh{HGEw1>)}D)*$1@gS^Lj3EfLWPU zQu~9swaj&^jbKn@`l6-JVNi3uVm|Qh-6z%K2IYPSG!yb>S_6%PZ7qo4rInOcTT3nFCdRKl!= zW78dVL_OYiaaiv0z5`{Yo$hv0-w^OdyuUs#e&xYl!~2JYK_V~HPd=7uNlM6VZ>@S~ zlZ4~ff|*te+$`Uq)+qb{UL zQi7UXdlO`#4#C5a_lXxXjn0;yeDxHx`YgptZsU5o@J-KCYWlRv$4IGt^0e}y%s{sW)-Dq+~Mz?sWP!ZFN= ze^8f~aL+h91)hC-l$85}qN_CF0~Wb2rpi572Ae0?YwCuNj0`qQuNU{VC=_rHRiraN z9td~@YastaNP{MDv%cRK%^exu({oAa4q3!X;~xgp!vpDKZwYi3FN^{2<4D=ORBo*r_<# z8{>(qvI4N}$E#{0Toh&JSfy0wZJyS7$zef zVP`ijQRQWR0dWgumopMoUzZ~;GWcZ}MveTqZ&b$_>h5J2|a|oi5tModEr(icGc}7vdW130OC*~>!M)cw#jTd{gZvj ztqs}^`d5IO^cCDIEA;Fk^S^oGw_l8RyU=yH(%RoROJVttd*{S{c~BLgOB`HG8s1pd zrxueF^om=7;3Nq(N<9)BtE{t`aXUry_V#7pJ;K;rk?}GYO~^b$&{1xOt80Hc|Felb zMJZMq=oYP_7qqxl;A?I%{cISP0d>Ytk|;ymR}ILSDR;`nI+syNy*?XCQwJO2|G2rJ zQX62TvZu1UzaMzp%9=PRpFKe5&s_iLx6y{X{@0sHhO`#iW_8h=q4%~mC!(Wi3m&wW zqtko)i}ZZ>ZX)f(*!QhX+scJVQ?l;c&ypA)9x9|=X09D-r$SRd9D=2ytW0j~@+c#* z%jHmRS5*6)PC6LemRdlj51aJyU>{wB>k%wX)c6=HHaMa9g4F9_qI`rb*H3 z4xC0iB#TPlpN`|{LocE=)Sm-l?{yH*?z!BYpT^eifI7_HGk$YiysboI&p#^^Cmb-Z z*>oW+r>m@y!l_1eGM{AVw1uFF?^g-s7uMMP8Wp)>ysR~lv@9Vmk~`q5-Ey49zzrW3 zi+^#7GP+(3BRJD>L7=un-sdEB66WC^@IeD8Fvgv(vxo0E%n z?6U@Z?{Ew7VBX2yqV$WS4HpBL2bf|IVaqO+1<9|+!y+c;nrLVJy++%qT3(_ON~48s zc{Us)EwqvBSXFzsA_l!=-~E4CNNJp~=l+ZJOxORdh$4r#&ZX2@e(iINvtGfkW9I#@E)=fYgI&N_Btm zCOmi&#k(9<<{!*4dENF(oWQK*%}%kNien`*G&NYeNX-_Trnqr!yTI)rT3L$e6sev(23wAU0MMz0`&KEjF~NNP70FfOzE%BJR2l}($>qAPor>h0@#SGtQ~}TQ)#ydldE@{WCi2i1rn&07 z?dv>$ndZ2+<5J%f;VhNK@+Rr0^(NgY<&p?pn|dMY`e34RV|8^^Q#}&q$B3`P-(qKW z(Vv7l(Tw>IMS~RizqY&bYYymF#w=gUiRvIptFoyG@+h}yqdGjnV1i-2nUpfSXTbP$ zC|7H^^w1a2&B{J0h$t-uLhZ7F58rcZM4nHlBI1R)`JKcYLMK~`T0bEIaN_}{cz0%e zqpj=3i)7!lD4FW<#5TZH$ZHdED(+rhRqEo9E7YYu`U-)9M!Vas(tF=0%J_eBmLf;T zhm<4@2}>KMJ_6i}08!F^H{H8Fl$5(2<**)lL;R>|_nvJVSp5m_PXM24dX9lGtcpfF9#78hm7)DCXZ)9v)rBxqE*8UO-nOanMw-UZw*Q z352v2o1?y+R)IjPBbmIUWHq= zjvnZP6}K(7x?s0h%{Th7x<`E8As<2)8bbPW{NU7GoF@m=m(;@3&Q!kt`S-b52p8dl zxb1wF8~;xyH_$e#sS$fOFx5Tu(UXPnV-QUAq~>D~tqMyr%L>a|el$h*}t*keX-rNc)Q5!K}&C(PomXOf*$o zJZo|OR~^~jV_O9Q0)=a_b;u7;V?|=;s<72|iF@f|T=-@DqznUB<`_};=42N^!7V9C ziWshS6&byM25!i0B+LdCZ3-#l>NeSyU99@RY3Q$Ob29%1Hu_-ps4U4EJ+^W8GRpRy z|M}~F7FR($gk1LxxcoQsKJyp#PPI7TJ?KZbW3gjxh8%;wLkp0yE@bQI;~lbbtfi#2 z+#z(f$Ez9MHAdcXI`r@sBubsNZyt*b5PgDrfUN)4<~5si=~L}c$AB--0A*_)Imp6m z4uK?t7x+4}rpO?=kS4d>71kdSrLA=!ek-5-zv^!W*EJwB%*G#xD+NXW|WG z&a_OW?0I}$@{>d88?qel%H&ioZdQT4kL7X0-_KgKWVDk%;J>5d(_7RhQRX=JsT9Xs zlQiK;xx4A5J)dG^&&5}r9+^r)pkAAD*u5(_n4swVIVqXA?-~?3>`s^3I@(pYy0{mK z>l{+Ex98aywXJe+v-n)DBWwI_k$W9wwEzgb!SRQ*pnBA5?aS7?W&J~{iS z&LvRXZha<&-v09CAI>h1C(CR^UxKi)wyx?ce+gtO1it^3!3X|4_B3sUN~^GK^n)*4 zSSQXq#*E?XYHcH7=;gtgl&Tb-8I=sg7k&MN#nG%peDF^U-w8(KT8POE^lUxNhJ|fw zage3-cfJyUyc7VY-|pSZ)zS%JsLomb##OtbnRbC)NJue;w^|Q7m%@$4tDmrh!8$F) zTt>eqrh*w9{AHeQPe12eZMI^gEBO#{2XljG90b0ajh{)-HgO_eRCE%${HgISV@Y}3 z`{^_A1+QSf@$X~L1(gq6v(*46-U2FEyYWz%zw1ms2c(wQS?vB-<(1K%56XUaF*^d^ zbgis8k=_pMawQczn$%;;p%H3qON$n)Ff5QLx5wuVB?@sGLc{_xaoZ#dapfu4*klU} zcNaTrc_pr@&nzzcel}Ck*!FGCu7`UwR12Bbegdw}eH5Xg!|!^F?0!@%*5$nXA0e^w z*V(;kE9rM)DA<5n^9m*mjKE!oueeDZAncwwyiEUOaej|qGCyfs`g8`Z+k-`{Q@?&@ zILl)ow_;kPV^iA?%S&Ag@`=4xm`_m=cJ_%RHo1vA3y#@#v`6Ec+_T{sX=xGrb?x0Y z3VM_rx$y5Uwg%aaw)6cd-9uViJDUPVIzk*H&fF2`#PMqsg-8C6dRpf`3)l7AGA)k|tAyps8_n;|dgOjN_7Z-4|3dc|Gxp^mCTXX>W?y4@WHwPwmvuxh5^>&8q?Virxnd8 z^WH+%T~|qqF@R6X=50mue-%B&4zW^UzYfL#nw_zxkY$&mzH>73iwB#-cQLDIKvBrQ zXzuB90K}2w{U)5YC^PqH7$?p#$$1_+!z|g5ANoZ7;Kpi>7Sr_DpawG!XLtnGUaANx z(_$boWk))cxBmIaDW@g`7(}_j3eG=@yTVbr>A)PM5$WqX?{5ntR_{Uj#+RAV5x<{3 z)R^o7!PPyl|ly782co3ZjuLi2P&i@Uo`{M5}Y|@^*MpI z=NQ5+eD5J*jh*afYJ&9+kr>IOtnuW_2Ky-l#4#;ZJ+G-Tc*{TV$vHdB>yA}=96MQh z&b5k>k;2Sj$y_8Fa7|87e2R#q_3TrKsA zH61l)m-lQ{FUYOuv!_d|R$lZY+xtKkI6Yc7*ALQCIyT9u0wW$^Evk|mpfDgU^RBJ7 zM|ra`xUVf`dp~UIU3k_G)Wp?Twzxw>#R9~m*dmdg=q1)AK)7xfaj!IJsm|h zrc;nf2M1W!WO&PRLTuM$U{#W-v`q7b_c@N7ziJ#oYqp$>2YZ5YtL5_6AKO4vnQg_o z^nHu70I9UI-x+Wog#!E?IO1sQpU3Q$Jp5kcV_=vF|~u;8Ew(%6bY6%g)mk) zwrWz3MY5(k_Ph*~@}n2YIJzgJ*r)22T@6WO$CmrvYR+VL0e5#yNUc31Ty($nN+_EC z>k%;ALclSKKCX+K6`ZRJ49Xt9 z>$&M=S?gs%=X@V*8Cs*$7%gkiM?CB6`+k))+w;=ALblf)Z_By}i~&?(AkB$}!2qDo zmt7XMGl3oZ*5S2xCxOxzi$MWtuz9|oz4~38idwvJ?quce=a%Qj6W^bzGl<5GRh|M* z?oiBmR!9sM1_T3$2;Od?w@Vi;Xj(Lvq5DIg`sm?sWV6`@*R9 zrMiptOCfm-qK26h?v(bu3(MKUZJK($1jsY7)_@9bI?j{t+gZoOxFLegp2Rg89gOT? zFwxKP238$S&JgObhB$Iuy9vZ9IS*a)ta8D1qdL!FX!~5> zz!IBrGEk@H6|Z}HHDgFv%P>uTn-pZ=)CWVypXjIO|A{>|zog_;tx|^IkPyRRBBC;9 z9oz6s&7?FPZ|7}bCT+D%94!8X$emeZ-(UhEg%!N4nJ0(t9kJFLy}o`P)VNHs0bY^g zrLupHuzK9@v4O_B@`t%}T3^*B7JgG?X#R1w{yc?E9F*8bA~ZyGU6QeAdHSQGf6H0p zN8y+3^6bwClk`>`(xNnG&E~!sPz!$f%}(TOzeYgUyx`ih3!$AWS?vub>gP$&9^-60<2`EDZZ?k39KNRXoS#KNK`LB@ zV?S*?ood}Fg6f}jpPRkp1~|rU|9ij5{JAfl_s|$0MFKPbJtMl?X&;vu;5Q&>5MYRD2u+afu$`QHhLG2L_ke+5W#D4mua+9VuoBD(^lIvH9UDpo1Ik z`FuXO4M6^;oS1VJ*UOw{Yv&eiLQ^BcB&IW@hGso~ZnUBNn|&oTm+o9o6sS6Q*`}aQM znYn*=BI#XtfxqSGZILyKNqFw{TFOwwqt05p`BN+G7?-J`+F#Q*avVb!u$JVrwZ|H-5dWme=XNHHvZHev9@e) zxB6NC00i}wbzki}T0oqVv=WM4tM2!mQanu8Iyl<87n3A-@zwz=@Zu5pH;pIKZ*RbT zrJMJy=QJ4=gn2p;x?CW^&tjBq`1H(Bci1ZOhr{DiF^OLHQ_+XeyqKEj`zQbrmM0;h znX#i+<>{y_cE@7|U>a-9)|TXgh`al3u4&Vd92(d z%3@EM`6@pIL5`j6!k8{t(w%A;Nvi)R(`{{}UxoWDZLguKPeC83QxOprIdlYUx7k>h z%F)fTseuhiyMEs^GsnKua;-VB^WlD^u=+sm>v4^u*gmcb0bBNOY;HJ-?g%qW7Iujb z{c~?{kuIgt?S8u;Bi!Jg>q_bCPC0ES5KZztRijS@4J9epSNlrYc6Nz>ij1n)p3UwA ztLS*+UY$bFhAPk!&Vzc_$&ZZ`>RH29&FaHsO5$ynnj{7lZ)VU>qCa?zAt)lm+i53w zq)}iJ3Ipee-TT(3WtTgeoJ>2r z<&!(#{IH;AEhFIq8#jc2!nJ-8qruR~AGB>NsJ?5ztBMUdus#0cLGQ#!0vEcU>g2Qcaykar^n^a zxWxfQ4~H|EP(E1BYpmX2L_<@JcqF52?^h|nisu$HTHiGKz6Wom_%Q{f?e4zp%F_zu z6v4L5sjR4J$$T7(<=_+d#aoo%EO?S3w`hv%xWjWLQ-PD51-c`n!t=EefAZ$Hc}xQ`75Z}wVLL;)NUyAWQa;%L-tcEdD|lgASilQ_ z==~wRadjZk%8*kMLY=(_lki}??d`kV>IVU{xJF6un%EZ zB&A%daT@gJxl%ZP9G0b+xoecEb~wI?03vesJk+sF1O!F*>}rR~SST?lYH*3<4&$53 zIh~(Bxz8iO&aAE!_o0Dv+VfPcHBIc_rhhTu}1> zuFL)Nu+EFw)hYBv8&6lwQJ|9DK;hw?ElvM)!#QO9I^_x1@e`X((8SfLmCr@al870+ zMka0TEOvD0jWcP)AhPWQVaSP!yYidpluX=GxA?k~EgbY$gs3ww>U{9Yfz}w|vIUCb zR#$^Ugwlmq`_yoAUHQA~w`GfPB9rKzxrRNqRDZVxm$KM|1M9eR@|;-RtsRZAS(`{R|=$#ySWj7Lnf0oYA(@)#67f88M;Q5{dU*U^T)miv1&jM zn4@jCHa-7_Q@ozG7gJFDe%9|}bccGI3BVXP^g>#AB!tPD--euUw<_9J>3G}MsQPH^ z#}3(UATMu(ez=xy3l+FInPft9iub>HJEA*#GEG6QKeGJN9SfA1AfY<>O38xa&WYt^=SD}&&#i(j=w`O>FpI0SOMyr@aDLf$%gw2zN1~!bTE^fAU4j# z3QA5GimNBfJ+tVHSae~uPB~Tw{`$MFZEjJ=~3{B zk&o#X6+I}qSdl=j?k!9MNFCW2<>~wRUZJ1A@KVzBr=(oiLP7InpAQS~1&YM6kP^V>m@>elK!in9x_M*@OpcD`Gfr zZ7QpvF@c+$el-9#SBEK zJNEl_E-c&Bx}A|8Tp0UzS1r1LjCInHkhUghblkH_?crfv11|0+zbo+IpJ)1YX&bMx zipomx8p7pea>WVVof+R!EnP!~lUY!7sklE8l@|3OCEb~~f} z^n`E6`mbqdK;t$D0%HWgE?`v&f;I2s@QK8G;ge1$P%D}BO_!^uC+SX|M$70SQ)HjXUNAh@wD&w$gimU z`^Xv|Fe|W3IxoH@4&X)yd)06*`gHi*(LFE9q1f|v9m%ssivK>wV~tJU`2VJ|r_bT` z&SVBoH&%C}FJ=HE0Xu=d=$ukkE)nyDOo1XT4-b!__73RK;I_eo22*?cqbwjiIdEY8EmP()eqk}A zvM_~D`udo#aQr_Da4Lj(2>gFy<>@scjjCfi<5kY7lVv0o!#*CmpMUmVgVv<)J&^sx z|+alE&}QS}yQ{ z5CP`v0^1SugiUp5csZziRVLfrb!WZ%B&}7By`l{x^k1A5Xp*MF|u z%AK$c>EdzvS8G1K{z3hIdu7O3KNI>taB>QdRkymf= zFd58holYY7dlB5aOToMUe%|5VUoU;?=fSM?xP;)c%;S`rdiy=iDR8JE4uS^6%!Fi| z^}jcRNZf|a&{X~Xw?F@VdGy@J+yy={TVYWK^hQvyNn}3^o^LsT!FNCT#*6)!S)4BW ze`I}UK$BV1_PVaq z06(ShWDt!>BV zBXG9#N4XadEzxO4y@?%9fFKNy?gXrd$gxUMB7g>P%vQEaI~)Gr zKfAQUMQ-h1O>3;5`WWau^v%NxX?uq-Z%)>(Oim{M@-O}^Kw^FVLCDhKPyxqUhP=rJ z71^YW-)NU#a~#%k9j7z7&1V|^@unCuY5G&Y4dN8&poN;+v^@KxH)Lh1JNRI;>IYY` z{j!x`HZ7lbs)t&6Y_>^#1%g1%t_>#9uWr3$!+DX(Esk3#l~~&xe^ znVTmkueYqZ7thUu)PeZr7*K0=Wmi{hH4S2Y2gzh|T280Wrv|Av9N z%@pqBKLNBP8o+hVC$4X^5bRU(^<6EV7wKDGsgEOkdCA(wdY*;@o3AOO9{(}Nb2vxT zJ?HtF0PauNm*mQpV(Mq#Jvn@{v&)Tb-9$P=T#`Hx_Me?*Yn&RebB6g%nc#z9! z^bX5$TIR0pbo|@=`z8k$g@iNcA0Uw5ZG5z4n`s~Nk4F;k(T@lCBal>vXJ^+M36ShS z2z>b!8LT7}15clpeT&9Am@CnN-lXF8qV&8iI1&w7L&ExL`H1~o$7e9aw7Rw0zmSIa zUr?W2x%LP&U}T~PP-7rz?k{pXAu<6nPz-V$7#rwq@^AnmiuUQ5KQ`}*!c=RNC2}Dm zCNu>yN@JA4@ikV3Zwkr+V!Z*t>bPw?Vw)x0+4>1evLo;&DNjgvY;D#@zw%^iYK6;$ zWZd&L8~#(MHG-AT2E5Hy8KoEh@4Vn|5BzHm(ntJ#`|~9hd1a&mx3ANh)X6-h)E^5A zrXZN!K()?RGS(C$80WxfCpi5E2hEJxXK%MCuX;Qs$ZU1pnwOJVebD#D^N7`kt%{5H zJx}1hbH$2tpuX{rS>BOvLS-#-NeKsNCl+a*hcC!p*}1B zgKgRSJU}i zgI-s>>c?01>zK#_OR@H)+I&dfs46(tMJznn@rl?fx zIZ}bzUIuhRt>6;mV`six1Gx#R?lhn1AeLAf(_33OHHLq$rBEp9_CgOIJG>D` z`V#d-V(DK!)%}Mdd;l#D-#VIN(0CEk?N0PT$PT z4C;okf4M;AB$Xy7x5W|isikj@W~bC!Cqtmb$=lKDO?=Q)ffJzx^pONya$kk0(Wx&o zJPpsXQ_EevpcUeEM00n`7?n5=xuJIxNM=mAu8GhqE?@p#X|4y}bk35}?C9&rHeCMK z*bLSh@9+{I#ses-_$aaF=}M)Os*_7R!C%(%w1TMGxP|hUVS9zo3{WgYw}{Z)^lCAA zW9i+8lKeXx1O;C4M;(8h7E_+Cuktc#u}j}fxy0H|q4>!Znc%dmdnT+3Ej;en>o5Td z;WCX;QRoUABc@lUT^np2JevRCee+LTN?vLC-}se(R%L8H`0U~xdv?;S<9b)JeI+w+ z4x(3tp8+6+Cwu8BJ#^;N3vhMC1SFNr&_>)hLP!Q}N`mK&eP{ZPJxls}6;dI^a9Y!s z9T^GNp@mW`A_d#J=V*LyVegEVQQi!4vjhHNJT~BSF;j8rNtLw08_wtH~Y`OwI%55W8Wb z9Y-~;Yj0|rY8h!&a`TEfjXWL+gdDPOY#yy4Y74<1+^?8Z4z#2wZxL$a0U78&mhx{;^FuDRYm(4%jU-o9~yBLM67X4jas8l1az!8sCNZ#Jg%e1%&t zxrPbu*G-NPC2pzOK!FDjbk)j2(t_siJ6OaR{1%ndw(E7JV+@nH5A=` z?@Mtx7bEDj$c5{^b~YgrMON`}jT%(fp;oV8GF7f$5oYpV>scABJbHY*_kTkdSxbH3 zKc$)wDeH;y{xMX!A@^fpu>r}8E4Aiclh9e8yExrAq2ka-W1_leziq6~egBS43ves| ztY9InBNI=KBLEs^E)3K}MkO*+2;U!wqG@{gQPy9S71&V7K8wH zmE8fEpfTUkSL3bHJnOLOa`dduFGqOT57lMMRRqO1DLz#X_T3?ZQ67t4!4v@AsAS&d z+yH{VH`{E$$&Gpvc<|Vx*`3T4q|Y&t1Gte=-9ahUm3i;O;>^2TfC^ z_R5l8%r$5TkUe89!_SkmHULlo$w)c8SAFm*Fup_NM@9hzPy3PzG&Y-T;c^domqG6A z7^D=p;S~!@b3;>x*UFS!wWk;RET=#@3e7hWq21xn!KNC8mqA>Slr#V`@Z~D8Nz@{Z zcA)8lVm)9xWDeM+>fTP<9AApH+bnh-@(GY)7M35YaoZ@eoNLcJoJ)jY=eVm|8BfZe z_nFG|^JadytUOh%XJJzNcaxrlO9G z+i@+qp?Hi@hdm#Hz!qX8>{3d>*=rHFx=|`tJVisty-THEXWwnHtyh_sDk@ zQ>6muzFYLalr=5d`xM0J{~V^|caBYWk?G)HGap1E+87;M(F%{pRhk@IXLugmSiU>| zsV?)8R>W-;rIuBRk+S)MqHZTDGiRh_-2=52k(^{*YAOtfYZ%7(He&auS^L_7jPLHd zi$y3X)I9IM3oUg3JNl07`E$>{DdPHC4YO!ovJWC=VEzc192Icd(c)vP?v^65MPAuU zXlIE-GD1Y3UY?8G3duA8ClDVo9xizYSbjhYLF5NQpox3i_HDW`0Px zMC!WtFXx|=7(hfty_}eEIHdZQLstc1;zC-6M6sXla4hH?0ruAW?)PnLyOAfp!4eIh zh_oZ!a8Y*+=eKRUz80*wfoD+UyyHO&>X?*(w{04ZD-zWk0G&`~!*=qM{N|yy;*t~o zonaE0vMa#V?l$weXgc0@g!ka=V_qDMF*v$f75-T5xOJDykq2_8`E&?Li6=(7~af7M-TJbp8ObSyjb z2?^S>aSFC4giduQW|0idHQX)VG=}^6`-8yw(0KWgv9!jBTUJqZpeE6Nh3)~ik_`sa z^PF{9d+&4)aMV+sv!8~v$ZxrKu*V(E))`vvN;V-A;Ng)PU*kedRmU^DPSg4`a~p@c zHM!jao`4LaY)egG|N0L?l}7=|jx;6V-&Xx%YHpqQ<}9Hg4~MDme$)pgKIGDHq!JLQt+$U#YJ6S!*I&x>mmpHfXlav-papq+jIBoRl0m5S zi&&o7FP3g|m!7ge9u}+i{odW+zNEb7(%IH#1BGq7`OnF( zLE$XaN{uSD9_|xVjsdMV`B`xYe@O*xCr7R45suUi%iAE-G3=PEtr7l^^Xlc8pU)(8 z&U#y?b+zXD7wD0-amnBW;Ucy0Tv!_W20;K5NB0gmttS6+I_i-1SEr21l-p+MaCtMT zLjC>9uw;O0cHA~NW3O^-^Q6v;h=^6Lm9DjqUZ<@0Is|BjSnOp2;w`g)n)z}SOfCot zQ+*WtwKqf@IvJAF*t$Moc|JIvF2pRbI-O;52o?4Y(x8*WPX*bNZueJ3R#yD=5{SVr z9nG1Jrl2T-*)c`A8$&;$)mo!Lqstv$$+geR*IA7SdOri$rXGJS&GM!Z@O-%(X_Tdu5Czb1? zGbVS6aROp(H(OgY#gwAF@!#%4Mh?Rem=eQp(9;&HX7OeES|&KmF=XzH zUj@@6B&|SGQE?=(RcW>paoIi5{3TQ>@KX`cXJB$IK^i|kY%FM|`0Ak14Vvn;vVFs+ zPPD4KyxYfdS+%!eHOnswG4X`ko^0y!?w}JI`kkw{T}faw3FkV}i-yvi$|b6SDW2M< z)t}Z+6RBPjVqPDJHqf0jpp;LO4g5`7Z8%Jh^mEJ}ntT7$K*KX_=g!5pR`pa?c4ui| zT^>5rvx(fmEk%*e&v~@SFE44Z3Ua&|2L^|h0s|T5gBokLz}W;Qgp5RA2V@i0(K4K! zSucfMg%%bftJ$!YT_G+l-c4k3&?^PwCc{WwQ13W$`8rf`6&N4#mscGxl!+xMyz3Mq zv@m!5pxb8&8~gO3O@P`LJ<_2aZoC7I1%HSx8{Sf!D=%|-xY4M4%M?t&Y zS|uvb(5O0c{dTqsT^f9P$%4H~rm5-U0TlyOSHQNKE#z98loOgN(Bj2(C*sBt!=~8T zLRS0f?0X#Mdht!*tFdE}!+#9UE3pJdGirOQxxSb725^8@T3r4ksM$~5Nt`TD2@Wnr zPpbq~+rFiVpHM3zO*^?D@Po$b@h;+G?88x=i4R#i^+(echN5d(za~%*mJZJd0Un;` zeji`s4GyTA;u@NDLWWQxZ8fB^KwsdV!AKaQ!CNtm-_Ko!u`+z(Ljip^nAEENlcZgB zP+*7dgkAdH?xp-^+s)0c8hq6~7VaRds2uMgl_V}$%#92)U`XT-wCWspSLoK`kBK2D zRN@5-YsK*lP@KGSK6|@2@B(HoM8~-I4@HD?_hk5dc!on?$H92YeL?K(B~JAxyY~=} z(gg=kuqpVv1a_5bc}mnTAV)?{g|U~-|7ip|K=Ri{jl2CN{Q!Y$gR)Qu@qAw{v!pH& zlF=)xtAKKd9E054hI!&q7pqvVF@G%@EDumheJCPJ@N0BlH$KDGyc-qgI}(NuOAv25 zKN#+%Ix%==_y=d1M)lR(GA9j87pKwr_~$g;sfxL8wECJ^6GoIkJv*c@Vd8s+eQvW3 zNOA%=qYMR35SaODLzLn4>kslO`07dd2Qlhlht3D+{cnr|3sQVqrJVIV%t{VcCahfs zIWaPlzX#|<_Ilm^2mZ zZH14GpyBLoUl=?CVP&C>z&zCKgU-jF(UtB!EN8sjdOxTv_3KD<=n`l^BC2)A=?iO5 z%P@U&?bbSweH&nPjwP=`mNp}>y6nZ}o`wX5E?<0t%&p~e*LVtK-`>4!8TKe|%*DK7 zNFg!4PJIZh704l0?xM?b+->gNdbV-4*1j-Htgi zLx0I{i-$XMezq{xJ2w6^p8r1>j`hEQ8pLB3!czv~wJ|I;W-lf)w{$Vzz^pi>=00X7 zvedwxnz6noEo*W(l*fEXEWp~w@f8%3^) z%(2flkhBSN3VejRXjQ2DBrAFLb+2iDpn~KfB9};=Kc&Tkgiya_exJ2%FK9}h-EE72kVrfs>wJyZ??s!HIIjSM++My(@WtfdM2&2|g}MF%+w-sixH%P@@_(;1V7Y zdO^z28wL*y8nDKKg}#E(RO{By{?nIhDf7g<^VcwZr|LgWV{AG&Bb1a3Uh%j6CZ#}K zgl_4T9kO<*Nx%kwa6KD-8N#iMLM4swKH|m8Be`GSu&eCL&WUoaH_g$ylF&w^K$5a6 z`cMXDZAW=|`ExDnkqOS3aJExTPURq$(^MUhw>#4)j+Q+c<~u_}dh+r*1<8HU)RN4@ zucA)?lQ8n-^~96q2Mr#m92?f@8I+uZ|g3dC2e5h$Li+*?#sl0lBD8k&|?ZR;!d>X5L?1JJgj zsFEY;@hPUD6)vFpreC+MY@0>s3AS-wIlcwCw8(d@y!F{+zDdes*aj>ES(p)ITI}#3z$8CGu<>K=5HK~K-ygl)UW2bKX~`hFG6lVJ zpck-Nxf>djybV8oegzzcnASpJ8_;tu^0p=lN#0+*L>xc?l_HVtm2uR-hlK41omPxaZt$SKXcYM9m$~1GA9pMV3Y2MPD~GBjiP25A zeUtZQ3ZK>Znwpi{p}&-LiBwE@FMTAv4W(MEN4Y5(FbIgJ)de04HLmW}?xFz&Qr<2r zyMNGunuH4$Lq5E@>iG2|q@1)%z>_LON4UjXyMPon&KQw|_LV(J^!onjG8b|H+Dc*= zMj+o~OHr&bf3~ggF^~d>)k-yaE4xBmqDLB%SiO7!dF;ETqWqG0U-qXL87x4_4^pWV zwi$4AedVBpI~}3NP0i#1@7&h%&ZovZ*VVSyL2Dp-k&mk&B664c5RAHz5q`vmBEi(S z5y5`o8jd4X%XFS6|Ltgz*(F$vFVOaaxfkTVE@`yWam|?upzX|DAujcXXZRg2ET%w3 zW95;I6qj+p_|7VlUjIDLYZJ^Dpel6G5p*XZ7tdHH%h|s`hYSNr`HHe#$G8IHtI@$G z=DT1{SAFO+Z1c?7^U5$olvSfSd~K6LWn0<9T$+? zM}8K}|9I@l9qSvUyk*&xyc}o)8MSeTF#~sYq(D;JcqDLOuD|F*xbDziiUV zR;%xjS_9Ae#qlQj4lWG`^h1VOb2l%-v1fsv#cXss?~>#EJvKx*wX8I`PAt5YTz!**^R%Czvt!l!OWk8-AFEHIES2~u2*iXVbxlXU3s4xQM6KOHq?`e|#fM|5|k<-Zg!9XG~FrgRwXHf@@ zXj6(L_mR{dp1rdBN*tGc*Kjvf@`bG; z?;s)dTIoYK&R{MyF<(-nqDJ`TRC>lyQK=U%UYru{ZFaJt*1TE4D++jfrIeV-sL&*g;9k5jt6xo)+1BdC;K z&#qQ+yiWk-3A4x!X^3FI7gQHhIbX+!EwBl1>g6!Rnp;(_;3g|q2!F?zZ=rnW<0w@M zY^B_YRw@-_@k*{gsoU{FYD@BpY#QX=^>pHh?wG%_nF9`U} z7?&20wGR43QRdfI^l;H}lG5Rt9=WXzH_sc+-`9+5;BQI(Lr_WdVrkt5b2=n6taCjx zU!>R4-_hCm#lJ@Ie$jr=%LGyP%6q^?a7lTM|Bq(_;aEaoyfE`IZ3IHo`~|Xsg%Ujcj?Z(uF^{j zfhwhzF<(=wsm7JBzKATuw@W4a2RNPktIoB;O_ezk9CJ@!)yviQlV#-{#QuplQS$dA z3D}m5o1W#9Av-0W*J*DTt9zOA&>lUHO|GlE%3QGhTuZv(QlrUb)#ub(V*W9^O37vI z!_TV|_k1x`E7zlYDH$UiUA#fZ_93?GF6j3ve-)1`O2J*)V}iJgi_D*{=5A-$qtE-m z?u{Gixn*XbWlYD8lyehe7@UeJzOB;+eYx3Z>7ih!*7BbHXBo&W@$~=f*>3#iK%(%U z{d(m&+U_CVs%~E{yS=Tq>2`WcG4zHeE4i6^$TIVkodUp~6@2b1sSGe)H!@bS8sHe*+3EM^q&Og$&Og#3Q-?1!d zS9@Oldk3kzh59vPl2Z98`io#EV8v3sd@;Hky({Y*jK0I1obSVo{6yTQ#skZe|72&M z>${^He(=D7Y|+51BIl`b$Sj-Ye2Fa{XM2`N6$S0~OYJ=dn1=mgPj6Zxx{(-6Vv(h) z+vA_RYT{bZ)qUffvb+;N4Nn{|`TF6nfd{qz4K0edc?Ku;wlkL&TOVM?3=o1+rQKZ( zHX|bpHUI7Jri;(1TsDyqk}yrAB0^tlSX;iG>!%dP3Ooxlxn^)yqmLDrw#>z&iSk&l+|_m|6>aH_S$wCG2T+p(j=jEU`^aPmfyX;ZVAYGdC|w;4Afbj%V` zM7_^SeXi|O=(=^vB-F>g*e7p1bzs9&OLeQel-1rLQ8-*{&V6m+*!Y1*)9IW?jtm!E zYWJ|z_Ha;74cm|J&l)}NgPzpE$$vc^wYl9YPwg38>SnIo z)z{aP={^)ED6XOTd`azHvBTeMfylc#2A<*6gb-;Vb&VN259^SbT}O-URUTMXT3ziU zz7o9Q@{l1q8TYlLcYU>x>_N>xFY_}3?D1N@{_BqY<}{FO>PGEgQpWaqtUr?+YjWmc8;IBO@(nl~BY>SV* zZ7L}T7MR`4T&UXEjXqP^_Fflp^UC+so*4a}LmXo^UuOhLX%@{CmoPJVQB^O7Wp)26 zJjIo3=~YsJX69KXi*~U!uLhc%puCVpuZ17NJG1=Hu|5@p@M8xKINUomDId@ET34YV zEY=YhwOn#`#8dEibN-MH3?JL~J6!}{@bMm})}CTR?sp$f1m&}2O)9F=rhcb4g~%-x zNN{VX+r8=T-8aNrtAY<;Q4uktN5zkGAATolYJj+7dpUplyeR+Rorc`mbn<@01V+lx zaJN;i^KEoORErXq))8-$d_V^SXmO`ATV14vR4RpvJNt%Ho|dLdXcZ+g?fqMu^)1Ky z^50K?($F+|o#-vwK%s0PONK|@7w*q$bkj%*c{8yiko%IBZxjFv3?rw(@nin9KU!#| zfx5-FB~H&rA&ZRX$`x&^U8US3QeN)AyAeP$ej;wd)juUNEjJZzndW1UE}yzKD^6Px z=~zB$N$)fO|8PTLPX|*645T-0r%}bo=}j1-ez)i_D7MW+P%!GOKOrvgWgh3ElY+J zVV`^H{pzB~`}dy~-CW4*gbnJu(PtxW+g28EK_p^^NR~XK_B_HeZFOp2`ZZ%zO;rA< zwBY&Lw|9EpCb?UAUqA9Y;EJP#6-&*JXN=|I(xh`u+)kWSHa00wmuT~QHV5!PS~Epn zjfF!_P<4O=!MX$lQJplXXJSN!-1c`vcB$5>W0~?c)^Oy;^1?Qb6v!e*YD404~Rt z9*Qy&k304S^$LFQGd&i=C6TmHx{i5$@XgQ7+Agc+cXZQzI!`xfWU0y|Y%cdXnE=m^t`i&&;ZO%nBu|j4!y5e=qONLLXYIr+$-b zkrUcXjk7IL=_H-PTtMr`OQ>Fbl5wU^FKT>GQtk$0q%0Pl*@~O{$nw`;kU@?$gN;LC zOFi2hU3tVCTsohlmMu~S2uo4+Z0vP4j`VF9O#MRd$%&blp-KXg2kto>szh_?giA_w z3iYcOuLuQ6DN8DkKNG7|DSO|4Y{CB_^R~Np+Q#cN{SHb3+UBX_LoCNVSM_A_2jvBS zq`q?c>v1|8@_CBze!cA$_q4j1ulDgGj9(M_Zs)B!bT2=%OMybg`;il`nOTw|906V_ zDu1<|Le-9PXK3a&{LRdn@NtV5XXr&Nj_ITcakm_1t2Ae6oGYz@^nX>W|F&G~xreox z7XW5iigr$z!6FuWhY`R5)!mNvO?6jPm$R+92)RaC2aDtI2e%c)cV=ys zdmZ;SCqC+>!^a=Vyw>C=@+LxSs2%2m>Wwc^+$uwgJVgf5XNC6_$8E?@UUbN;D~3x; z?ID2AugyVQHCd0K?^NW_I(1_R>-9;8OYDkKQEvvbCN-?@`l<3yW3aVn_{>$`CaLM0 zoSriCZzt)KjW|R&K8Q47@xd`ZQ+qD;<>D=0?(e6wd_hb3fjxmK-WIKG*2C=S24$aY`x#PL3&6!{nps`)Sz25v;y_dxsJe` zHY52LT#_V8@0FXk6MPMP+%$i!t;>&0r+`s0?%3p-(%^K2uiBV3GdgTIJ_2dSu*~ zTADlZd<2Va!YC^(9Plm&_?5Om{xW(#6Z+NG!5r#aE_>iACw$hg8 z&W4YrQjIYR(qAnD_DPA7{UU3F<8o#?hj_=UsxDdW9o{RhA$34+Z!n)x=KQq)oL`^U z<$Q##uMV!}A; z8-2b|aeV*xyQRvVRwuKF(JOO$-LJbezW9qU2&A&4B~mTboiMv25|K){`cgoj`)Pxk zqF2S>LXngXO*o@`MaGpStEUy*=-Z^swVrEX0k?-ur5P!B*Hkwftz}bmM)}QReM7^i zE}yeS4u*$@x!zv1F@66gGU~mkk@E$T&9M~B;%wG4i{>cuNuvuKhYqtJsw-&FdemDmlgINnpCpKAz*A)slT3 z_syAD-%2v!sBdOJ)_wj=wQ4->+WgWEYq7LwNZH$VF2Z)|MSlPB?#jvq{oXIl5B<#J zMVs4REOmf!o-@0uq>D0GX^Ow0CjRuJE=@SMqnRMRZVKM$O!G@C|-@21!LJkBq{coR?%zkc(j+tIcxx4b5 z6c+|@Zy33vD#Jh-RNsai@0*!9u69TWyyx%nyE%A2ZK{7HF%}euRDf7HP@*1D^#1zp-sb6!@WKr+g`jDj2jgd(Kz?&_{gfnv9^%O=BgVyd^yQxVNFDQ ze1Vb_=sH#sMSm2FmBX)Aow<`Eh#^^KC=BicTM z5cbqk8k(ji`N-B=e1(Q%$aGt6T9+op5Meo-E9#dUs<@c0`sf_=LUy>OrxXDn8kxxE zsc+|+Fg|jB_+|m-wqeUd$P(>J2YJ>RX0*~NOHH+BLvhXXqFYQBjFf^=0{Tj|8bvR9 zT4HnfE3}CMiE&Fm;)4tV>b->v@eI_!uMda787~TE@IF9Sz z=E1f15Gaox{So}+iPw?W2yTa0Q4fG$*eyLb9&Ch&F;Vk<6MaCOT`tU5wsCjZUa9zF z8{fm$;h_+FRU}S{2%f*zJ7}Pz?Q=zVNg@&+6hGMLdb#0Qp7zV{rR!*7IqZ6EkP5y} z+`vV{{Y~<3b1vG%5Tj!aY-)`MQFx5k-m&peM$jN-Hvx6NL>~CaGYneetA>Q^LmM+2 zjq@)Y>xL~-fR?<2N@()mjd$6@d(%Dt9x!o|dj+UIly1>n&Ftc9Y0v&VPkGzy@IDuP z4Rcl)E2{K%l&^kSJ4Jj#S^Gq?aejrF)m@vb9;mBH<&xeN1w?VtH%gKc?Ire;A6DPt z_inl+;b2PWr#x*KBjhm8)cEU-O8r=ueQ*d8y_sv39=IfRO0U__0r$BPW zCJXxWXU6(_+^l^8STWOD)7iOw083-#S9`^mdX7EcSnc>|x}25kb0O$`C8Tt0>_Z9E zmt6QMiWDx&H*~yQFTzLRPY%4jhV;|dD_udVPFsK6#Av5^PFk zTuEL^f*ez`7*hPo$|&uDLq7!wwp*%hHI>ONW{E&0AW2#CrW-SB0QXRjBkhLPI;ECx zZU_c5Xyg`4P5qFxK0`kdo!;F&Cn%0lQbd}^?II;TwpK!{x#!)os&7ia;m2>o4K9Du z4Pn%Errfk*ddRUOnn&ZNy8ELB)gi!w<0jmG%Hd{8NAZ>2o^Qb)t*^@tdF4;YgtlII zZRmrl(w7_pC_EY3G6@{Lp;%8_AigzBca+#Qc2M6Vl|3aE|5%VV}PkY>yxP;*|XS z%}_gI++a7JM~z$~NBNQ1{SaiezEcI6_UsB0?H|O#V()HmB{ZN~daZq;)qK$cz|P$g zlXk-*+r~2D*rKd()|l|P_jW3xEq+GP_PJ+zWp6xFAU=^*alO@=D>?<^rzq#NpjgxrbgHF4don%TeD` zT)!V8{T~+dz53)?BCWSTqaf}RWIOS^Yb_&py<>M>x%$L>0>etJ3uJpselO1k3bk)` z{#8r

zVENBWt%Sh;7{6v$;z383rT%2q_4j?pHH`f62*cnh~ejUJZl=CCdgB7M@j0 zgG@i?{<&#DICW~SMMoSVUUehp7{qMOKzmYSzNysf&tD>(5F)~jgT^K0nFH5k25mgW zr3f6nH#L5Ue3O3_MeH(L8iSNha|y`L@z$jJR`t2;4GoQOw1T!XB*~VaXZ0bDsj(Ln zg(JcouoEVTm>d-0gk9Gl%?R;3^}SO?B5`B|m#>&QcGt)FZ_FRJ6ECCAD8vaD*>#Fu z)p!*tu(R;bvDCNyCfCFh*8|6k&NkgHFh)dlbfId9viMr;o`n_qGsqAZ!jI2qZ|Ko0 z;mwxZ-l}+B*>tlW`yW^4!tGzV^paX%#t|CdU3h{K`E##k>|X^tUz!l`E61 zQ1h0l0(~?2NI{5Ykj|om3&xv{S-j_K40Wqzix)Y(MoIDoPpdR5!Y_C}ea^B2EMG;X z*{%t_+cv^#$zg-}{czA{0-ne};fR(PJSgRgs-e|O&rAd=iw-1EGtpx0QTMo==45YgMySZNr+hSHIivIO8pfM= z+B=bqCdHwvKg%R5dCD6uR%^fuELBE_Xa&YPR3!Q^?=J(B3I%{NUwOMs-M-ruxh)m` z67%3p8sqD#irDGv87!ks6h_q+VZueOpWfrNMzBd~n=$ioFEDQjth{hYxjwd}Qv@wl zYAh_86982NjG6xHa+$zNIjZgtX0qvRxmg)qxpPMiR8!YSBIuG2eeXTN zAAxz&Ifgmv^yl~rVyc~!&^Yc2fW1#vm14^7n}~X8ItPcjDm)DU?rQOuOHnrmUtW$j zW?J)Tz7ov{iyu5-A;Er-n^-pA)2oH``qa?)KS5C4dj75f+oSTc92ih+O8co8RNqf`*zzD;xN-Pu6bFB20d5N^!0)Z-_YnzrAPB) z-bv#8|6SUJ?n8~7gK%E8O}V+IFp#1nIyYCjR*toW^;$#O9<#{oi9?)|}qaq!$iT_*I`NXiR%KE<^@QHl`PRr>Kdsr9k=O5LVmJNTs zM-P5;ar&Wg^}ioreM)K*zcVdak@?F{MeT0<-<+JEkGMmGUVFgY=$|Y7&(F0}eq|^h zFv;ugLAfITe){M0sD}}^e?9uITj9}4{{4IJ2%BWe?3@QV!u)?{pde;|DO-` zuc&Wc52LCaS8Z_Y-=EruX}PK_@$0GGsVs@osA&K94rs@Y^XY8*$^Apt|K5NSnV98| zhkp6Y1OM^${OVrLfBoP}a=7nHt(%*6+;gUF!7t}uoA6?THGet>qdO4jE(T*nF@rU*VFfks@-pJuuMZ{rV1SF=ujA)KRadSoR5@4~ zIXZg8HRhF7%_fDfTWt60C73v0@Splk4~mt8DwP!HW?<_8X_;(|K4P8eHep!^`57c~ zM1C)*Dvd|Y`*K1Vp}!o;qMC#wj-u(UqkxX~Xd!I1qZf3FS3K;7Z@TGuJDNIlJMmn) zd>K&QD&9^%xi7g5awuRfG8nM1lm2U49`QL{F%2z1_2hsD-QxyH3?4=9Bnp1nJR4D_Uy z*DQb+^KLzOslF{Sj9>ZCrgQl;TpIq3Hh@<-I;1W1CO@0PYo74VLZ5z~nE51+hg3bj0v`Ltv!!eDl7 zxexMgFj>3s$)coJhv-NY(Qfy0j7%h3mxp+#_{M8BOofALD6v_6-guPWw+ zLw%ui9Y}dzlQ=ecFg~kHQgxIy=56K-`ms^|;jvuz`(Xm1Wl~H(5J=EI0%>Qd)|b9& z5zL59j>m*WN5&4eTFRBHszsarT9!@@KvZS)zmo!NHH&@PA<|R^JR%tub8P-qUC;uyUqTK-@-S&JPsNs#{H+0QEx8zYm!)c*E+zd5$59F*aX1GMns)3{fI z2hMyhuX$@lG1$_5s!uPW>F|YveTN9%+onD@)K1+nx-0LD5j%UoRA`NICo=LSS-teD zTjzI7V^XR>I4?>zZaTylEPO%Id->LT={ul{5V-6Q#GqCp{;ajoV|1e%3h4%7unV}F z3{N(&MwF6WOZEq07k}W#DWBIDY%dnG*ly*1^(IbdloQ(`4-2Dv=BA!&DrsEyv%#7U zsxMfK$MT?jPAX$2Os)!?sg`vx)?gJ}`V5Dww0=3f-vZ=WxNtWsnS6Ibw+YIwMqig^ zCeOl+KJ}%lFw!HlcqT>;1ExxJskx%MhE+$Mwr(0c;Y_h1;_h> zw7apeKmEQlu3>g>ZasQ! zc>PiUH<$meA5FFkIxSEuKhVFBNN~-qsBqKu_QyHFqk==^ zo=L)B=O~h@Ed16WVK(xZmoyy{&m(IvZrO$FvnAdFUMTveDTtC19ppih$Cbrmq;@X@ ziVLVzFcUM6KHLsr6$;65M%tc?56|+p)ARBBSgM3;CR#Ca$26i{$1T%;tbrv487?ra zUPj3OiaM9K{iuP~#*>U!VZD)iofe1QOnPXz4?Eu z6inUaq&HzDlPfTsYNEFSL+bMfpjsk#<9*7hgkIOI^Vo|3K9A2Jp`I>n4C>md4k#Mf zrfl1`Epz+dRa>m=?@7I-29zdk`*?MmvL*t`*x8Z@bKIC^7cgUm@4y*~M3u;A%WA4W z?Rb)v(n?ML<`&KVn@|K@5o%>ITp>Vvj2Sp&Z3GG* z8MA@Vze0C58~A_hz4u#F+1EZiGtTHJDk=g>wE@yqdRHt+7o>-x^xk`mjv^vWDM7k` z)IjKj9;NplN+2K|LJ2KEAmzImea6qspYUFf2A;v~8s zyke^v0MdRwZ_o=MD^^dr`B-%ruWkN7PvhPrkO_l@FWc(lxu*#dQO_QWm!Cm%&vbG$ z44`|;K?6V|=vty_&fLupkbY451MsUXRL>+pWxNAq6NqB~MmL0TZaYV@+!Ey+aC6dz zWmVS_V)Apl1{rFA(r)>JVU7PI$ewAh;x=y}Bw1%gM|X~cqh+Z_QOn$0@%eD(WVL$X zZ=+WFSPKlpN*+z%%M(4g(*94Mt~l`rpx3_DcIjhv0#|tp*q+ufa7zg~0@3lV(-{v_ z`LIR|39!?$rMBzwazZ^dJaDeh#FpXeM~!YHm}HjnRm3<}$D(K>7qbQ;A%bLlSeW9v zRXH@Rk3xtxbKzG6Js4aQIPBunslKrOQ%3x>R_~hiqN>`PPaU9e@RsVnX73fl3ExbEcoC z$$D|$yqN=3qO*k0U#*k*=~4QhMIA~`Yyx$U{w9*Q{L7qkr~w7U2jVuo2JHyHZQ+rv zNXC}etWSfzT0CB~WT`T5V#rW?Bpqb!!^eE-SXhSq^R$ds?y95>q_1%Y)R!JGdVgzM zFT<$~5x%X10I}WuC~+B7OItW`IUB&?h_bm)Mjh$=w%rDkQ`N^XmEUqQewC}k^j8u7 zic54ExuzP8jP2KARL6t#8Z3LT86fMhah-A9y5~BTtWu?HL~!?b_CAA6Pg8%hIVIZF zV|I#@@=nsoH3J}t;x^d=!8n`3nO-6JKPB{tlC7*}Vlc@?-<|4ST(DOM;-yTZcOenp zo_kTqUqLQZpwrJL8?)plH)0&tuK6H!z8ySzyx>|6wq9gpR$>*%6H)qNGMMTWwLI0f zW`w$zel^4S>G3s_?y@qS)=Tu49c_An>d{z^Y4?y%(+k!cy-ha{bepvdDX{^#OY`~x zglBCyP90eA+@FvjT*Wrv-HFd`Ptjt#w6tjNFJ^01h$0GQ7tC`&Hr6!}1|e=)Y6|$T zuZGm+n}BVU3+b2zsYV*&u(xA|2Pdq~c-uUOK@W#I<4)%+hDbKT9$DuJp0(yO6=G~q zTyZ0iV(y2p?TVf}+7MxYqqYA};-c&db=lMg%`hci#50X)SnX}R!B>QU?H5=5>CNlk z6S>pK2aX1aQSXvAAdLmdAnZaXTfPnVCP4YYItJXECqG(?_jrz|EznX~6+%2#$Kts& zAL@gY>JNp%*;&sq_}h)5DR$#A50!Elng;_2oR&i(?rR^SydC$Kp1|eiO0p&D1FX%qvyAJw$iF_!t zL#~8@CwL2S*`k<37Q@I(E2so>qv8v75-a>k}q8w~|KOUj_-%Eo1&t z^HYIYxDcKbt830f7;lgvM(ln&_~TX3ktu>El2+ufIIyZm_ufwYn+p;j>``B)TMzuf z{vfIa(2K7Pw!9_B4cA_=cTR(9b?*FF<(NgO-?re4^CbfBBg$WHTZc#RK#~Ti@i!MQ zgSq*UZ}S7^zb7v0)?OS({ZX^j6Z|kqXO_?;rNhvhbl0fEf6r#$>L zfyhIoe-p^bM*J&k3V8VV9w3V(8BnPMD}zQQj#^|dRf|b-W<3D?mtg)>k}VJhITpI! zdFokU3g8(MCbYN!y!$R=VIAn|cGV4JYgvQ@8V*3LP@b%qW0fcqMgyoBcvA}rRUy3H zlSYpq=5mg3Ok#Ucx&O6({asa`0 zpp)rm01zZOX63=wrOpO_x(Q^AXVr5NN(R_$wMV5xdpgOdsx|<$5}1UO^*a&A;1E}t zr)c3<12!_(8r?HeU3px2hTh){lTFrX2r)W)f3f%gq9xqrY^I~vaX~;LC8F4e-js#s zu{z(0S;wAzX`P}50DnsW=1c!~KmIr_voJX)6%CvYMS!SKs6!LgrpVVovMFsRhv(Zl zFuV=I5}%_-{Wb_76L(HXMi^ zC;>y2o}$r&VLfRnq2_k2W!r)n?eUTq*hlUb-_8oI1Car|S7mnM4Yh<_A8Ib13+ye9#%rb6h zo-O*{We;l)d6#X*8Ph>A*!~0%tCo|T_kj7KaJyAiw(F>k`p6FjTY1>%b^Jkn7Fubh(HWKFNnv3j-ZY*Jb7yE;S{;>*#-{Yr2sL|)lID=dUlLQf%K!KYuLQzXr{W7K*>o-PzHA>uyfGY;`ZEO-wu?Pa~AU~onv;i`IOcxW0EZv&#{v6%!9xyN^?TP8t z(!Gr<+C7q1GV=iOt@m?6*p``3IpWFz0zOjNqzzjf(Pb~yeJyZ8Blw7`^o|7{30E%m zsp=(C)=>~5@n@;kd_C521>iC#(&>tO4a|JbCgMVq!#uYhy!1CZ4*hsuzU^h(!f)(m z|Jljq8p!D8I4+P++|2}KkB+08Fju$tbk@O)QRwgE{@QsR^w+O9P)Og(;!L!C5PXJouZ}WEbZp^mF@VkIiX_fwA-hClsZ~G!eomI-=7zRIlw5=S_m@La#lxGdhAsj(J zI~_Yc&ubIEVROE-Nr9m}T1m}%#nz9e;Bq};mx`aQX~9-0miq}DvICg3l%tM(4^zG>x7%qIele65fv%NAL zVjK)&UJH#EQrm_Gh>-QMy<^3mpy^~hHz!T72mK&t=lqd<&adCVVTWWEFsaFF{_3D9 z%)L;?4d`WIt@EXX>@Kjn{K_X=B&PHW&Ww*~J};U>qL%^XCqhSxrE85ea420d^VJ0} zH6)H4Bq2dt4o`P=-55u&Z`}*gBq(do1QYJ-xYJ@-N%7R;w&-F(9qjR-|6V|N0m8WT#+*kq|;TY zUJPBLN)(VW>E0IeFYZ_IQ>}VOtnY#xnHF#i7I$c!kTWvIGvz71Hns{6w?S-L5bM`6 z$rngclK0;M1Aubu0uTd+l9RZz7|;L^*dqcpA~UR)*+Z zz#floH3wM{xVFI9)sSzd6u4mjI4kX+bq!J z^lGyiqOR!rYx+~=jBk6pCOQaKxk^Q6ttYVyGz%~3>a#7_d8wp+=;?+7@DivwJ$c%qncrArbHT9>H_F+yYI_(y#xfwJRktVLD-C zAOI@swT-*x_-Cnq^n(CPat*W1fbnRfolZGmfsaNlVh{KqCCa1d%uw}-o_C%dStLqb zsu82OM;?qvrph(4*S_Nkkm&~Ya2EWB9o?UrpZq)xJX0)hfh^K7D}M`=^$y@>iU4Gu z*Y=xc`HNoqSU}sK_0k)W*#)^0`aGbi^RV7Pn{b8zvUF&2JCN8`nSDnmj?Y9jH#?3@ z?s}m0KtP$2^j$8?M1wFq58k>#dthkcTZUG2ngiVJ(49Vls(Sds}tA3nT{LcgN7sNZ$Y81?-EH-#5>ArBs6>CHv%tltbn$Q^YS$r*6%(6NFafz9ZxYz0vEaeZ-D*bCaAj$t# zBAOcLxqRTnrleYl^qxdPh;{*LIuP~nG6RD;qaoWd>;9Wkvb>2-*?a^Y9l9^L&0SBe zPJRR1P;O>TUPQ>*SGb{#q9;|(K*|Jv_6+@vntW8zWXDZA+(LGR?Ky}_3 zh@M;F%r_>#bn_6!oasEKs1)W>LIrF}#njqekY1vuUn%{2(QZ)tw}GJY>?0si_krzn zkjO5w0NyC&QP6pI#>jfqbD!Wgy3N14(YUatCdzagU!;Xioc*n7|qd(F0F|>%>W}T zCp3`4Kx*h`;=y}(G5ba{xwi14xc^NJsrNwm#jM*6p}M5f&zwCJ0ZCq5hJ<~)uN|T_ zGWo5xV{dBou{`RExv;)1>&3Z@E`Q*W*cNHfN&I}s_qInm$=v2qcf?v{1Q_$O;^-rK z@}4EAxTHn_CFGg}^n!~h)X<+>v47xvYQ(&dwda6@<WIWn`iY^cY)h?(T|t;Ddy(& zGuA*WXrlFgbKLRT^#odo=q+tIC7h_j+ZqyllY=T{RsCeJ$w(jK_; z&ug8nl!J&&&r_>z5AxH3=8=(qErCamX9I*B@XjGUyn z_+!{M6q4*27#H9p#JyKg2)A@vcO)>Yj^`xEQ4#_XU-NbBDcgJO9RH#!nFFa)wK2j@X z0#z%H0a&NX(CCozGDiR_RyYFp0+7D~_8~OVg2}LEzcL5bLWNV$xJTNIv3QOgpOAZ~ z^w7>mWKFe4+r!b~VOqOQmMh?_Ds+IXv@uyX8#^#}TMamR*rm>|7*~DszpHPUnwscX z>#S;#5*;yJ9d=qcLGUfisHj^`J+A}F-UcW(QMTGRU$3DTg>{!oHIjJQEx=yb(%ss< z*i61x<%EmdVnbfn1$M#YFiw;C=UWaJ069-eiu|uY>la_gz0)S3_3-_?}J{C??Ogfb)A zr(vTX+onzfsL~J!GPha`82eLpdGv#9ZLnO(6G<1}9vNK`lLJdNEQG0Efw6C{=AZg) z_sk`NF#Mjl7{UlpFIehmNcnq!>|6{F`rJ`~g}@}i3#yP4&bdGTO#}9};OI|Mmqu!Ru5rAVSeb9P%dCX_GmsUzr zEd`$s<3Q{tjN`7+gvT!T4LAL`#ameWo_ zfD8_%0|l-N1j2KCk%!$lqFwt4l*7zmLRsOoMnyWm9I3DiAUZJ)xpDKcl&8U(bYX=? zD(+3dBlmKN#EWMY;!<660Kg6^3e2eqceDx+8@DO716LsM(9t<0#Htsz1R#zKGWyRP zGYZQDz=PQ3>_uoG^T33JgB|+w8Sfjs==LYoGY7!5b4ie$kvWqeRGmv3chy+r^1=Zk z;82Q&R`Mms*&Etl<3u_J<{Z-dx>pF zIZHZ;3tB$!q3XU5$5{7n0UiY4HDm9Fo?7UygIp0l9|&}LYI(iG#$oyf0qdBEylJq( zroyFb`vrALCL2KJ*Q&?KQmM}+0_`Go>gta)TlD^j3BEEaSXxNKMh0uLN37hvg= zTUaZeU3L==i15`yhlR)FnPJ1oX!4Z56bB8z9nUsjfvijB7_MjOR9CQ|BrYpYpl$-n z9Nqd!YZuUMJyvg%qS5p|YHthzDrU=RXYY3}Kmt?o`JUcaB+^CYqy`o4l~w1vu55`# zxD0VeIT_p{7NK1MwO!#0!h5C%TIdO^9H^R!NM-MuoDa08P8|RcjE$tpe0kL6>ZI)D zVwsrr9+B<85m5@rb*}w8*Lk51q;DQa?YX0Youmd9fb}3aiseoeaKeFn8S+J>*yscZ zj|#g7!h?l_D)w;!Ykt6NCsREJ%}Tp*;XHVDNxL@|Zwl76XJIfH)M5NaW^vz&uap*#S;vv^AFy;IJzOb@R45 zlLU7g&^-WFpsMQlxZ^pAor*z~0yv-f!uE_UP>tAUuhi0Qf+s0=)*G7JORBl({xG3M zq`@-f9jMF~@Yg*)yRIy(Sb5+>^^#W0%Ax^*u$%A)6oeBK=y@il86xgH}VWWY9e0uPi6 znX16z-(g@6_cI1&k@bRj&2=E7a3F&42#3^O(LoxB0D01lk>r};brObLE}PxL4eD2) zHL%>*M#2WPO(lUtZRYdUWgrxy1EpyH1v=9qYgqb<97H>1#Vte3%5RQmFYX{IX+Vmm z&Q(~XGP)nkhYuOyr-dbJXK+=Et-pHI#ez~?RBshwOi7ol2=0_5jmB_=<*-OBh z{`Uyhon)8$&-f`%Bx)Vi#KsD+L0b+Da8%F|#9AZ~#7Y@m7IxcR`&X5lzIVjM+e|pT z?-&)tmOQWyn8)<`^#I}-Nc%e*fm*Fill%#7`@q8@`QkJu$GSDdCQEE{x!TkrHf-kx z91;VEV5b3A{1VQY2;>7bF^(d3ldX>iK&KHPiKD#BM0C`ouux%FK~rc0Y)+$<8nwrF z8`N+~VVr(hhneyu&<{xB8!)PHWe`AW-ctY=>v*RoKB?OAw}|Aul0rBvy4+|ck1{?` zVGG|{qpw&wI|iiewcXbU`y$(2WlTh6^IlBE;#-4R&>~3fjjfCkXZ94JvPd$IfS927 z_ZdkH? zp`oX9b5{np+J0b7m;x0?d?C9(U|I$iK#^_nGIq1VUEi-bBQw7`-*T9Tr_EXO60feh z;=9tab&#)BH3F#!*>BCUo6y$N3GN~9MBPhKl3-7GHC(K{V)>;@~!JKiigwNel=phkO2Y$;S}X`h3_qa0a^Mg2Jb@U^Lfxxch-aOYJpkD z@yN7+pe)A*DUBZC7DnacmcvS_5raB5Hhks2I`a=o49@Flr`VN<6<3=>M%0WRC?|?X z#qxCKP-oTSlJUQ8WB@5yIPwtq<*NLT%BlN(9$stqxz65d=2Awfd;62LdVuEeUmONW zaGUCQW$t|9@8;9B!+etv;3DWy^%92E2;fBHSgVyoOIBqLbW+1Xi9Jg&2R;UWiumfM zHU2`j)5PLa7Y^;gnHiuo=xx97vvwmn02ke`cMA(@4Pta(-tVmcKN_$Zaj}*5ByZdIA9F z;o=cZ+8MxUmADU8Zj}MIZpHD6>Qtc0+}Z$*8$KFtPW2){*R3i9a=o{@+#J<88DR^T z;!E^9SiPUetET0q4$)n!MRK6s(Vm)M}KbqJG5Nw z#G?#IQw;Z4#`5ki6?H~8H>XKAcmqHzjc(V*mu&^Loufb;mOK0L9D6}{R#sW>_I37s zpi`_s!u@DoBE^)giNG^bReNCc%p=qT{l^xuYSVY1%K%WyuCn{~iuoyi)o~KPBbfFU z>?0@ofa1o_IdVmyN&AEXmsN?YSyrOL&7+PD>uRz#{|5Je>8S#e0!vPih^U&I4Fm2H zlwgVZ24Jc6!TbTR%{R9>_NCv}v3o7YRdUKEEox^R=dQBjdD%wZzs$u?hfoNF09`{b z)eOh_U+-<>=@#~I-ii?wGt>7&7FJF;48@-{na~i%0s`K(IroE((Vn&tRtrd1I<*D# zoW3xD3=7|63}EUKvCa8<)&gmM5mKy!CLpHC;=Q2L$iZPFuPn`JT7x0-HJUnf#+ThE z0DkFMIZB8#x%7Za3wQ~`*VH1{KjHwY-J>3w#06Z4Jtw4LUZW<*@=gkx>_1zGzY=Q2 zUnleBo1$aZ9>Os;u@r{%133Pp>7s;V7#;u(=|Bb!^FMn=^($x3SAcwc^3}MZ*VR?k zUt)pis;w$6=F&FaYH}a=QhqHUvd#)U`uD8-CJ54xqxbjuo!5s-ijH19&sIU0!pVVc z!mK2Cwe4=kYRLiU7X4Rsd$cMb!=rK-HX+BtrqAR@U4A)?}0ujIThCQ`Vw{cJQv4-!(Ahv^7#6)>W-x& z16uPIk6@f&XDEFAx)33+x;5Xob~MKYHr@>)T$cfO77I0x;oLWr_0hHE2Qd{fAcf^Z zonLJx20b}y7BK#Zw~>*VC=>?F$g$lIk%zZa1^yFl<$$k48N8D2H+KEIH)!JghtrMe zAKrCsUhRsxyJ`hcm2kEaMnAQVaxgW2?Qy15VL0Pf*KVQZ4p3*}R)5XQA}6*6E|unTzTlJc7*%nL%n%3k%UUp_l!k%wU((Q74pL#4CPW+BB&wXYtJhydujr_*hjtt@*LuDTW)h+gDz)fu_$nM~QS1++_b z+*)~(Xeyw#9NchY^mlZqp9n|pghv_ce&^$sq=)3Z#nHF4 ze1r0tBT`ghGl+(U%lgoXX2w4Qp}oVk0X3c$L(3JxUKrPG(BDo0XZ^wCgH*v~uiS0J z!H=_LL7~wRc5Qanr$vdlvg>O0-Klbgemi5+Q-SqSV%}2u`&+GzD-sJbxW|Ktx!IS+ z-ha+JOc#iWwbU`KEwcM#D=I3ooSj1RRY{$7+f`0p{`cOoFgLzR@=?(8H{panYt^-E zN{)2;8YccSNw)uE&A8E`oWL69t0HGNjodQ6uGFGSV{?_3(JhXTy`+>vaAAdK5N5HZ zRf!G`HXrAX&nncvX6`zC%c1WfhKIAgF+sdkh-*n=l-*pOtSz;ZuBEH*@$+a*Tp2dngmz$ zGPn9aUbxr#E+Ma$@m9*O1_^u8`_=sTjLkwWqs=e-`>&8&48-sX2YrZnwZ9=&iMk9q z?<;v$)%6w952950b^m!6)}SHU)4yhgMy+A9k)|4pMNE%FxFA$+)iMAk`!}$$S&ZC^y)G5_eU<7)=c?ZctbH zAZF@A0KLsF$ysccjbR3g!1QWBcg>EUhqjH@NmsoO$B-%8S3+<7rgK z;Fk>LpzFbFTzgzT_S5c*Ujv}LQwZ5AF9a^OqoJMVl}_?1X^xv)pDjcCOfO zi3}|9YdR4au;#t_D;muUr)f1qI_Uc?ed&4H%A}TRZErKVy*}=AaecHTGZaW0KAM!&)(T;jZ(|uHZ1u6D5KpIg_g7ru`a{FuNQUM4G!JB>N9Rq^ek`!xe)1DULjl-Fu6aL zhQ-&G=WgVL;upZ+aY*FhryN-~#vmtx$?Hc#280Lu@Kjrn6Xwu7GHj|D- zXfNyQNUJEU)YNEs2BIx@pDY83?j^OjBI(3rr?V&aCo3kfZHFzdY7s^fQO@0awV8p+ z9BgtAbOvjA#eCk10q=FN zp8m@!Qjo*v+d?&_)+J@8REy*CNfwta-xuzNq3Ra+p#Exnakw$2V$2R7*AG1kx zLkOm}A9Y*I6)f?sIwOszg#8+!;IpeNBbX*Ra%r8jt)GeqvkpD`O*UPs?|^odxyEFn zUZpdoQOaSEI&_{kWFlm_>s3Tl{*@%DK2|yIcJ;GW!7G(&=dIM&*|(!*5e5|horubJ zJLaO|?QxQOL*#>l*jZnDe}N!73TJVdtBb<;%gsPZ9v%v{=FgcE{tfCxcC11)^nBAY zU3it8;hbS|4aVc75nftz4sxYKcvosBs{4BVc{&EMfikGV$;A~8MW}$o|G(6*1l zadVl}D`>PS(jK6Ba>R%gw}>D28b--t3ioH0CT}n=%Tn8|l`9u|J~UtVw9dcdb!L!W zL|ZYi8A^7~BxV?Ga&!6M^Gu9<>j{mwvqM_PV|TMAJYcgmJ{c>6%h1V6FSti-#su9Z zrSL)(l0S$4GgABg6P^)1uNMQGzrJiah*IHY)Q5;tVC}sZTVF|g@%TqEC(T``-n`z2 z8F)`(zBD5R#;Nsp%T)FNKTa1-Bt>#D_G@4%Z|ObdZ8?@Bj@RYch`pv>x)J_y)S2AMUaM_hq8BAhG!*?gUya|rzfI&-%*1yw9vbUcnA^a%vvk z$$2Z3NzCKm!7SKzpl&M%APUU%)9;B=g6A4dz$%yY$bXJaNN6bMoE2cT&PVxeo3Fpi z>4cqKcOY5$$F`KeupwO>axyXz*JGv41}|P;!?L9Ywx0+Lu7TDNMyI{xti4OiGoNqq zHma%S(xf)s57@8WTpEu$vy&`S1>Fz3NV|2?{{l+9dauwa|FXjkx9JArrW+>E7206Y z%~c_e@1wL{$8CH?a-qKVo?T;`d^Sj7ji%-Wrxi3u`ty7>UCKy~n32*(IRvcZx_k<^ zAx@6cUbt5$Q9U3^GxuJ)UsLTnZys4J7>SbeZ>rxsz+KCp*}u&q8Qt`*tF%>UuEm4* zOaUqUBHC z?#1OB<^$`CF*nZ8;wEd*zH1#Hl&#Ksma#rIktTJA)1k=z^O<-(YGVY5cSPVo1N$+V zc(^;)8LMXD((33Q;G0>uJhS|2L@Kh$h#bHKt!n{MX|p>V?}5+!>P2j=vFa>C#-Ct~ ztPj|nl&SLSDZ_N}*L#6*LQ>f4_kM4(ztz~|rn)H}$=T}i5-E5jy|9tvI_+omP2$bXR4~4~iM`xq{=cma*fzhb% zhfP3R_{sl?`2A;bGMM_$@9a818~*ZhNm;&suUPYk*7qNl7Q8f$qx^Hi7niw6-h(Co zcU1n&hNnV5^SUpm8A@Q}*rU5t9Oz0Vo)I%zIrh(QEvx&SwsgNAR>*r{ghTe9kDd+x zi85w3ywEI@{^NS@S(su4)_=m}r7C}loxn%Cm*)I^^eD@=YpAPkV-_+$k5O@ItPJw# z$5^b55LJWD8Fv5A>5;ekWGc1Z`6>MPip z`|onQ$e3k$mVXX=_rkOdk2&_mkIU7JQ?1%R{?Dhk1g@6VoYDS%NtwK?cjAmZe-6{f zkBhuTl^j1lj=m|huO5f_=eNIb3ZDKvk@DlfCwoY5?jwqRKBX9?KLueHplSTk!7s$F zokZ!){Uqi-@yRc2eOpUd*Z+P`n#J^igIC8_Oqu>U{@tn|d&!;b3Dl1>e6S3BD)8y& z2~;u{8&QttKgNU|OloT{?CF1g{tOp%b0tFO@6+EPymlU&zw^&$FXB2k3cru#1b_4? zbxEUZ|8v)}^4@{b*-}Q|=f;AXdSNx+{|uQ-kh75aprg+upS$O}xbm9BD z`)7g;XaDC2BJw69-(=DqV}4x0Z9;XyFh2>(3@tLu*8r$z9VC)Lp`+59tRg9t3>PDTv@6RSL zZqLEX;io_Lh4i$dRof-X_e!{@Tx7^zPW}KDOhU z3qQ8PM@HjF{F~6n|2+I(R5CYqY}>N1-QP!e!F?=EW6J%{uY_wqzhjIzxBmL&R9eMftufc zUip_Wx|H4eO0MC$uir=R4Q%bq)ykfq^X`lNg%kp%_*7B(i|^;#f%J-v3+)pu0+!EV zjM{(B{AcTbMk1)i=bSNDivFI(37CPagLEa!@7K--h#BVm{N@YkG!*X+;mzu{%eOG8 z_ur5Ed1Ql?ZEFpGw%6D2XC(dQMf;y=T&LY>5vb@jvYE#>cM5Cm*kav2otWs~cP7lt z3|jVMrz{-J-P~O*o;w`<wzwjwr*3L%Vdj2H@TrHX```bg=_&&^|{X}K@|%}D{z!M;LM^TSHQnhf{$$M-7Q?N2tKlZ?r!nG!pzCs;*_lHsUKJB zjakKdy|_4!J+VdVId*S)hPO;Auhz8~o8fabGOiVe z)_r>MxXv$r?2b@Psn>}K)|E{n>7^8EF}`Gx7`AO;nWFM@-}pJV{{O%JKRE){X1=Kb zK0OxW3?dHxHucN-Rqql!JCTOfHrs4H(u)g7f7iwMd6Rpo&^gq$4c5SCWZY0^-Q@4g z$KlH);SV}rP6G`2f(SOo&?YTsp0FU3RGQ9@7cM37Ub+ylSO@VLxlZH9HZOOy+Fn#x z1>N+?o8svokQ?4I(oW}wT{51k4R-4fqiL}GD3pQscjm?W`akcDCTAawci*lSl>MPP zRK1ME!9YO^!mO($ZAY_xXchKH@?JxazTz;>srhlWHU;2h3cn7GGv3ZWL;tq#hjrQ!zTnO0a9iZMT%74hm=B z_H1ap^+LvZN;%IoJNUv~<~_w28CGUq>h1I38ZO#Na`3PZb)C3QveRym17CO{x}JB_ z&sSVWR`4=qjo!}p4i7agp7zntYn)Ki*xgZ9)e023Ofh0C9|{xDf+B1dUj5HGMrs7s z9@VSOMo&*I_MhrhK%YoBeD)ezptOIKZuJe<(FduYV0dRY!WduJ=l)Dfx}+-d;m2wS5x}qrYNIyUPdD3gDEy^GKcd!XBh29qz-1J5Yo@< z@|<&3_D5t;YA9K5$ZA>32QlgWnLaM3s--XUa81nNf^G``VE|HYI!{VK+BDwKuF!ua zY1*`vU%h7igMyRnUSt3hDGg0|-uF;UcB6?rl3KIU5Kexv$PC_-y6!Xc0U|)&?y#|0 z9twsAASKt6;P_f{3k~hKZ^Usa&n4=jvSZ+W2-L`L_=V2^Cg}T|m@L&e*vU4unLfDS zwwO>6u5@2X6m79*#i_97A-LL~S=s7JcdGl)@{YD&U;@P34)IAuh9o6X(fzfV*>F3{ zr8t8$6BZR?mnuK|dR{2Lhl?5osjd;VHZn6!^NHgwXr=1uk@kks7J<*S?Tm#aD|*jo z@9 zA4D0%W*_N>SkBKWGwy$5OUtHTJFI?U_{JfL+qUM~AfevcruUPG2ubQrN(z7c#Kcx1 z1KwpKJ~`S*AOv&VlEGil;MCJna>hK=oWVz~I5(~HGo@Asn&F)qT`1^w!Z>w>i*YZ& ztUO)zDLtiNL%tpLvD#0Q)~%B^R7y=83DIExKF<@8zA?0QiM&QSOq6-IuZuLXn-96i zU7bd^k_ zS_>;wc7H5dpSAS2c>;$9wOx?Rul$ z4iaP=sh90W=eN4)e!vDbl$hjYps*7CNfM()A`BFn?dQu`J%WKdUiH+^_)^M5LR9L? zyhU|=g7+`T9ln|#PR#GuE0}nvSN7n+!K>r8x1^pN87#`gDnrT%y!)Vf(a6oLDFOLPkhxS6)WqZorQ@G4-|i<>Z^7`Ob9W zEsCJMq%f|=$DcV-g)dcwT%j~nXt=*;J!)`)LWq#bhESJRH)SfIX(To(T@4+=aNkRQ z6r;DV`|%jZ(Dtk2zMPGHUG!(%1FnmnSBh=~efcH32F+L*_bXmT9JWfH`o90wXW~NH z=4H}~YIph?T0nYGQ5 z9FwXIr}3il{tYMhsZm*Wo1&E$`_pF}i&nZdTC?6jdC?+eUr#F2OIAQ@(jw^0=pz37 zamKvDbVccg_M4|JkK`n5pHjuY4nXnop)OA~$(-S`)?h$FUWtv;2SL$ZadjsIOATJ> zkAA*M!^=qFzf>X0L_t%9FpE@?3AZLbjgiUg%v>iUIPFPig)bd9LpVxs_`QTeAjg$6qx z@fny($EpZ7&cL%C_zAbeP!xw}oyqgW?{hEy%a@y%B|ST427)r53I#;UMqH%E2F*`e!41n@FfU67K&lR$AlEPG3y(z0KD+ zXb1!^5a!68c-;VHvMP%D0AGMhHT_mJ<-72%dD;Zar9SCAOOrYg=b-u;I^N{OM#}fv zdS4id-PZAb?THvAp%~{wL6my^oYvTFam9oMeDMu5cyU;t(7HcZOSJJf38Po<;<9#Y zUHoNC2sL=!w0Y4I^h78O*T(mHIhgJvZHD-FhwH1-KW_EeXD)1ys)ioU9r6=YG1psv zT=3VTrG@eY70!+v%U*LtNLEhr!0iO8nVvmiwA<37SmFh(TD-aFWlA{H9j6)bnQ0U1 zzSLSEX{zjawx8+!kc~oTsHx?+cNMgvLeI9hOTM^D zEv1vujC*cThQ`P)HKZ=KNF6cSwBZz)GoDnuCDbf-(~(80<7s*zTvf$K=F`Rzmh;Tg z*(K&Q`D!%xMCa~wOjg~@;Gt*8wa>h!aD@-g$TG#Q1gMgeyYg$O6aN!;mf{Wkn;MbuxLv+J(X+}DteKY+VbGG(L%jmz~c&cJ-)IenTn7MGdx=tM<`9p z@TA1BN4sL?cAW5S(zpn&LcxC#?;k_J7>qUiQT(a&e*SEx2KkUw5cXrt?yWvT9uulN zCAd;!qcoVlDejOwRORK@l+tS?RzEgc^Si?QZ`t1adoK8y*~*+Q_bXx-y`*p1)<_yh zW;$BUD{XGz(=anaC*o5rm8!&;D*ZtSDwES9scmiGGBx0X{u;Q zHQD#c$QGHxOpxLgrZj21Votmx2&&HDReOglTdA@TEl&IQL~os%gd)FId8i5}1HO($1oDOlJ3ZRx!Hs3i>d?rZl#``p~=DaXty=hX~oJThlw zL1U$}9d=#WigfP#1G;EhSSeL~t8;z(`Cvz}R7-l~VUte1BoF(CiPcz+Qp=`m`F2XQ z8TR{PJ|X6<>Ivs4^C>fRH^`sdOsA*JLf+`5$DP>_eG8l7J8V3>0txAUXegZB-mB3W zHKqjic^uyL%)4NZhY+jaW4O4}Wp zQs&9mAR%?$g-cj}lOZnlJV)RCxMhOl!5)iGN4`e3TwF4T#bM4o(NOX49Q~G?w={<~ z(|ZTsJDJPld85@{albqIa6RH*wBj9PqNqOZLEo-8IX!iC4550K8bzF8D&}`!x_CTB zg_?-eTa|h9JWaI1@z8u~FC8XQ63ZD3jZfKw5wql0A^RgP-dc4xsyz9+{rN%AIVx6jH>kQRZ&S8w1~mS%%OBBn&Ik~-Il+oz|(L*96V zHln&aWv(RYOWG2}At9RO2Z;81_DB5CHk|}EibdY>z^4l}vVGS_EU2#Ar>!b(Cc_^7 zxHr9G;U`QV>@c@D>?Lp3uLo(61=|Z+8fqI$V{=bYW%1+(!d?z|?^fEQhgmT-w;?Ez z+XicnBqMY@dBV{du#wVOJ<&0-F|pyOM7SAvGk}WaFkQVmwWM%?jf~~y!NLqZ7IWs; z{~663O7RW#YTgmy&ZZKfWy|D?X!XaAgo7N5LVF9_29yg~Xgp@3Esmf>*MJf#HA-Zm z$V6L@N>yZ1?mgcGqP;m$(Qt#5Hk~&QW1FJ`prHoU7Q7$)LXYq%Jy&VpAA8ri1nv3W^{OlAhw&*yC?h(vhI))O+yA{ zRTZhjXU7j(*Au&94&|%#w7!pT=_SJ`&VqO+N#tj4iP`31jmC`!_qz)NwxO^`STd8rl&my49S(LP7VkIeGKssh{Oq%VA^H)={yaO~{!ZwV%h`5#wvgKHbw> zeVZ_C!uhnER4k~%bKn(~JmIzLI>oh(2k-3po^1++1Sv0!tR*>N(r$qAqSzLdlP0kF zu4dH1T5e(8&CYj!?~(W7qrHJ*Ce60(Q$7Cn#26J+r7aOYnxapgL zG49rBnd*xBNLyF*dG6j*Cj_{YuOPv6jifPGE>2w94VBzQ@CJ?<>8sLGXP#baov9&_ zE?LEOt$ZlA%(pAFw}~Hhcttif8i!sMS&fFro}}i%Cj4gu!~M%6YFen7gp+n&F+D5i zF(P@9c|GVK_Z{BeZ-OZkeooO;G0O!}J8gSKE&cNhY z3D35^PG1c4lijsX-FF>qL@ClRbdVu(mEl)_zz?2u)HBX+^ zLzyFBAWvPT>OZ+8TEt^QT=9~#2=LRff3+PMI&93D-=x{uUTmX}L76Z$eb2)!nWX4B z{Gsm>DEdP?=KXoa!OkmAKt{@%0v8MrGKp?P)oqtAW?*_WdQmOLDU7KnZwMVG5(w;F zth~Z9BsetfoNY_?VUEc)h~1u%)&Y-iEm4rb9nIPrXzI})!>$|=(m`!!9Be>2M$Rkm zEwI-|SQ`0=29l`!3DM$%yt}nqQvK?jl*yKt#PlDz$ZZ9qJJS$xTTJOq60>HR?b^tu zkECnqYR|#l{C&;(6;P8)Jt{}id^NRv*CM79=42+L~lP3ulR&5M)*-CA2|NFH^mmu6&`&%f>M z(DSdHf%-ZL;v{?+4+692fgCNX3CXm6u7^~BAcY>x3z3x6#a+<7zJ59-8WvGe<8U1! zlhr50K{~uSxm{rIFy-y)jfuJ^JnoYihkKeuADA^Q6ZvlP?TCUs#5hv!7s!>mV-tdzIua>t z9!YOD1l^u$1&HT)`oh14!Ot11S?%vBl0;iyo+0>q!S>%AlKbwCY{C^-l^apb(aDSL zI@JCRmq2uRQ8V5DBkZdJ+G?7HLn+Wgff{Z#ylBy)Ra)E~Qi^MEhfo39QlP~hiaQkd z;1qWWmIjJTf(Ho6cf#}D{TF}k_T=o$?Ck99?8qL*%@gfLo9X|}aZly%?>76zdvUS1 zPe)g|w>;T&Wg)&*9Gl{NNJQapZqYbE5n|`%yFCJsvBBeXxNtD<=*9fLi~@hu{QlXU z{u7qFTY8MR!8refx)(LGD^N-n>xG(8+M->%zi}OK^G4eLc2VgiukRP)qnc72X%wDn zMm`@ZHW1N!%r1uQuz`_$f1~22b}!2(rA2lW&A9^DIVpJa@un*aRKMDL9LlW6pD!i6 z$hVRTh4lEzrK0LarYV`%eqcBnrPWL4dcwNT|MM|gu@?1cW)?-OsC6bSDuWx>DmQ$_ z2X~g6bGfl$GLBNVNd17($Z;>p-E#drVB<#x7(ET{`5Q$OQDpzTFs^zvazp&iZqj<} zZNR^XVjXmzFWde!6dmzqxBhtSFtF_8t^5B>W9ixOZ|^e$qEueIzdm-lqATaBY&(B= z(OUR2518_&-K#Zq!i%sipJ>eorE78DPi$Q=Cz0&mASLI4VKHU(i+(wNDgL&b3qRZt zKV97g_>#9{ZsR7U=_mOkJ$C$OF%!zD>PaQf<_88*EZ{l33% z*fv&d4f}bFy4T62OBrdzr)GACDTzCqPBa)b1=?+wwv>Jq)on6=?sBMisMt=CnQNkW zLQjns4wFuQb6C0+d&W1%rt98;{1>XreR2oBzLCj9f39BIUsb zCw>{u@rzz3JCixtFHoWTb3U@{LPi_){#y^fl4(ns=*(O+?}SZlxOH~Ot$0c9o!(Kr zU5XoC(+lv97?a@utd>ds;S~rwc4?cWKd^r@yp$o1`l!3vx$g?)g)*JYMHjXazqttW zO&v>dO0?eZIhkn+em@zM$2m0}*gc(G`^xW zKP9IYt%lpAAQj3bU?l=NtEcRjUO>=@*neJ{jPU>LOnD~uOJx=$_Ma;ntaBefe<4MdVd0t52jmLho8>nH18*lX!!WSG`Z|GJ2 zbBc%Y7J-s3I9h+LQLj6GC-h**-8$=$+YkG4#YU*3jHyYvx{dI0KtrRQq`a2ZXW)#L z0BC=!WOzOBaKzV_x(>(r_3DV7Y=eJ)M2IQy(8gzHN^)5)>RLwi#o6Cy6!aee$VlhbH6&jN1qID}*rwksr4G@VPMx zJP~B^#hyA65vvz)%vTyze<0*MAWOI)C-#zgtva_OiI z@VgKxR92+y8G1lCJU&1oXRlZ|e5*;ua#CS#f_izC8?pYWy8^lgzqcy1v5^2ajwQZP9vNO5WhJ=}G@74>I)&ij;2 z@F5FR#4D(xqm+b{`cBmB%-(dyjv+xlOKgr|_y=!6f!2%gXIQcUiT==squ~XPCsv^a zhe436a!1a~*K*fxj>L30qJ5lCb2Or*)7G2Mtj>Cw)@)zNjH2u z{ZK*iW)Na)0lFmj?sYvsb4Z+;tpT^(YrdZ~i&D?}iyXJC?*oe_-`FGqtKkd6rY*yW zbV6L;y`GU|{v4rbD=94ZoF!#U!rElSwE|d8K~p2A<)}wwt*CjXWctAm3>nk^-d*$M z$yxb{#T?2jF0-2TGhX60J=z5;QU;0rMY4Zim*4VZrw{5L*3^W^amYOl-%xLu;(OL1 zutQjgRdunZKj=Y@9sjo01oMeYb~>FwvlZDbRw7SJbjI{qWIbHGn9el_i=Ai0czU{* zB1p{q@J9rxXNE@!Bb6Lo>_jAWUm1)BYj9=_ht5xa@ zok{G?8?qfrn`&e$%W70O|AOqj8RyPTPGI;M>^eJ#^(i15w={z(3{_RGk=CcCA+y^x zs|{`G(Y|-f4wTh#86_8w2;|0E?yXr|l{XUE`#u!nopEHrxyxd#y&%YioBh=>^EVxc zP!0*-&o{kC0K8Hq<(l#t&^WS-GhEbFNs=9OTnH^~89pxAxL#>i>_Jp!cS*-@y8}h6 z*pA-3!`d@qF`L;ty*sNW4iSYL*YJh3aCGD+&w1}Ij*D28p1`mp^c*Q@#G=2Mp9M5q zKIg}@{$Xn0N^l!H#&6&+$;F!5%glm3fWERfX1?3wVLO$je{%ZkMX0HciLvZP^{*G{ zCRvX>8ZogwY%ss-C0B&G=@5Pg?RDZX$8Ra%CM{$s5IIQeza6+v@oeq70Cl00Aa;&Z zqC9?zH=F_QjgPEPRq@_9tg8Brr_h>e62eO0xlzjGPC5SGZZHT4q%wN?{cR>uhRV6^ zkFRn;x~{$w+r^3b9?A5;B_&axBkueYBt1@moL29dQK>9;d#v3QAKr1+kVxg#+2FV!j}hnc=kgr` zz6NM;7#o!uzS!(-4VV0B-FxWsaLUo?67Pmjvoa`w;k(StAXMJohHllbjKgm2Y7W^a zwUc1fgE!p{$a|CXTG22)-@AzeJ8&YG%FKPGXM5w`Imb~|9}YvS$2wq1=jN%KzVXy} z&s1YDW1y9A5$;D#Z8Y#tTF3hU*`sq{;uDTqep~}R`P#E4yiQ#5clTXq;ykbEnVR}j zY0P1~;7cWGc|VByS>ZN9?ND~_J1L8t{idCDXzdL9T4#Q5vknStG0loRXr}Ap(K&@N zvz|}Dp)xjqDB0F%p+dEP%8$9R z54K2fZO@WaBfN|WB;PShnfRCrWX1TY_|Mu56?n@ zy4zHX11rb7A%Ph=gLDz%_{XZ#frZy)bpz=9WuH#fS81ZW1EYvN?KYHL{W3&F*Bsmg6mWv?)*+jwd>?9y7+2|n~ z)KySbv9oXFSx)A2iC0~1@ZodP^q#KOxd2hFCfz`LKQXaV$GH*Ty&m_*6>u({+L>@- zSNqtahFNO4U=zmVBRuaDPymN-Q3_j*LL%4#$^BYPT!}r8KP-iZ6}km`y=jS}#WhPd zf`vdqxie^c29ThZudP!aDC3pmT`IBASI>0oQu=#nuhWTfi&!DZycJJNs*Supk(TJB zwk)O~Sv>r@c#KGbN88x4mY|fb>goksOf*i9pLRBpwV%DuK_aq`o`eTO!=TB{7Yz`X zvNW>?r_Q~z=b;yPbw=EUU^+q&6vUDL)HMo-nY|5w{i+0wL_H0uoR&4zUleVU$N<7_Z-_B`fx$V>3gEY!NKeI^7LW#&xUu@ku$sJ91}I*|T3kHqWR@UkpN0 z_rvfvXipzM|7LYNJuxipbq~IkDGJPt!KvYNfGyc$YClz zdt~EX@d(Q#r)G{s%p;SIV5OR~yiJ47?xABL&Wuse_|H(b=`-LvZ8r0nsQP0vE4!1# zBRZRBP%4F_cKhx2>!QcQ0z0&_mQo6`>J*T#jd|=5?_)E`tm&?$Hx63)L0&IRQ8t#) z(@Q$f&F>K4+FItMmNi+Pq~ZAZk1N(yI^Vy zzyhG4?uj&wwF}i8|m@@)Q!TAF2|njYX9^qEfr;GHi_Xsu6CxQ%mR`2 z+7^fC-uc^Dx0C0mNALCuXY8oSf+NSoFg@sZ)4Wu8Pe%#t*0G)0`a)y&xP#e68F!KO zlW|Ibk}j+#ur4!Cv`SBjawW>TxruDg&58RI-S>qNa?GBmeM8Gd}ho5mvZ0 z#J+Ej^Y9gYnD$)$PI2bUzMbN1lFkb z7rLw?3qAumN3$iO!Mg>m)aB+Ymw zee1iBTrh<0S|08~dXaw7&*<(ryDrO+Q_HzW^raJ05LHp-D3N`E|Y&rl2@y zZ;9?hYS~4WMGzfCT0H-|9i6{FCkA7o#L^|)HpS^dEjP?4O^o%x3^lKO+^2x^D}|CJ zB{=_^&TtKwJ+2T~mohKxfI;X|EA(ZgG2TiVc{xlBxoQMAg^0=dmdP6NBbBEka3UKb zrO7o^X%S8cQ{~qrclKkKc=@#nE+~E+@6Af)2`*jWQjPt zE~{DV>d1EK4TxK^=m`iN+S?ufaW+g#c3u9j867-N~%cq1`;vzJkU#*p2Snly-)USla5wkHgF&a zBIQH>rtlBaruG6fcG4WxQ9Y*<8#&JBRmEOahFF0@?pfoy!F&a7Z04R=Ikv&1-9aD$ zE}fzyE_b3J!LUcCb9%VjGux?HMpE4~E;cPUkH`SRIo%Lbt^uaSJ#ULlt-P~!{+GZJ zsnuN{s}z3%vXq`1w7p_ug~T!*#aqsXQ{n2}DqKDp3)g7|D4PF%jl$aB!}iNgHul6& zpOdhK{OgY-QBtyWt)xUG7_T8t&u=Rgv+Y6}3$Eiix_zyksCgbn)f$CD=&{iRF?`C0 zZw~Vdst6fceMuxzY5i$*C3;{J$@Rp#g73V1rz>&!BUCx98A(}kvYam1 zW-?1G@^_&{l}7%c@3jsEo)2?yvDBUSaTDzzk1!2tu9PV`XkKMJ%#39-P7-w5olik`NPoYTD~h3lII!Ve7Fq zZ8zE>AwJXfEAh@J=#B4vYghY|EuE-vF5aU&2O*&z#v3(Hzu#bVN{m34EzmvN8CBln z2z2VJ+9F7ka83H(Ox6qyF#qOfB9Xi;ie)8}UZabO@u1Ivw$qskzs<@c$({(1gx>Ny zcqg&)hXf7}q2o2>yupqr;fL!Uw={nkzXdq9$)T+Mop-v>*JB;EreLm^Awr^LP`9JV z5W9^0o$vas+{8AorRYN9Yn7PTctjS*D-=fWe_`ku5VGw{$A68TBl|f=#(R|vZPxo# zA%v_(%cb5^U!8T*!?zul1|#j-TFOE1cHm=Phi|EH!-Vqy!O0NXx>)_ln(ea*@7|LB0SNOpwzb&eF>8Nye2q6pc4hl=^W!Hn zNbu@dhD2bgKD!hNdauj=1SidfCxmuKzUaJeOd+$$q+WHN1tkshp0-&gkJYSDJXC|x z%6x%y3VIg;JJrrt8YyOJJxA9GC|j(|oi}D+Au#-jC`7_tSa<-I^G* z5fH-h*k-0eu0DaxrlQvOsS9XuwR3(%xIn?y=qR$j8_5@N*KK;`ScFHY;5EYkG(M(Y ztRWy)re-ozbM2sFA+lE)jEN8U>ti9^Zgk(9qrPRA&E!3B0652SKoV{dl&sAt#JG=G zIXK=#=gOefs#t?J^R!?m>M^w)?)r?yTq%R`a)#x zd~|k$5-&!sC;7&+=q@Z_U!AsY0 znW$dFI*eBCyOx_Dk8l0oxApt26S1VLV10?>u5%}-w|?MvEaYV1Fa)ZDr|e7be$lxp zbufp=q}lVsRwl7bMP)^V4Nt_TW!SizSUHDmRw@8A_-|^vuEM}@ZV6rk>~UBw-C;_| z0cU@aMNzb0URm|UOw6tQf+ezqJRs2B{8>;a-nqwUynFfJn-z!v?e4~2T9|iGfu~mN zooge~q#;>-oriUs{o6a;e9*h~OgBSmVvArD{Q~huj={gWI+ig{6mgywfcsw+L3Z@7 zazsZV&LUjS!KjH46uVcjaEBjBl-u@p=$`yRg4=t+eChZ_Zxx9p<|*<}mw>vw%CLU? zjedoAlM>&N^RMfu<5x=O#cX0Fi7g+%T3*S}zuwgrE-g$wJtxNpUl)|7q=X&zTuDJe zDTQ0ct;EXF0jV#7R)2ReSf{x3Ep0dks3nYfJH+cseDhIFsmNPavU-A&vQRv&BW05^ zz1X(y`MkXJrIAW8K)UW=Ppf9HmTJQuC7ZKz7}HtaaZ8I)HKn;udJgC1pAyc1z^+ZP zXw`_LY_+DCwrj~j_tqZ8qd?TTwBs2~?F8qr`xo}Q5iJw4Q{dXLuH%F?~-Mb`Ai*U^zja`JANgc6ryi`%D zGSJR{Q?1tMK$f7&DMk1SiTckWmr*Lg=FJ)p!WW1#uI#KQvAjDAHy*i8@Rxq8oZ*V! z1`Yl#8B*m2Ue``ASafTn8hPyGu1a{lLVIDwl_eu_d#f05yUM>hO%C%2S`{|)$Rkt& z@%(umZBk4ul057y`I~@D$O=E3^HlzcZ+2e+0lea#0No~NaPwXs!3)dNiQ^w9N}8_A zNi_zV`Pahmo5BF_=JC;uOLyXmD3~jZg!|(`vv!N|c27ca-uDXeJ=1(zb82 zWRUoej&lP(>>!5XwQF?iAigE5HG1HGtMVDEAetE6iTgqJf8jFX6~G6qv^2rrxIrv2+<&L9bx?JBqgoqeoAw+iChR9+*v zU9EmBo5T@U6@TrQgab{%7mv@9`(1-*kL|+8DS-!1fn`-lwZ+lIt}<^V{l{t=mt zPu7}eJAsLl9%mEmlJdNDZ45wad62GnCyAuIeZCQ#`?4u^LQnS(RI=2?!^r~lHk=;h z?;$em#Y=7gt&u|A5;sw*5k=XJ^(tT>^1OwCU0o9LMUs6!m%T+sawO!p7$$qZUN*-! zl;W2_CF`!%tQi}=PTmvs_@=Ersj{;kq2%K;7M7FZi?bv964+LPeP2t1@?7CgUhz|K zIQR)D!%=D=SVG=DsVYW`dPIaGMM7FA(BHeO0T#{O(HMC>!s|d6K5g1o+ES91>ydtA zN(KR81dZf+oK6AViWq8&kt+5o4898(qW3tB!sxCqA?{PsM|fDYMXxlpu1fT z*x=>0C|zz*jcnH9F4{K8Z1fxbk52|;&&%rn`3KOUU>CNLk;9W54iB-H7O%?5PyTiy z!v&ckIr$FNz6e_ULZ+B*%0;l}-a>p+m6v}(n{tzi*1DFr z(5tbS-+_LypdA)O*yn@~8CPyIzay=iX1Hea#}d9RkYfpRIP;1@s}c69t57c@D!~^{ z7e4c?x3fiB#LG~>`YpxJ{gQ=GG zzyCez`XNCK?pui4s?X&O&Oa}Arfh`U2WS0x_21CVX9HIEnck7sw;NpJ+QPg`!2D7+ z*TF!Y1+HC=Bplw=CEog7*oi9denv{zN3-|(^;1kAr^sbT4m|)oz@G|oeHb;kVX%a zwJ()rEh|x4C&q=jKhb4YUCpX3==S?$PV@ChK2O8tA26`T7JD9Rli@=xhT#U}=$f(H z7P~_6T#GVBZ!SwAazd!aD3Y~OOcHBkQ5!ALa=KX=xllTgI=hp%%?{08m|~Ui&Z};~ zOp<_j`d{!j6Io?^P<<)Sa2}HN5-(grMiLII9!NU}KP~2$Qw;DuBAv8ssGd9i^)`6a z;a?7~C=hgST<`JkaZz*9(Q)dTWLl7EDepqCE*3lV%U1{f$pPTsMP_P9GolQ-HL8ba6E9lO}vv zEO6zyGRDUiaeF%6b|;`6*fxYR*pC|*jb0H?mYZlP6doZ2Hc$ROumtie@|54W`v(LI zBfM=!X%R*;&C5K!FPPobb%62%8~vF|_Z7~MXZ9-B@C|8CxP2tdLndfX;Ex>i#iJ8< zhVl_Dfj&e*UtoPoq|6Yq$E~i2LE>odBh?YFK8~9Hv9F16CSI z~E_ zA>Ml9D9G)Wdbbe#rQ??F1z+7T#=ZfW)6=qsDMm2 zg=T}vlkEBqn9A!smLdG=8%n%y0R7gJUzG?GP=+h>dIi(F?n0wKz1QAMZ$vx9x%-C} zn7B>rg@~>1x<=b-uQ-jJ?`?j#I3I*VVr9w(nu{RbkuPD#!~Y<`=W|xPeAV5hbkJ0z zmZIE8*mFtjLC&}*-2LDKU0}?XxYOj43D|IEX%%?wEMhGn$w;=UZu!^g`3)39)0rl( z6BOr#9D@upi-_Qg@!$fyK|_Zf3RIBc{cRC!+!<1E|XWRf-)?yqM9`yhm6H z>BCU}2277}zIfC6k&mB6|1e#R{s9!;E5`9Sal6iL7x`Cetrxh!TcK>#z6M=(LWkUZ zcw!r0_ShBdNoSq+8A@#dbvQ|BKxDv7Pm}Zj>xm{C76y>y_%eJPn317V{jDPw`(#n< zR(y-84koEFT~GNg9VKe2$moHtA+I0PJolbYkhLFAv5IMq2)0N{43y8HeW> zFOyIj8{+-RHf_2}({b76$~MPx8QuJQ|4P79d-9$-UCvbMp8w?EPD>y=M37TDy9lfg z%GgiXC4SdEH@|U>%Q{r(^w-kzLo3KB8WLXaa+0|j1*2Wq(~S-A{?}KAUgQSP_#NgGE%pTBe{;3-^M-wk_9U}WZ zZu*A!K58@5sWOmxN{@>Q&&t19>)=_j=v^_zK0qhOpT=#z`}5gpnm2c{V2f$;?R8Oe zjF(T{eoa@=;?2b~aXm$hcvUh&2b6J}(zTaTa9L%0`SaBn9lw$3QSZIo3{}2{%CJwV z(k7aV99)s#EP&fk9purE=Vqh#)49><8Wx# zlY3=|CM0<0koT2tzfTb2N+C&sz7QL0}Lk$gx*xmi9uH~K>eclOH2 zK>_)w1st#ZLc4k~h=@4uao=HtiUIyC!^~ZyheENzg93tR}ZMAK`Y;lj$!102 z;9-xP(SwUQN7uju*nFKw&!H?brBx-dFdxXNq%!M?xh^Km3xpt7>E=SiY~8kG;VDQ2 z^)qBlRoUU|5mzO^dtHi90v3eh_Isub&F>DVs;eTChGlCZ5zwm6DKGjv;VS043)Vw1 z{M4k55D{xkt@+GeQKX_JzQ%Xizh@WuzVGgX#L%QC*mHL5F?Z;}-oMOJ!0O2OXtD!9 zeDAOc05oX4!)X;7LB#j_=vDgHNL3Gk-Ra6Yg&E}O>J2<@;tzejPK!Ch*`+KdU||j* zu#A#zh!_C!*J}?NF4r(cnoo~+H@%Yk9KU@?3mzPMV1!sgchZL9p%L_DEufgcJgFlxvd7w^Q?q|-A| zo2l1gu)ntHoKE=02EQiJrUO(xK$EAF#rMbaOA=mnbw+(HyG}!BNEKiV+7Oqz6;P@_ z6LWcgCAV7)IkIP(I7Pw8;M(mDaX8oEO_hCI(~j(9n&IMMcvLEvUL%J-E?cq#hBNCSNiOe2 ze2nPH7HOIS_@Dd?iMnL}jynK{2KXu`0LEERib4Mj*(2C&^g?LBcYuW{b%L;G^4CDFB1J6*UVrwkFn&iB3rh`i!1x z>D}oQJ)sJXfaQui`S^A47bJco-Z(`$>#^M>?+NaA6F0|92WqP8XI&?|v-rguV%xm% z8AygsA1hT8XT_N?+;t+9KftU5HZQ^Ir6dP^W@-Ozw&*%|5Ijg$+x^phaPeHvn;j8> zTsq^HkrF_-B>`!MewMpqytjt7_B?C@>dy|*s4rusC=pg1%ltnx!i;Da${1S_Ysd9g zN=XvAz{N!%CZ#@;^D&QvXg;!({hTu3(y?9=@}0P(X2+Qs>&PJ_O^{U z1N&fB`%m-W)dg$sFvKtR6_54+$3$>3j$7Zq&i$xx_+!W~AgeT3K!Q2W^Nrhy;$tT| zr~Tq6C$-qmP??VQes-Do0*EwrOIR$w7|^4@iG#o!3Q@U+KGJ+ayu0U>+l$viLasyK zK#IvZvoCTIImxN52PI0fn_MImOLXndJKBpJ@ORuOaazf=J3slfPp2WQcVIRH3Cj$GUXR?E z^Blj8vt(P7X{j@pSlNRFn8)HNq;LsMJI>*~+(-n{Y-Ktp+Ni0tg&PTOy!Fghe=jm{ z2tD!AGOE{Yvu4spz)zRO496zja_45 z{pj`rRnlEu>Rx3fjNXA$0w*oy=TGe_X({XUs#8XI)pUKwUyw~8CA+>SGzYnNJ-SFW zAEJqgrw|4!wm3U~Kmr*Sssx?7G58PeHWDm&;{10@B}=+oaKpqL33kMEcb%!3SMp8o9=Ty4<_F&aJ(%yk zRo_XPFKup@ni2FFzSvKF6OvLj=x;VM?uQF{fu4RJ?Fe2+R;*G(kqRYVSP37sgE{-4L@M_!f|t5C zVCB+rnz4T|$Sx*NVmNf2oJ$dJ`kneVEC8?NurWPo_&$;emo$f6UvsL*7B(V=Valle z%zBA9Y@zeLtd?|j40fC+(UuZl=)~<{`A?w(%I|Ml;=SS-N%J%UFH5I8CFk?Z787rP zTU+mm#XmT*hRtN71u8X=M&T?%*rIl~Cu@3uOCt#JLBZIJSUZC_B_rqoiz?qqO`KP} zW1S8sL*G*J>IF#Gq%rZQ0OHE@MG z{!uBr+%>}T`Wff)fl~detY^p-&Bwm`=*+8IiO)<7T|+Bzr@?PW7Xup|mp2asDZmoK zp4#cD!qzUKi^$3vsrb@UZ*^E!)#A|%CLlDc)Tns={*cFRqz3F)+dLa`;twpgMatvi zJPRefmu8u(y-O*JlUlU4QLpE>6i=3BK7TgR+~l@F{r;%jmIRgqn1k?P62KZv>gOhZ zBYL8mhd3T9SA((OHkYT_8my+{5Xj*|#Ey5Sh@F@;5Enlmeoa&7qiG=y!bCRhI z`1tM{+qMP~C1)#JO?WjD5!dXb)^ru>P{USYsar1A!_UAZxKlv;itHQ}eYwf|rc}r|04R~qL)>jQux%Uym0em` zb3pE2Y4McZ58a-^UQx2z)jAo3$lPJ*vCcX+O}l!#{{ zQ5DGN1S!WKFPoSUYv+@t<`9tZ_czp$=4+=*DG|V$;QlQ!X1w?CN+Lk@#V%Bf%6Azq z*j_^2`(ke&^i6c;f2|xs%j4(xT>#AZuVf|rpuVH;2bV1~hWIH^>=x77CH{^n{t_Y{ zJriqA9s)TFZG`5`dsS@$IgM^62E^LsDk=E{YCKOGDoFF+eMLhR zf4(y6{IBJavSkt@*vA z5zAgCBf|Zx!Xy@7g)P1Yefh*Kto@_pf$-I5ogY4a`$kN27ko=y{#Jh7t()q(fASv) z$MC(d_%yKVm&{o&w%ohmVO*bu7-s8}8IE>&n{;@3^cKMN<898mF0uT(^N#+n^S#xC z6k*W2EYbx#&@~6V_tUVoo#Tav#{GoHAhFG{64Ibn&+g;9tYZ$FlJWM}rZ2BC3krYj zUPN@S+@wPC!!&cP+Qfe~3!rV0JR?fb2fnwS$NW#Aim66;U9sfrbxfHOMCMyZSubj3Iu*;FFCK1?WG z6b{F$$_SO|8Ad1GRVrP!tbfo{_8{?ela5tWwj7Mr~A8zJ0-@h9f# z!=dlJwd;K?I*K)GGd!O!ex;?7RRW%LdHK3XQ&G^>y4$t^vq;$6LV%uogKu^wB-Vf$ z=qvI!~WgoM*nYJ!;c$ErN?;QpxH&8fOb!7Gf#zXZA(TiOs;A zUTJ@ESV(lQ)r6Pz@Pv)&ih)ZFIqdM>j0l6^J9*Tf8>)vXo`0Y#C+ITy^ob+;dj&RS zCGCjq=K%FLNk>_(1cCG_yX%@ANGv8F1#Ubmmn>kezYvzt5Ow_SE)ENYzSz0alK*g% zr>UJE$dM;9<7&PS&~^c}WV*LSyRSt3agb!?4@=Bw!5KSObn`OW4rzN0`=oKcwX$*MK=PIQq;oX|54fe3m>Kq`-R} zFON|G<_qLn=5)yq8YL;~cwelz{n5=*OZ2vAyWCA2A+8xTzvbjR3A*{0d{b>slrIwh z5KD|?yN16kTG*a{btwR>%U`9k;S+A3p+LGY^749c^B(??Z9Q`*iujuR z=%=;EK3#J5)ae%oY|zrvvl7o!$yFkdeD1=_T406D`7}Q99&`b!ljJe+yp!0!atm+Y z&t1cFyzmKi80FiUKV;froJ!1vax8(m7 znJTK{?v!nL2$t2@OUc4K80SK-r7)iZva3}%a;e$=EZa(hhjoqn0qzxPFK|n0`0tjr zL4Vz0SCaA#t2P^KjtYr>v4RBmyR8Bj3R^zF7I~`cUF6rIhb1R{1509~kziy_RIe^= zY$$Z4xbd{#pZNlS|0HvRpk(I;s>we?-%Mk)XW>ZLosAcu+PIqZZ1pOIG}4$?{?Rp` z>+YnN8cB;NTj%yZtPK%?Idnh?gIV~EUV^P|@iZ07HQ(mGpZHEPv*-{E@ zwEWp%dU6N1@Yo2bP;G|^LvyQ}y_Z~PVP5gk!O&#*9DN^2@XELl&RNnomX?i zb=kDoH1KWQbxwqX76)X}epbaLFV-9bs8vv+OG+RhLRCJ-g@FF4bv{~Pav9E+iG7wP6@*LY4U|S_5hy66? z>=9$+7GUt@SiglI&WfXv;@iw)NSmL=BybrQz(|f5G~9oMx0rMqYj_tXJjTv}HT39D zV-06y%#rEuQ44X3)JX8R!0WFjyf$)0dK1xQ_4IZL`^CS|E*@AjB?FAt234pfMdRX{ z0>C4ScDpk`m5y|~6kI{FiI8-5>_-itPJN8Fms7>mKA#WvzvbxiblLQ$OIY=5_Pw)d zvcb;&QaOIUdxqcQm(58WP&BU9J0iU4C8{>yjHwly{rMA((s|JlrSJ+lmU10Gk?+z} zfYizq(WS+C2-l?WlMAdOLkXDY^$r13AcJy6lcZhF<}57rG^Ad_J&OybBRl$q@;57- zN?^!Mv(qSea3!E?tVL14yFF>2JF|__0blo6J&bti8B=HA~n%puo~z{-K`7MJu9$IAI*Bx2OrP08cO-yH@D{E(if1sB$D z2rDzeNfXic6|Hs=-dLYwd2#n3ZM+?3xEh!BYA+0X6EG3KC(FYCeLKr?DTO)~A1egb z40%(|W53Nfn9ko75-g3We*ak_H>p8R_cmLe{@kk`UYaKWItwKwk2lL505(%E0GU!v z6W@z~^xmkHYj`SNb|ZEb^Vn|-acD?oj+u^zY;romMsvwpC#>6|;T%AHsEbzj=Q1xj zmP4%%mR|B76=g4R{ARTU^5EqCn^eZs=O-HaZ{rML&uBDo$|3Er7<*w_+=Yd05-L+O zkOSDT$=`P`KT-ic-!Qg{h9p(5+{*F4MYzT9-tyUK8EH_E?gu5BYxoRb_3i%TN21|@ zhUjDTCcIH3?;1k(=fvj$Lt)2l8QbA9zgNY&*WY%$ecx%4Es3?awM|fnQ5#Ul)DHgq zjaGB**}kozF^@;4pEX;e%ym&EEepU!4%UwK&$tn-YQReVQ`bls);*=(e!{p$@*IL) zZESOPG`TA2$1(NppSm79p;>W~olKt*z3P|~4bl!+V~Jz>EgH%THXJ3*lNQslLtl+2 z6QO9x&jooxQi?!nmN{T>ZnKqY18Z*8+)|HqupnoWMqwymk*QR7)-h^wp4)1)EfkG% z@9uz23)AC7%WIm|wC6YQXh>6nOLn$xcD~O7@IMpa1_7*NAFXu*VtJ5Je=LDS|I+Qg z63ObS)ulhSE6qrVVk4WSs7mMKvvW?YAIB#oSkiv(b!KKIz60hJ^YNIza{{2h zY6_Qd&OcKSczY`{zyEh$OEryxsyT|%3(jh``L|62h|#AFy~F5@%<2XVzY)NPLdRo2 zx{cMW#T23lR#1@Kh4L^UbTdlE`GD#hG_=$MKDCfjaMC%ox2TR~_xVtq+aUR;AqtuP zkEn3^%Qpoq8*Z=?;%8i7cv<3!wWX4=2VHx2QLp|1O`XIi*}yyLMWF|D{%&%vt*bSP z75~l)c#RF`Xz$QG1UmC+lT*E!W7RIyC0J-6D5DwyzdkQNfxT9Z6}+(Cf*i`b3aYPA zlmfgvR(*DTUksWU>5=K)}BqQ+Fs z=ATY895vpGn}l;aYn+{soza?JI8qH9YpT$s2zV*#D3&`K#i)r~>mzeM>vh^Ciw7SOe5l_RJ95(shYgeT?4qhF$OBk?ORRqA^ zDGPoAh&d5Uy)-u~=R!(gL@r|Eleelbngrf`9owZgP@xkFn*x|4T3w@qa%h>A_n2Dg$aHY(kZN*aAn z8++v;cFU|bP)7xjou)?FFeI2-X!&(iuF6Xlwo3ul8y>3#l*8ng{!1i4xgyl%2dhD9WwN6UMFM8hA;pP%`8F0)qrYR=k~${#9?y?d_IbAC zu*uB_wp^^@`A``bU;*EU)8ZVfMF#!4wM|DYRd=dF;&*^bsFq;p<_(UwNvgU$OAr2I zhfanYpcw4L^|){1?uQ?It`J}^oBG39k;7Ku<6_?RORL9lFD<`rD8V7X&QZ^#iYYw@ zjY@Q&z#C5|CoftLolQuk)*7t(B=_@U!%q0HT5OEot!H)JBM%k3?8q)98-@C5y>3D* zA9NN~1n}s`?h8wBuKx4K3Ua@rd#nz|?853*t78;cbo$h?5rb0T@20#ETZx6JdP|^q zIwvOJM*tGxx0);WbxF11_THeTT_V#^OfdAtD>GX}JFG3!MNg?;Hq&455?Q6_VJXo) z`S9fjz&4w0&*QoJ-~d!{1sb-$32&}bdGCplGfAkNmr3UKV25 zJJhptX#lD&^6t1nt(RXIe(|0Su`_k*^J&oHj_wAZoYCT5fi=H*CZ_+p8KBPHqMblE z-(lc)eWyV;Ga8(K0w#sK*q7$h&%Xt?nGD2YDJQ(`jh>m?&OOqY7i@lH5ymCdoSgM9 zP-B*F98mw3kii=C@X?F>ma0Fh8kpP`WtQiOV{pNq{6T&=sV=NvF;5Mdetdpx-R<=t zl<#g1>glDnOQ+2C0#;NZ4;?UP&+@*~7sm;Y-3;c_y;DRBZxLDZ6ibTLJktnH44e(pCOLzjJ? zp(~|Jkqw5vQY+X1n+6Q!mCp1&xKs&w)lQLq zYNaAxCtVK~)SX@af}BPAt*7?>?dfOka?=%6wVz&6$q6V9O%M2Erd3im>h-pQt+g;~ zhMJ?P_KQ$`J_e_hGnZPq3)Q{UVKYbhh=S5ad-WXKPLX<$GI^*)E~8os-(xUn`+~d z%l{%L1jbfGy)sYgZRbtb$xD{z>0Ue)gG@sTudVZg;{Z_{8=ADH-d=z&Dq+^Vwd|YL zN}N>e#aq_G7iQO{SuRgZaOY;A2A`g0;L2s#E;G z(jQU)Q_f>t>u*4TuR+}AggdN?J4<|nRM#l(Rw>frR!)@=>nac=cwKuV?fl+nf(ZT# zs@(tscF<-kJFs^M_MU$|GXA-*ngFAn#uav(u^B`Up+*mj1qI4tN;}B?s z7~LQ*rrx5?;w#On?%NAyUQ58mF~9izGnA?)|7AaiBD19v;4}b%u$jCU!1nl(yQ}^s zus_l|o+J#>*fXBG*ydQ}B|K>U>GMzMmu+=ao{^dvV4gCIm-Ti7E)u^mGm^-osG)oA z*+QuK>2|X_ILUpOH^)N&O^u|!u}|}-OX|O9x|b8(yLr(|15p3t%X*E-h0}cHIArhO z|Csvfu&BBx;Kf2kN)(h75CJIx=~PNd>1L(7q*-85fh8oQrB*?@yIG}S>F)0CU0~V$ zF2DDEzwhJz!Smd`XJ*dKi8*s7mTa1Q8Lk{3+TuSdGb}6$8`j>Qpc?P8$ei(p-$R)?R25ks1KX) z`<~7?tlm5iV^Lj)bxT-wH@RGnQ|ya+)1NAAYRieLS=QK%RrfSR@oy`@E20`$1y_C^ zt?pH7HT+UMekvycsAs>gP5^pAO3OEZC8qOnjoSzn@0y}l?fmI4p^}QIq^ow7bGs?3 z3_XgonOD%`#bT9Yk=0D`(NumsV^>$#fC7d}QTYCL%#`p@5f6LikgJH}=M5`VC|F>j z@CRJc@0YD^zXFR(|8TL2@A4+3*jX-ga4?Xkel_J7}W{qN08Z`-|pami76Pl8BvmI$1j|HDP<72*dV zi>0gO{|}k&TL}PJHw&lIzsL-O2K#||qn51jALxYb4NE{h7Ft;ux^=w;gFurO6k_(E zyU*yHjQ<18o0bMZj?%Av^)KYJTqzX*atGpx87+|xfEkdzCkPOPq{SmlWCTFo8@Aeq0KsW)6!j+}|EvDQvuf`> z2XeaYw(u6{n;q$)nNRR`yKWRlY!T5MJMRwu&9 z3u6oC!%V3`3uFFG07+xCCtlJc}N;o9fwm3X(ZQef~F!?<6QJ_N*^yky= z4bVzSSX<3qfTT}-I;G44uiZpnVoRq~J>RArMXq?;QIlW|jms;x(PqFXmn^|J)PBVR z{UBAZxpUo(I@|S-*h%$PT(yMzTQ=S9cD%*;$7iW$!-6ni;*zjm4B-IQ(f{H}cm|N$ z&VT8GFNNbt-)%@ttgSAk`NDyrq9h~Zy`1u&b#=6s_-1;o5dLL2QSn{?#H6@-9}v^T zdGpzba|(jWtW}_!Ke@yGZq>nl4bN!_&_9%?_lr57CPMIwF|&40Ggw%P;+oxkGU$+vVs+nIU; zs3aQppdBg=4FI0c^p5$LdeR2Df!C@qPX?Q>6R6WV0r}}1Z;`H{6^eMOOodZo>5-+! z{LdZ^*eVfv4p|gLAR#*jZQ$JSH~Gl&G&_9Hj->g2=2QSkE@LAAM3+MT(;)yvG%U@j z%X3LbD`HDP{&pq1ap zZM7$We>!cz30BVg=v|^-P`DHT=la11bq2(pwBkL(7wZVb4}cy#Z$CS6o{A(U3@$Rr zSBxdzJ&J88(mQ;GaPY^h+QuXIr{%TtH2J~tEr^m0Tc7i_h)y0pHuAcmE+^O8E^#$4L z4hM=37~#95yV2OhF(HGo^vwVbnpO#dlce%pbg4ws)~51$Xt+ut71K~o6kxuP@VV%J z%%$&OUUY^rIaOjlltB1t2WQ7Q9JK=x(ZO;E-@GrmMWJPs#Wb2W#0dU3r+E&#_OV~q z7@(Wt5RbPu~^%9$=*x8KlWg)^{S;bk@GA&~J zN8P^j`t?@_n`HHVNmJR>>%boVkZy=ATOP%XU0nCu<6Sg}m%BzA`&>Ve0qaVa-!xqbwTYQ#!9|N;udz zKg|7XmRl|z-r>oNv$b?3xXeZji(~S6Iu1rvzHwO;;8d&Tr+%ytd8(E*`Qeu1Nd~!P zeH@u;w(G`c_k6r6_q-2t!&+32sb&Y`PjW@h`fz2~kmO6cihwWBom3&C`uIk~BgD$4}N^()Yr_ssi(X(or7;gP)k+aCzt*YC-(BQbpsljADqMt#$Z zi7#_c9gfWsz$G)jv)URO9-^sMc1f6mVZe9qgO7Jh-N@ZR1@!E2=&bXf3L^r7sQ{>P zzX1;v##sGS?;V}2Yqc}y?KuVh>Is|kzfYLE8EHs)-Fjc9m zgRR}#=U4TCHEj@|5+qEUCAn9h$nh@)dLC;F4k(Vj+8MoNT3+*}2?jk!aC5bkbf?Np zzIxyPs>^*Q%e?|)GbyJ}}qa1a$wdMi)n+ODc_HS73WW;1&di zssOoBY#WD?*ySRyAP%b%v$vcFyR*C?Ty7u)y?JKBdX=$QoKOv7s&qu*+?8^1lrzQ&O^_WuYzYEccT-w=zj{EXJ071*2 z25#WoMN(%c53dM?%oxmEIGQv~uh1U37NwbILTZL#1h$A!-HKT;gI7gLdST*S(TTa$ ztU%6i)k|3_EeD0mx9i2#X3)Ljw2IZs#Nu%yr~W-ZQ{HuIlnv(Md?Xjn=`pWDJ#H|c zHwfL!`P9{uJB*lFQ|@a5vh14aC3(58QgAB}*Gbs3u@m6Lhmst0OAkLxjYE;ZLElrx zrvmF{lhoUGB7Vua}4ajKcVuuWpH@r*!duqJaXjGb?ESRzx0UvEyJII1#-__&4{1uo{R0rkS*C}^!oO*K- zH=KR2@8KqG(2YH1tFA|+Z6lJ_l(af&z%Qq_acZiaksT*#O$_U^f92| ze~vimz6FlRRuK#+_ zDtKCJ{Y%Nhx^&bu`e46*aPPVOeiw4n<1B9xEWk0UAb7A3xR985^ZyoWb=1Xodt{(t zY5!ybv9=CaDmpAOeFo(XHyMCbt!0wSjj+DQ@{0_UC}o7BvkTa{-pLbLt2a_UescD4 z{f0eSTjKPyzcI&JKF4x+at?fIC!uJMnSRVy&Nrm{@Zn~7`Uu3MA7Nm~#xfzN@I@4X zkA1`8c>cST@}brfh$4qB<%@f`*3q@Xx^(Nz?{byV4r$E@;ictU$DgDk!}iS(CWMvF zpKuQ}QEI2eL#Ep5Xw(nAy3;pq)P@rr@LVM_2cBNu$al4A37lM!{3-UDmZw5cFA;W4 z0_C{q0BCAO%1Z~_AOYw2a?pXwb7)IzvdP=zzM-K~LsbNu+?aM@+l+!}jhrny3b2G7 z*m9L381>q$2>Q2qb^^P~|aeUBk{{ikf3gSnudW3Wk1-TE*YV7b~)S)HW zxr3%BA5J;gijZ~L5>=0xqa+g5_qhCYq?O~) z+ZLVh+@chX$3%NK-#2?W>SKtN@p?|4e41*J{RM<5E4NgKc(%touVp2RQd<~tp;*;Y zI2_iTrXlA~^Qvh`a_05ZWmZi6>*v0T+Ke1@Ud-IB#x%YTej1HKXq0)P2*zE&?lUIBmHCgc)o?t-FgW zXUO*GF)nu6;(PpDHJMiCP&vy)cL>UIlM1`Gd~~2f!;pBC?!b|hH#t?jCSVi%CWi4h zfsaCX3GIme8t2v%WdHL;_=FvTC^x5~XhwX98r%C$qTO-G9m~mNuS}Q!6k8R47k2&x zYe=1Q={@yf%(zTi;@o<++97w2v!Pw^Pf2OgJtKL#QpyVxdEn+PX4A{S&*LnqX~L;= zQ7b813rsmY>ab?>TtXA-&BD@7Qipx8`VBBk7hBvg`~*6v7xSuF09MB)bvh)b9_fP3`37@sgv#f$&LjsprAJZTEGP+rGJLSJ*PZ$bC@|j_IGNf9ry)v&gu7W zBreid3{4JGKY=?wud3v^XdlN=x6$ws5kUb;$4ftDnqALupn^eRKT|5%XtN(MH`d!M zkIQM9!*;>#?rnE+T(Iz_f-xY9|)m0^7FzV<1noatkhM zkVZjoPg8}QgJ81afc~POn*{iM)PF9U-}2nv+?yT z)SE|I`^JsH-M;;I(d9oh*i?j687KJN5HW1o-Pv+O(N~q!nRhpkGArI*#?!OZ36L@V zx6IQ~5lTX?$S0<~A!?e!rpo4RW&HZhdD2o_WAA!;jv~ysootG)Xqz+@&mx5~Rl%>0 zihx+dNx?g8u0L1|w^%XxFT^7S0)=4(hef}PXzHrxYHIM!7U6XbC`Dctu1`%g%HS4> z)7i$aikV7n&w{wj7UxSZ#(r2W&g(7fRgY!8v$ny6&W8o8&T zun(J`CaDpX!+~Q~-;gW#D*8bH^y-`3=Zl^;;KskuY|vKx`xVqgz_FBWxkrUAe8Qe` z=|1SLjw)m`_NG6)chTmWb?+)KPPfNTdCUauT5m-f#m?o-;a!kM}+vwR~SRad0F zM(B+V&Ujk@m*g2`e@*nz2}8PS6dWeeqw$}(1vk|yiliF}QSTLytYciu92k90c!$UZ z!{LM04Ar&xn=%TsymxS~BjYtV_@#{)$iu2-(Y?fx z`K&x6VP2vE(5)Be$VWyYvXK)-iToQQCj;V^17C*L>gtK!$XS49CKFJ2V#ZP{=Xl9zVfoveSY4QKqrlc&W6lO^4%3FDd(Jx6)E7$kQ8D$oTJ2dIA$uQwrJ1-R$~S;RhvJk4UTQ zl}iJlU+qkq`+ybfKEol6WuoFtPi-gmZfIQOLpG!mgm1I6I3VrjE4i)QlpPNSxuXeMk5ibe|W#5qez~cQaLI{K& zj8x|2dxnt$S(^h%sm$1}@XYiTYo(K-O^8f^%;-|I&4~TqZul!dzO)=xsFgBbm3uSW zK;I)1VncV8=UWguw&!vTX(PSMwwVh7W<>U}p)1YpvCLyga_#b3{--l4Hc@Wjzt=3) zZ{%|P%vG8@4bDDLNuA`s(r{Zb?H>vV`x}qbE4BygHY1*7E))!}JyT@e(+8Y6ICW{$ zHK^T^s()ZK1-9BfXVkF8Y7N6`KE+mkUx^pzg}2LEljHl7TX-i)YKcr98R4myV1ty* z_NCCM!ps@gxtP?%G%t}hHivkf2-{^BQ9^O@d)B0VX&{mw+Mkw0Ags%w9_MSI>(9KT zsb2|nzis6HDl(H8Pa0sLHq{&7`?djPlE#F|U!liPaprfk1*JA}=Bns$P~_XQ(6F{uQwp8A8eEljmKWLxQGe)i*^KTXq|pWS;L!;=X^s!JszJ zvmn90YVN7ITe{K?mRU}%*SD?5hR}W$%f7IxG3@27fVawGHMKH=>>fA5px@Im){%=~ z>qAeOt7XErU?3}^c0pibhor3xL;>w#z#7#^$p3m$IC_{9!^UZG8DPe_C03@?vj}zr z#O-^ui;3waP3$^QX}H^xS?{5JYja?OjwFl+kCwH;Vhbm@NP&R)&FZ2XzVGSK)~ zP-7>j>+G1bu!$5x3hle)|4|D|o$3NQi0L&pumFsq{yb7bM%cr-q6pS?9(>Y{9w3NU zWf5!$v-fl<{=Fuw>S8%%d1zHp-t@ojX7nt=J)0NU%5;MtF<-S2(j#)$FK|X|tH$9K z3Gy{#705p>&su5Pz@0XA$*?y-=}0f1yEtlzmrQj6Ra%v^tV!uHorj<%YQ2 zT(7jKyF;kT;(Vn^73!Tuw93c>en9Ye6xhJ9{uZ-*rn$Y#y2FJyF)NpfNWkNxO?a!Y zjd(-8by{(WfU5lTW?Do~4#%F9=kP{%iZtG{cS00{62J)cOtO6dEZ`qo_kBy}rgORO z*|X(ez;j-vtR579&hdu$$5E?Y<-Ys2th^dsd@I>2^%f%BQH91mW2vxj_kJseaBRX3iu;dXN}#*S=E?(a@IewfG~GyXeB{ zk1%?ZlV3aB&Jk-SFK(6tG|o#WSJ@YnB6l~8dub~PejFvXAV|2T56R%oh^Z!A9LI+i z#22Hcw-?Jy(9$0n{F1{E!1GH_RZ-)KQ7vP1Lj}dn{QaS#^>hCo2{}YNOuXhR*a`IP zu3I{c2sF8`c$@PTuw?!uRms&~Y6P~=k9={OjSP9+=71~S-stlz zB^Hb_koVr3K&+TogI&iHfb2S>H6G4`7DT#HQ*%eVhQnvG(@S8wug0~yr#CyHDm^WG zR)IVtoyx@$I`;fjS{Dblqe96yBnQr;#Dzg-^?L?Jz-<3Xh`Z1kihR8+qj}B_gZBE+ z4#$-*f}0)$Y7xoJ?I8)f=Gp`ZI+qXvkyLACxq;b^syY>3N?Mv=4MJqmLGgll=Fa=w z;rqw|+44bm`k0FxX+v`IJ#!JiU3Ij_*M!=Jhv-FcMMCi_=E7C?`mfaqzzBa{rRgY4 zo6nWU?ygC^JM6I95;g}dOR4UwEdcMX+>R53-;j*zLQ$l;f;ugDYwG|N&W}t;s69i) zq3p+p6|4LPF3HB->dXS0^qiM*s|Wip`k4ojn*wl7Rq>9CD)Ta0Y@nA>v2+(3`%8&R zRXC2u>bbt3boOMnTe#W_FHba_Qc}6BU$K0*3fw^<|Klt=WNC@pw;D3l#MmnO{Lmu6 zYX#0Yx$Lg!{WtrdxNg0Xbe<7lH47L1NQ^ZHR9hTserdWQhCwWzdms%^6s~Idx&mOnxk;4PedA) z<*}x}6hj`mHB)0);lOo~1_2hPt??Gi9ap?-@!_`yd@W|u0vlIsM5&_^PjR&ANYpfTW zps3V`$xhb5y%nZo8p&g@Kds1Olv3Y&d1K@xBc@=BG4q8GJ8}_DxjnPhQk|OndIk>U z1AdxJ-JLx2br^8Fn6{O)%0I#ED_nXRYHV3{*$9We7qQewQ@DwXQ9s=OlD2fHa7J-l z)2^pF^AH=df386e9IkvH(|i@esDo!kM_`U6YS!qC-zL9-P4cO&jLh-7K@IbmVM`Ru z?c-01^F4)r9PP5f1JGZl6*=!MP*ix@a`%m9iCZRU=1&y}z}wHaEAM17^Eft%ECLwd zTP>Ya7YFv)i3uC?2ad3#^B;=42}3II0a>WrguwmAD|~yd(^7jE$=o!q{8|-7FNLZ= zXoN~!vs*Xfep|8yhjVqJoLD`hEIcqIS*OFC8{-n{Rwt0tB5|nEs4DJr^ZSB*oJPYQ zkb&f@;kS9EXdb^JOn%-Iw64(C4lnGSNCkJ%sNmC^l1{9U*dkyaCa?Z7&;jnaCGwJX zR@u!GY84-v#xOQ;{`|(~E1KA)=koSD5cxx&=0DyBbIfl7PgKKL&7{!G*camBF_0|D zZ*@1lA$Ft6-#A@&U8nd+evRnq_L7-&=S@;z-AE22kIvTcW1%z;4r|r~re&(C^_wM} z!_Kz>zrT?u6^S5QFEv7{?+)$T&g|tILdNF zeE^p74H(j|S4*LwC_^Ih^)i6XXwAS2+R;*o!?ct0pOFJ$=(@~wT4PP}ahTm*Tq{|h zk5|=Pi^&VZPcJc-AI?QZ$|3FNO^NdfY5JqWYf=;V0GqLMtbdpE{#&N^`yi5o~=BTX$-&9IL z1@m0da}|zc*G$f#E*o;<8xVg>4RQw%SI_eo;ih$Jb?uA6bsJLcTaSoKF5C6E0q5_K zaTq3k^kAPO(?l8IcS{A~jwVHd&nr9Wl*q;T?6LcY)E&sRY0_4LigjV?)!18HwRTxV zC;Mil44`KRz3B*G1zDo!WCb=D|CjVZ+YNv}W`+j4{3T0TIkUrq*Q6dHlzW#wK$XW2 zxksyF8MoUmJ>-f~PO0>I)x#Uylv7o_vZ8F=t9pbtIYH-PI4PZ{pHza@#<}AE?}NI1J<^ z!FCxDvhT^v?IY1;{)D)s5P0Uh{rLsG1fP->Lr&nVwj582kdbz%88l!gN^y)eoPFXdr<{=%=>L14Asj(1_#kJ}Kn^8oj@Edv3|al{^66tpC?Dbn&$ zRJ-doORP({f29)f@r!wlfyfM1B?`VWzqtkTakX~>uCKCJZeCDFK-Ooi&_3^0+T+Du zPmdq;U%YDno9>xjTjP`>e8V%-)iNo#>Ly3qRz0|86c6-8C63p167Lz(FKp$@^{Q0B zy%b#Ap@vOip-VdxQWL$mC!ip&qhQ7zbZNs&g%vW1tJ57jx_DoNWUM6Lp!{gp2e3jo>6nc3XE<`v{jey zd!Co(G388W#lpk8`+zM)a6UA+{D^&6`dgT*Js;hZd7TysnCHbJk*$S3I)}~Np`ui= zVO;9sXX|76UhT0X%EKab$l_lTK%vua(<4JY%r@-eCD^#%>Zv~-lV!ogbxDoo;CU=k z9lEp@e+Fi2gU5dGOCoC&%hI`3PR8E0bmpn8+m{O>@tI;Cw#N5o7j8Rt1QZUCmJz0| zy52vxrW?v&_tIWIfZdVgF4&gv4G#@Agu?52H4nx5WlM@m{JRhGL`ig?wT*s1WDP3c z!?oVn20RIEKi+>k`zG|Rj*;SJ3b=vq?~z4Ra7@tc##|ryJUa)bxw5UrwD){=dgKhL zJx=(pV=WTS`Zm!MRQio{Z=fNyCj#XBD&GU3ZqkERUM1G|V_JD%sI0`XtI%vu3?7|I zJB*94G$UT5o0ZfW2cx^Z`l1WcUK-m8^sc&~*Lkj9pOOYbQjZF~wSI3YH0(Mb)_re` zC(#yFI`Db2t^vCHmTS-!-@o8}Q%u-BKsWES2$fnxI!PJl(r_Mk=7%Q4Mx)2tYu+~8 z8?Ws9!LbPb9o!X>JSRq7`{B87PzPZiV>0Yj_O)8q0-*xdd~1uN5T ztn@bu@aPEpx%)6?gzsH_Tv>S1(vS3*=#ID{Df+7VuH38w$ET*r5e$wE2CR@4MATOX z>B?{Ev1E}UE?1T{;7YW3!gD|w9!WOq+chH9AFmjv2oRL9|qaG3$C{UFglz5t4bl?~+8Ls*Rt_pKd8+%IQt7*GEj zEIys2)Qe!=Qr>0!4dR?;hNhA5=bAZORqh&$=U=&Q`^b zy9vU-?_KG7zN=?OdU{}-@Z6{SEqdJ`v+val4hvRPUXoJZtID0c2tQ%I=2VRl?5p>w z?kT0lBQllfKWsGHnneZ-F2L>+EgS=%uEpPxAtrMyb}AfSXQ5vr>?-<=8kW_VUsBAWai1w1D2#85D9vC8$91rZ%dl$wBt4DJUCTonz^EBsYqsjRr z)ZrSm%MYS~RR{A6Sy>k@g3rOT6wIP)E1z5G0imWzRJqLC&y*6;3`pK;&1G0UyE7xi|Bo$9%-b%3nDQH-Obu20{y6Z6-#hEu{J8C+uaU3 z1mM)d?rX}Zr*@&ahPhw$+9bHSi0BTt(p{!H`co$#V};~*M%QW~W9q~xN^$cHci3`X z1HWqG_E2|-3XvB!gJv%dJHdMOec<_czX6(})FAmUf*_4*!ghm7qAi~eWoT-pwdb!# zjrizPZeyOuM}^58+XL(z3o`ab^+tOd*#?2ahA*tZQ?3e?Oi$e+d+SOJCRN}z$WJsc zmpk_k`WN>=-%d6`-deV)W!By5QfbNgvQQChjG3`bDt1LFN}pkrgye7OvY#<}U?y zju)+WbynQyKqM7;@T_Biw~vw|k#_;!9;9#~l|Ql;>tVfBt?LUGckaqvE5Uh}W??$i zOz%_F%sA#t8ytUja{Bsq097I)-rAZeOdIzJ7sWZyk3U?#kYF}ERhZjL{Fca?yu)=| zFIC2fp(-}dT=fz0pQ|Vun>VlOE-SggW;SoEeS2GRJ9W64#Uh6dmu<(%Mj-s<1;#~M z!LfKsZ;Hq52gjJj@b)=5c9*kuT=-Br+voo7M%@CEi}M^2O}l>S+42;0t8~rTbsq1T z`dPvX!}TuvbKlJ0e_qf}SST7aHH}Tl20*7*hfx$Unx~K0M4bj6InG)Qmu=v;OQ?c94Y7G& z2C&=1e#!O;M%4K}*uPVldxHbQ*xWY9_R}dAx?JrmQ`5H|o5R}$;S99=;fB*^!73^t zITg<)UroYy3+*q0DYxG;N}sF8Czc1>z1g}-|LQC5pLg{WTo~YyUctU2VmoY+{0)3H ze#U>?gPTdKkR4p>=FH-@mv~*FD50gX64!SrtLjmlX&^d&B&XoaIN0#L=yx0ocf+Jt zSTBX2-s{RH=d98F_Tmz(dotnRRY}w2FV4N4BO}Mfc}^JP5lxHA8Sz;y1buIC$$<{# zS(*?*rE(kTur7KZ^k&b?`v3^RyjSgv2b@a3$aXQ0*Jf0Z&7XcNbM!oRMU_;x_Aav_ z^-ktUsHiSueYUo>GRJ&VJC^eTJc5PtI2f#_6)HtU67YJ>NIUn5Sx;7 z>GR7`5J${BqN+c9V>^9etFG-F&mQ04wS}$tKD$4=RH3i)nRXcaL9UqzdpIcNzOP(} z!Vqt<(HeA6AVxaZuQdF2WId8xK58jU3Tps@=J@0z3h{uJ? z7xrfk7cN`lmlH2^FyfUCfu|13#@%nY|EL*QIolk|Tug_CaVc@=Y8lLLyiewu`Jfy5 zwCv_qyfw65pmnaRR}>@diq(RUs2>H%9ee3qxr)WoHCwhF9-PtJKdqlD+_feSz4Yr} zJM@Z#%?ce-*moW@B{IMKM0DGK0Y&QT3F^#=H8K#tHW)orMfBbzc5Cdtbg2*JN7Os+ zpM_tYYYf}!x%uW;!jjV)_#YHcXLYm~>VuP|rgN;qlzlHXfkw6EKIFI&>>=U&=bP4g zKjH&Q*o<_;Hp;RJsJe%CuR8`U#Bh095CJapxAJc=$CYzdq;dIUd1OKqUC7|4^GD+PJ`8doj@Sz9t4XRL+#3T37Q`FJ?v`2>&xh~8Ul z)*E!NL6(NP2J|=Q??UN5C!)Zp$H>BE|P0%JshVO zP>2V5M{&rM3IUaH$LHU=rVWBdx!vQJgVlz28HoKh(t!G(FocDdg9j`$zMz50577!Y z|A}ZY;Cs3IGoKh_-4wdi{9n`W8;@Pj@FaOz1CTfV{Y>-7=dA}F=uwDN%?p4I0Kp$k zOUWCCejuk*tKQpq|3pI+z3q({*u;<8zS8@S#QV2tTsKCsnog2aKqNZszjv95sz);&@JkSbH`LWB<|H9uu{ss(ot~cHT|5xlh`Y`{* zc|?W1o>F=OdNz*Uq*T8A_g(&@i&#OB@KtKzu_nLQ*_TCf}#j8T9IVp|4_K{ zHt+>g%zaQzw;?r6_at=(zrY!rBsgeDJjy43kZ*)RH9}Ah#m(X;F(`F` z{kgxN8-iqvrpr8J9JA*W$Qp&*6n1JNq!tE9{WV{kil5e-JB8aiD(qnNxlzXC1JH4AH-t{NwDg6)GHRKNo9%^A94A zi-85?#P>eU@QeC2f*4xT?6l}T3cmt3!IW7d7S^A<2jhl>xIJU$H6TwzwEM1IBJbjS zBlW|-q}XtCDfIgd<5Ok__}-BdkXz9|Wzd+|7|%byT}8l250LsNjV4ADl{C5pkDurc z8@UXy!QbdyQtax{!9MZsl2FnCaR5~4XWb=gR2~>MpN!BYxK09)!DFJcwG<+N?IqlM zyaRKqOHiE8F6YEkWgu38Vq$TgXjjKK{-3s0mq#Ds4v7E6eXya7#NH&qC?A#p$!O@; zX(}YxDxU$t76dy7`;5CE>{G?c3FbX7PBz6>?*Yk(K7HPkQ-O=0%iduQ6)eQI(h#3| zpeZgCwuqOTY$sJfiZ7L!0C+QfDl9!+)WFd3V&s}kjgP;D)eSk|N`OH%`|@Bm{9^F3 z*u?47>rjhYf6tE=cCy)ObcEa91B?3yTzWl~jFFn( ziE4-1Iud+wW5ys?7vaknbTI}vrO@uIT2dg15-HYe(4!bxd5H(`(4Q?wOY#0W9&i>E zsC>liOoCkuWi<}RjaA(b&@)suV#(cEGQ$p&b+h;4g!(_)I6l*c=tjMM558xs2LF>a2Mwk zC{&*|3{N!b1ESPpesy0b`ERFOQM*r&uSyABkh{vXI| zuyp>CnpP9WN4G$4jFJ8gDHXs}VJme1wt{hWk_0MK|NoD_I1HH_YO$?yq_sv@f(fdK4PM+$+N732Ssj8JbYW@oa^Qr_ByE%V)%p`V|Ag# z`oGj-B4+ok&Ag&5f61nLyE^!#R!d07H!k~`zj@4CdPPvZBY|ElQp#xHXP?`e!~5!8 zk-Oj{7E~OzW zpi!!Y5#*nf8@-%e$OQ#oSG+u2DbIJzQaW6p?S2JKxZsZMM6ufTqR9 z)!P19X!00GUa-}Kh1R+s855t`%nL@d2}R|{J#CD1#gp_8r6KRNrUdM+cfoZkiudqa zah$)!#F_de{%UopZZB6d8R%W*u#X_i1^M~U5~k#j#!XAlUakK=<%&Ng#~N0@bgRoW zH#gj7%H^YSDAUbgR%0`jW5L-R{H3=aCF-#<$31>4;_Exq7>7-oYn_pRCkWTO750*i z8m8)r&OWS|Idj=bGFLZK$gSpg`{H<{JLaywrM+o$_4!-))givZ1HFsf@Ox9CMh1r^ z?1kOcin{vWkIA24%O`lD;UOo0vlKW12u-0KOR3uS$e#Us7(q<=j$G?1VT2V*;(}Of zv+o9P#f+l_?4o^qEgTfoQ0OKVI`*AYt2$%fEoy|otw7$`O7$C}meYyqQx|r=^;ro| z8}q4e)ypimlqR)#JzoUR`60P-d6f(2nL;M68W^c_cvY$*s+q zr{@q zqe@SO%|!EYpYjg{2A1U)Umk0~L#x()50uKYiZSUc;&ZX%9lwO63_4GqUg+7PJ&KLj!9K$lXmDwyV#j%G za}&l>BbmZ7ac5?_>|Mr?=y2hMoUHC0y*6w8U!(9Kuw>dmJ6U|PW6gV;Q^KQDYizyq zn|cW3>i()s%V#3FFvN+vk>B7ReTS03(}dFDz4Z~*g>Ynhi|MCDz*2g9p1W`RNPp;W zTOpK}=3z4X@>@r;)k2yGtQ=wT1rwcI#%xJgW$86C+;FTJKsEohxry_B(vZT$!1^^D&5(HWkAxjgIK?yY?#ic9=9R&jFv%l z#Sh2>j-H-FUu;OigVRGe2@bDTKXk@=SGmY`~-#zt+(_qt?y+GTHNL^DczGk7x4y z@7nUDQ1?`KNYg};9(i8xNP)8)Yen+dqfK94j^q74-?u;9=&6G3_ zILeLkC=YG8}xmi>7D$vb+7pj2+w3aY*dH~kk04KX7lk{<~Z!m$4W$2Y~{q# zr|^@OVsle-E{c$SMq->%Ie+88h&no(CiavAsR?WI-8ldfF*R5jrkOo5KD{a{zf8Em zubAZuRb&is(4Z<3=q<`%*`+ruW|AL8WbLfexQVYhAZj3&4dQbTykx4<6ZQecs!#Vq zO91fE+#R8!f^+v~MN}ZLx$2ZynavJwL)UD`*heMwFUhQC1a?e{BNqmHdd`2eFJ+s| z8~w&5!>q&WOSQnp%9UOno;ZIy+>893K24+6Lu{j%>=AP(3v4;VJ^ z@EI!xG9$do+Vx>7dfN<%KGy5{hR-ao_ad@K1C8>GHZx)^PNFT>S>@WyGNR=r4w+^r6iG?oOQC)VXvpz9^YnFEL*JptKz6Y33+EcJHvulm*EDs#$>zs> z9FZ5@`M82R6f6%dT9n%ir3u*#E zC*Di*@~)cl+;x3Yy%cABGcA#NyXm+jfgPjnDA-W3G)rN0aiHyyc(l(4xWd*gE$7Ft zMv$y}ct5~J;26Clr!AE|9fmw8W|;Sy;;B_HGd>+%~(PwQF(oOGNkri*#MItwG@Kc4BKFW*r(2%{F{f-1Ws)JSt!aDg?X7Xzc zuNfaMa4HB|IFii7oXn_dFY+9Bbk>O%*;p}=s?oqfh+EsBs2Va9(q)_AcGKy1XoM*Z zH|5%@TD@pS&@3TBwk4iOICSS#Snl(czz2~?wOo|vo?g}uD&zaO5!0jQvaaQJmHB9L zCmmWbRE3ty#dN9Eop18fClq3lS1x|pN>!VUf5qxfeNC!FEU?rk{{W`Mm$!FHEf75U~8Ij^5<23YiRdauZTE)^_ zcef*npKv>;LK@|O9FkPK;?Ml##Yn?_E-5^;_DB=?2MBy1Q#sq`PxK zx;us*mG15sff+i792jQK_5ee8brL1voixcdjc-V&C|P!?A_!u#`3RJbH9A%XXA6mkk}nXoA<`GYCLRE6rY=gr|(K*|?IOtkPEQp87s z33EJ&BrheW%{#kuzIp8DmO@@}5I;4gD8}r0Hff=8-1&Yom37!?Cm2&yC05zwP^$0J zXG%T=Tn?U`%u?R6Ym_qj+1{cPSpV|4ApRhJ;e?X`vb37LmLfI)uLwX|Fk4V5P~vc6>Doa*rpsvlqBsvSFT~(Vwf&Y&T{Pqd6E$+H_gFu7 zlD}lJc-@hBo_E=Fei2T(LER{`fGM+Ucz@~nu{}n_{2DT8n*2h!6j$y+Dt9QhKpjUY zo=2mt2u{0?or30s*0vTbR#bX)Q0b4g699GPZew(l2}Qn4!PZ1aBvjCNf5PWPYIytU z{zl$p!;P*oHf5FDz(*?(Rh_AW9lEPkK-Bce&d7c1OCjK_k$rKLp$!7ZlO_E+#@qgw zjdE-}#-0mJb?XsM*T$HI-00mHc?V5}?xZ@LW<5tGX-ve*H!-lS5BKg6^{XzFr}ptt zC_K&88Yb#qi(pAn;9;#=>3U%xKf6WlPKqJ1Ai{n(_be75$?;ePik~Ij0i?gFXR~Sf zG3pe-od`GbpGZzZ$DJP_>SN`)O67^EHWrmnk9o*PwJssD7kv#13-{|JvtkZ38l~Uk zYGf!|EJYe|&0=Fs9@#uB_I$xL0cfg3@mAI7eebgxp*|$nbyO8k%sM64YJKDTsPmMT zgurV+x%TL=;nX=HC!u~-ec+MX9R*uk=|@qcfo-bFuJ?Are@~0`lkVaU?-I{2eqP9R zWj(**sysoXnxk6QJWp8YrAOlqQN`978PM2z)T`mnQnYfX?%9b+r`j>FNpPtB?gQM4 z`O{{jf8lAYcX`oxU|X+SSJlN%8w2s3e!#M$3i6+p^apKC-eBuIH*N_gIlcgRS`5um zn!)0q>T~JEGbWLGPNXRH`FpyC;C@+=wNPsM?orf^nuNq zTbZ1E0|4@Jk@{q}Y}t6wwXkDAZpN?69WMk>G|5^T6+e#-A-udC)BNaBOnfZ!7|#jo z{l-ibiM@^Ym@92EguiQ@;vMEIC<=XD&TVQv68dSFEfu%OXx2}YF}S>8uqGT?Vbh@ns|#U zNf-2v5jH$or^wO-eOEj2-O)#!`By%-(TN!@5O~LdeQa28@P!deRrfp>IG`}SGYPG_ z2z`U3xc(sU_%jO9(cD%dYXjH5l|sPKKOTy7Y>br^1rx2J#Y$q4s*mi%&%VeCKPsx_ z>8^i5)Q3UH_6hriJ;fb_C0h=BMRRCe0+yS)-(_c%xH6}PbtHFDe=*3ovG{vC&sEj> zN0MdNBOuZ-QSEIyzQu#QcO13*D?EZfZ-0Li^Xy@Ee)?ed-KR+(U#?8@4gdu0H!jw+ z4IQ#xTn^FVxptqVDtM+Z8!%ws8_fr|yLOOU%PEvk(qPkus2{I|&%N+plo8SS7No2) z-VX(S52IA9jU6^(GED{nb#y4w5x|buW#-D~^?KlRFI4Z9Y22k-*@(mOn`7n2c=y$F z7U#}lN$|c%ca_$F!`FWizQq2723qWT9xOGl|LRMklJz}^dR?KHLhsYqPx)H4=v~Ti zw-)LmBvHGLqs|#Y-v@}W`^jfbI%)mHK!XgG!qYBLSa)Ids;=kF!col{S$*TO?-Icb zhh(7XZyH8;NU9R>Ss{(7{@2mqOtO&=oR4M|i|}|4robO=o4ab4{7N=soMEzt!;F;$ z@5y7PE$cce;td*ltlPD%sR-L%$uMAbioMkc#1Pj>&NckRD?`F?STwsyx8_{+cwtZi zh%g^T;AnD76`iCX&uqBJDaVneYH615y;!9NV=wV%Gjq-~%ZIyhbobHkt7^itpChab zn#VsPUwN2XB=YQ(cdNDK{Fi=aRu~o#Mo6C@ zOfX&rF#>6$jROji(hr1f~8HnuDPSxulXfKsmG@%-3FC~v% zHIMZAaYz3xJoKHs{&wKrmjpaKGG1HQz5#)%As&h#T2N*8Nt{QI9UiCXHhDp2_o zBAf4Qfp}o?2R$~}#+Y6Y6UD1Th7wZe?obZfQOKfz05V`J>vQ{|3$`U|I!w0G z>^H4fmNKq}`I&mUn0HGpXMn+x?tKNq zL?RExQs>3|GiKIqVv+8X-*hnN?+VeJl}o!Ff%I6om5R`C+0y7O!L6himQ01GCE;y3 z?D=uB*Rdd)e57mQPm_)MbGF3~3`xyVhouG$&N(?Bx-v}TK{r~2{gh)uG7W_-HHT)) zgK%K=S3fdp{!#k4d6l5Rh9snF{$n!(FV&J>ji4AE1Z>@9c-+OQmIsIG^G(}4^k7_F zy;9Cv|AQ0|CmJnZkQwl~zciG`8t=>d_AFEEeJK?@yzuXBfS&WW88BmYIC6Z%lg8b{(Pb1`Oux>wwj-^ORTYMY-)_t6xH4I)cYh5g=YvCBxFt&O zrO~CYMU0k>={q~q(?x9b)*j?RjFIpCCce(H_C(h?nz8AYS-aS(T_UJU(br?)%-GVJ z;u?ROo+U!-U&=c>(1BaAm1yeR`6+^tZzT%6?kLP00;tnsm{3rP`k{tYr6C2in#6Ct z<5Q&6x3XP2j~Q8`NHW=}g*BDcuFBj@69(s3F9VZ7dbRCr8D&vM+KA7h%Sr28?GnZ$ zMi|^Vl-1T0&8eer>;pf%_|b=LzG_k{yHr6XhjU|DpLkVWG2lnA81&!RjMeXcAw3gJ zzQ|V^_RrHY>xBBIdFCsqQQ8d;R>*Z`_fBr!vymAPZa0ntp$1e(dw0%x)6s-kcHN9v ziFn&u(#)h}E0kP3Pcf#$IO_I~s$ZU5c<(OoVdg^@1fOudM;@5>))S0!MGY=jR0!x*t2-F~pr7FzXc4p^*yu^F(4-&=b~n?GzFut>=ob;RMW zroqYo(@{#Kx7aKt8U54P^`ZX5sR0BtO9q0hzDT&(v)RYC;8l9>_Bx1Dh~)U8HU>HJc#PfYlC%wNg~MRx$a8?WF=>hO{%=3${U9aWS_-s_{n+hcoWYc zQgz>&%FmADydnL?lgr}%%~n;Tc0YznH71Q}g|z59=pre$-~MV!8C z?Z)^sWsDI`26|A3-~mjU@QUdpCaLd@h=fll`YVqC-n;h-kiF}*$fUlzkMKfc?kE;U zwrs#nyi#xX0q~R_X_On@r+Q?Y%`ph=uo*5ec^9dIsd26#{#bioj42&`t-@t#`l@+| z2s*e(tggO7{1AWX*<)rUmwNL6rsTVSm=4d9S4Aqi_1Kz@%mKt@p0bwqSS9=I*lKJTh`O<`CF{Jt)UV8wEq%ki@DA`?MBJXT4{St_H zRom5Sv`Q0xJ$++l*fQ*FDD31qc``;+M9V!0P#%e>Nnbq~hXbeQ;IP{bJKME~%Ashn zmEvz~SQX=k9rm~IBtAGU*!RtCm$`h#HMr^MGZw(Ps5)q#>=V4i;)UL0a_gH$hzT17 zq`Vn`;*TTfsGnbR=pIQ0Xr{YQJHZHuqtCJz1=I`} z1Z;*C=~!74BU8y=I{MRCq+^m1E8EMB>x+#8*WF=dWvGLaQZ-s^@O7Usqlc|N?r`&r zDH|5>as#ZI*AaBw8LlnnaS-?i53gx&q1k+T;!whWJ?xi|q0dHG@4Ks8eSki|p9Bba zS0XGA|E4?R1d z7*Pt=qwX%#`wS^vyuxOM8(}J9)G^yVOjs^_U*`81FoztE;$|WKUjhrtaq|iC`2!sa zHVokzC&8NUd$j3%u+vk<3$~MkSsC_`E;a+ zHD|8C@%x4Oru~`sD=DW6GjZ*B$jMh9xOV0|TJyzh0yS0MoXWAXCiq){#pG2!C)NjN z*7V!uHo0$VgaSe4bk^JZEoW@oM{jB=ZHr-Zim#xlLMO@WSbbElQWW>$EK0p6nVuPLlMSzxKd!4+UT#f2kIe++& z3H#A3UMSVU@3h9f13~BAT|miBXCWW*GxDdTkV0jmsfmYZr--#hE6a~+==C`_ z;76sZ7p)NAYoq10xRH=;dkMmOS-L(9a|jw z<4)z?qbQ!QcT;Q(Hy6cK4eo>{fb2pFt$YHzLY9}>&gvgk-FY0~ZeV2Ejf9|!X~41X zP;z=-g>0kg1Np`=77`Dcu|2lQ)psf6O)QD08^#T&XjO1U?hP4>tDI{S#qX0qaG2+{ zzuh#*FR-zU^cA*IF4aC^GXN#RC{Cj5j31(ovF78~n*`&Zw2wZB1Eq|8+fKK2E!@C0 zuff9$eSl;3c(Gs6cX)Y6xAMy0vS}4NArE~PX{Z(R_hN&aZH_pwx796zy|O7pd_|(% zoP{Gxn@Ef6VML5YZ)vFMRbNU5eipjd_#u=bgVc6h`T0t&|+D!iECf=?~I@C|%A0#m!#yK(^D#9f?h* zGw|;qet(Br#uv}}BLxeg2{dtOGUMNSg*Cx9`&8k6<_|fkg5GK_e(Ff1|5=1ylx_~P z+)^s&2@Efcwezq6ryBcJ=Z)kj=$-%sgMotZWWp%i<0 z3&|5S=ki7E@ zG{!xUSh&xgiLR4C09Am3JwLrKqtS%20o&+IU^8*bf?LVD^T)!FfGkooZ&B_Bzr7cA zd|XW=(TT1}QIQ3Ie%k;3w8Yc{YOFT>28uTzzxBg+Z6Z9|3u!*Ux=k`v_vH#g(lm5sNYAj;XoGyB`>bSw&(8bcs0L65uDc+s(_31&z~V9l9V~f7t_$`0?;4`=D6nUQXj@X=M!UeB3h~ zcL{KHsZs;b1H)?I1oLL+m%d)O?+9Q*VYiSvmAN>FYD66|IndA~U4f<4wVP;o#f!x@j#4j)ODt7PRZ$ zI8EJ2lP;>?oL*aE4GsjB3eQea)9FM8#0a!FlJL9({xR*av2&683|N*LYhNVg#BM!Y zuoey9zK|96M?NFpkhGKx__#4q@d;L7n^)vU%Pc|%u@Zvl4RF2C#zZ9rB9z=bs(v$h z(%H)RY;=k5rC8ka;=YQ0D@8q4_$7-WV+aQpH>#BKeY%y+?|sk+t6wpNwkLHym+AL# zxo3b_5bl)WJE#j-zII|Up?zOWC)v8z=OMZF)n{ZHn52cnu$nh)zVD}T@G-#bhe?2b z^zy837dfnv?r}esyA^%pP5|DRT2RDnit#MO^s|QFeq^WBFy)48n4bF3O^L?`KL8F? z*;JDRA%%J)8jw+)Lgs$`(A&}5C+-fH;psp@sbL(0ID6W;xR!qoJ`u+XrPYBn=birW zZcjYKnFw|HojAKu1f-hUD|4$GKJwa#dgw)_50pdm>lLS(=~k(whut4c$cx<=Sr3A$dk4HaOcAU85n? zq(Xg{Ng#Z!9WilLp_JS%5*93XK{$dCR5Xo5XQz;@ab9J*2Wg0nBM%d-XdJ)yLu2?A zjorx6q?o>qHeapTo_G3gE|+hXd*&C0X%g*paZaz-sNJnzNs;>fXW^y_nP`JoGH-jG zqCzf>9v_QGA`b(Umk*idQ=Xt^-)mChWWt9h|Dv4H0VS8W-)PMhGHkh3{g4OCo%g3W zeI&aK4Dgi`VTK`NjLqpT<~1#Y4K?E#EY1sBy6vUXKzdox3+jvBT#Ro-2?H!MPqw87 zmGfRQU8H{UMZJ5kQeEIYHjV%uF;~Ln)9owcZC(anZ6`d318+@d51Y(trKEQCttNqn zi%lB7FWL1%htZZtr)vFWrznpGn_L9laFU2X7T5ym7;Vu{wtd%(s&4slf@s`#FgUlQ zzgE|^mr@(E%uqy{GR#S)g^(nRDzT)nLhji0`K{tRH-%&>beY&Wv- zi?~tvm*`sM2ySf0hN8`+(-J|DemwyL`c&QyClb@+2FJh|PvkPuWpQJ?VHEr1_r{qW zbL6-9Mbw^hVQE7r4lPpAlSD^Y<(9Qs$~;0~(e+G%|4kHl;a!&S>r!-{;%1(l`L6On8|r#K6F_T{K57bcuO;9snx+@E~z*s)r>Lm7cqEXI&&^h&cA!+G8q)p>oz?3ZZp8)d4f>eh4`i^hbN0a zYaL(o&;VPf>;s=p-$ApwxOOJifStR};0)_gYJ)=4wdD6HpfyGRdr`}rl^?znquu1o zk)x%mlbjoA>-EvXD2kUxv%Kn%;WV;qh{#VEr8NH;?sF@hBpkynW75!r92K0b*&IP7 z$|<#yUPH;ruW#JL3OBmz;U-ltaUcCw>|9{{@w%Wjyats<3PI-e?0(*>UlezY#|RmM2J0o{yYL*hdCm}o&S!L|M>sPe=7xwA@_79{&@bBK_3I0 zduP=iHN6Ds+RfchcSOxbS=>7D?V4@bh*Szr`5J%kSbT3|+iE`#yshLnl^{E$Y&o;* zx9lqv#nsqqL*@H*BU16~p-B>`q9lN>W9y!&4@ug6WR+LD&l!70)*G%!E?Q?~4EW${ z4eX`)L(!K;T$ots{ZanzFHD<^A2HKHmZ?#<6F})dIgw$09tI03fug7ey@`GS>*-bj z0fPQbKq%KW<4x5;3!n8gGvl51gZ-pqKE+9*|-scj2;JOnvJ+=Fu z%k7WC<2*EBX;}I7AjTp37aM>!0iBnvEqmQYTSX^e^WMM@7xBP5BK!-HE#SZ_>=#vy zb1GxSv>b!JXJq=A0z236YXg?}ZB|nISsc&PmmFW0Da<9UZ(t}pi)0t7$p(kaHapo3(jh8Fp!E5M`Z&X);4ah_GVcMkw*PicA zES7(+DR9~X5NE~Xy}O4b?&>KT!LKujVzSA3zlH;iUR8C~{j)Sgb{o9b7VdfM+AQ0`mTaKLBMl7^JoS4Pzpi4!v-jrmVZ zQ$WksK`MUZz{1aA43Oot0Z{ZyEM}bLk$B3C@Zg+CSQ02{--+Ae0TvmP%T27KZkw#f z3yt!gEFj8LzdmaDUNUwv-9W&ITajZrGrZLfMwmo@mcxPdNJ<=_u375N6s>xHEi7sO z%>wcWDLvosf|${;nHfxo5oEgwtVMX;^(J6Wg{kQu3GY2X`GVXMX6 z^u7ZAd00D7AA>+i(=~sf(!?L7bBb~V+Q5vEhv5aHu_*c^pxuB{blxb=@BNp@0x2Z5vGRsc!zZ%N02&p)T{5c{f4~vg9H#~LG7{%w~D?J z!WgR6KMoCko4?Xp(+3TS3M*Mp04aRfQ5;~%j=F?lF2rM z2yHQ=%v}lkDv&5qnX3m=1aY9~FdOET;s+QB$y33}B-RqkEg18a8MQSdEgvGq_+elT z01;u544P>lh>%dcRsNkf*=UCh)|vD^7DP6eS`tZviFPX!VUsdJWXsHJ&RE?uy-oos z9c+L(boaJC<}K~?C}Y>k8;v{kBPtLf!nL3Kq0Ife9iLbXF-+>hn}-TVTa0YBAyOYO z_9QeYk$jiETYmHSTJ>rJ3PyI77Cvgo&nR57KF7BKys<4L&$}W{poApLw(>fK{P4+1>r7T)CgvniW6gz&-qKS^7$+=Wnnq+`$8u3G25 zPZ#-`{j|-=S=AkEVEt=hJ?OXXw*6aOuij`QjP{S!xWf|}v+sMoU7mZ$sj7?tR-S#L zVcp&#t(ru(RG}gN1e_bGWr8-JJ5&-wBTa7InwXz2KJ1P9<~^C1wh*9*Bun)CO-p`t znNcCn62I31{XPJISQdq!^MuKEZU{w;1-(L9g3^8`Wqs&u*;mfpGSO@|zt7VCyr8oY zL?ZK4v96}BV6NzTit<(7AfSvxd)_BqZO(}%N#%jR#fdL%qMz0@zQ=7uHpf{9S=8Y$ zD*UDGhaAwn(RZJyZHmX&9yzbcQJ$0)P|WiNk4&Vh(r@*^wgz#%k0=)QMc;=&ons*b z4(x}JMQMT7SlN&?HuDY<_Xw&dUXKd@npsb%{{=B)*b=zCy;V2y>Qk1*Ti|UtaIpG$ ztMFBH_e(6hV^Qts<<~mpl=O2?Lo1f|8T>jxJ4Sn`0RWh4$7Nq-kXe)#$d%SEg6%|o ztM5f3{K|CRB4dV&Qw>r$O8PwzcLEAqXE?Nglx&MUnv}4Ilpx>O(>@`VYh_$^j&z-C z2#0hk&JV|bIo3#gx=!Xi@FdX&ZC7cc4|*isRmdx zd}!#Z%!63a*Xe_6c=XiP^|L^9U8M!jkZ-nlQhR2RF~11x`DZWhtqPq;k4I3B>_2tu z60W;EPa*&w5u4jHBA*EiF87o6mYWCmIhJL+g!6>qbQ!%^y^i9T48$ti#f|v>#HgNJ zJ9{~$Bt{QB_fYKcAz^J{cC8LDa!lYsGKiwpsO2JI6>_%kD{9GV5)0~wHK(}K%?3v?GU^{**hP<&OWR;+dm9{NNK1u|d?a*fZ^Pc6c)>R^Nr2NZ$ilYi!?hn}#~d ziEA6s``|2m)Uum{peCC}0q3{%?UjGS+(VCDGHYwRS>y=3KHvYPto#ImuA>0T1n@QQ zUmuuzLryi`dN>r~A#s&>S}(EhhUy=LRC8q z>QPpK(Cfd(ej03 z+U7sNtmB5#@?lcdh2O^a2*^0TVgWQ0IDpt&WfF9p z%2%TaIqOAqd;eGt0$h8 zN*`DeXIVe%uUi`4^iThQvJ`*1(3gb*Dy6kDpyfyEHO$Se##{8V{myJ1wv6M1s1wj) zG0-^_frBCPP{w1D&hWB(^W-9k%3s&G6`6kY487Ur4XSnbXfH_seHM|oBO^~rr3?6> z48A<4;4qwio)}mH@azB{4gZxX|M*V`Op4~24G_9|%#2bP@Qz?WWlVdxJO)3QK%n<1 zAiWW>-6*KI&98&5hdGoX910q6T?3aBG*4|C7E0&G=@5xj$9({1q60)keAblR5G_x% zd?Y8fe1*W>eu(v1iS1L|pPt1gWyj+ITvCBf1(2Vh7UG&{Pe3~`>;Cg@4yoLBX#x8%V4BcM1;=z>2&y3o9T<+f7$q}Q7Y3NW9PZZKjoQ^T7 zm>Lj;hUj1f=6-80Fmac?)|{l9_lH;5kDJru)EK;>|C-u#p@I6@{fD;RRjit#Oi~y< zP6s>J+88hnHhMZKAh_uqY<3I@w)3Vy1!X^jTrAs1%!htNeF~WAe&#a;Wyac+mu`tS$Kj34f2#Q%+%n?2?Z6jJG03ZR*qw-&{6IK+c$K;r4dTIxv?4Pq+$^ ziq?S&2xq;X$4yKU!ugranORwmLu7TnA+o1ec@W(G+OwKWStD^ADgc!dTqK+D(Q@`X zl%-Ll0bhaV?!=zXrIrM2pR*lZM>XigHm0R5{ccL%v% z3hgY7rWb2(MGbdI8of(CaIO47IoU^!F zTkq!dspXxsfF^jm_`+xC6kYbiD@S*_v#$zaVB1xL{~J5~4>}9&EEY_VKXw+V?#M<_ zoyCd*Ql}e#_?fv@zBG4|?5~b*5gaL0&fK;PSr8t!vC*M2uKp2o?tc^R3`m&o!=Nf0 zm>Bq%D}Ds2(Gx~(zSxiY|&w>^f=@U#cf?cRI*>6g!)J8>ROTD@`r!+M*+ zmhQUV3r7;8RBg8rbx_V$>9_daof2(ofN}L7DZnz=ZHZ|XCTP|dn{2F(G*Z#EwV-wayn!_=@(e&uc9%6)Vo({nzSQ^J=v=Sm$`SUivJJ|Qf$A|Q z7L~0X6gvPNwaN#d+Ga#@dbh4}Z(LpFi#E8hKUA6MuIZ9N$=dcukbDOZ|1+n&4`qzN z%e}W$Oqth%WxDU9Im^Yp_%wqIB&hXO4c4!|F?i<(R}qZg0ITDUGYXd+!)3*{$0_*% zpD?g&B8MNKjr?T;HK!_zC9L@f+fjlY{q}E5C`(le#0;&BV9+Xe+kG$Cx?E`;vsD$P zGUDzOuOCqEx>7Y(sZrRi?SDwi2N&dKy{sp}ZxEyM$er%{7WB=7OQigV+3Tnyapx|2 z(fFu@!%+UWX!v!9$8G7889%`v3YWi}Le76ZDfV=(!r%+#9jF_-{|PBue(+HaGE=et zC>~1)Y{v08lmEzTGn~AB^+BX?g|}a(CFr`(3qRb6(A;*G4ePkQryw66;bW2iPQb@Fz%-mrC4CzaxcyD>1DK<5u*9@*fYM z96wZKc9V3A0PitdJo?U`YLdBv>|#>fGp}#|*Wvx=Lm`P#w(=MW-U|&}er4S6Fcpo| z0o)sSc)b5O#s7Q=)-Xc{2jKk~!@U+w=JQ7pcl%xWKipmT8=K0!s-v_Vo|6?W&?5IR zkFc_fcMIoi#jE*ujQfQUS9e<0nCO2-89}`?HFS5w84O=O;?k%7hGzgya1FHT=FW@1 zPd&NwcZoPo$@Py;8*OO(qpVIu^!69&M}NInxF+8X|E|Ggo79baM0FhZAvS+`E6&AL zh5uKT!lCA8ocsjk;bcSF>~sHHKXY)Noxk_7`v36Y7vA-Ksm)$R!(KGYw|>4N_OL929^gr>Vzxew5`~TZwK24YCRv8E7os5Ok7;ptIBoT_{_Ncp^e${VC zh>kUqXWLrvDIkQYoVBnuea2=m&X%wxO|dr>veQiX7wfT5vfz}ZpK<@hsBbxeT}k)2 zoXKeQj(M-`eNjvuusv6BmX+t!3rt0Zo$v0CpCmOrs$xd1)zuYlM%IhIvW06|H-~X( zwO_tNEwp~)1tS7U?)O2BTQwt%o)Y(OaESR6`X92!?FPK2jDv5c(Z3n4W1~5-QrXk0 zc{{pvTylWW$Grhtp>t`TU?V+XpKQzB?a-Cq;@7ZsZx4ZsweTyAe&-N7ib~7YqZcZ; z&HaUe<{x_cQ=9}Us!nnD{W^LjmxAW#!7N)^CW$^hXMTlrd?1$l$$zOHD^R*o;|h)D z5bHwn90@H3wUr9f;D{yK=^v8&lBa_?b3(u*v(I92wB=9X zP1X1-Hv!i?KjIp6*^`B!$Nw(_xVr;qJVU#aG6e1Qb#<{@@t|qx%G_W7GtO7ei%`+E z!f7YNU+zZR!0POhB7S=xo8#xYHv3suehv;3^tk5_0F4g#MeffQKB#M^>9KVIqoqC61y7!kR z@vs5^5EWh@fT9nYdk0xn{1vVE=r5jL-y^&By)$Qa#@{4k~{Y9s=H$FYrRT2vY!2yo(57QM@U9b`by)+O{ z+pHJ*7C5iQ2>U|Cbko|n?#igwewcx(>Wl+t!>4ZK0nD1qv2Ax|Bq~wVdbo9&-^vNb zUGywwW|E0eUvV zJswd>HUZJPPWOdT9(D-B_cRvLy9sTQow3~h9*4eHhPb9~Eh;-FQ`D4)?U!5b?)2G; zaqoP5-l0>oDgiP&1J*(@0Su-S9K@cLrB!N$pO)8x6AV;ZWzPt!n$7#ZP%qe4xyob0 zHiL@Fw@Y1B9esRw5wgzLZz`0ryr#X;ZDpGCeJo{jl#m!opi_9Td-;=QlOz@5c79${ zbSg$UVw)q8d(LYMQ{|@)_4P4Q8*lyH9L?^$q3n6ldU|)5QVi#9=rLFFK^^bL#JB_% z@b3ewCrN>Re{vNTLS(M+T6|)Njb_;bxEFn9BfYp7O!wAjW#@guW<1|Yi+g-sEqB(H zaY^XN>xrfjhYt)~C1gkp&yRXPTe{&qJYnn3l0zf7`k)I!Z*L@f7Dpf3rCIp&6=qa6 z@~^T^ENYge1YN0H@ksSDXZuZRuJcKFosCxtb@?}qes zr@+a{sx-SMhes@Q2M)g#y@fEe37uEnxZ7BKtJ^YKs3D>L*sbipWbT8S{kmXSRIgQu zJzVKI@0fgFS5q*OE0zh}fp%nQ8@g}hQyr|do+>7J+}f6ECTb2eD? zgGW#uQ>Z$5S@JSrtX7T6O;MxI^~FV}c0Tila5u=N%W$A-B;I;;lt+}VXzLuZJ=ogL zg`R^%>aS0H`V|i@oqLSlFLy~W5#;uAG;R8Iwmz!4l+TJ~7R|QUzB;44(cW}PsXO(Q z?A>#}s+0Z&j9QtaSopfstjkC_svR-gdA9dw&zLD{r+~+^dCyzMGbejBbC*-@{I2Mz ziR$;ZN3+BDGh%d(ZWue^U(0Jemf^dzK3%)~z9$I{!xSGAbkDs6HkTPCp0n@I8qT`r z8P{uvRGyYr`8HLS82{+Z4_x&@0X-+f#-N$zH-wmCjN9b`5ymINY^`#7uSmSl0MmHl zO)p+RODtY+6-*wm>gSi`IFbMYTZCjRUZig*4Z9`3%}EBXCORsTMoXDcdp?R0#)oZR zZRJ}+e9O>+?}|RaoXGwEyuE#o>!iisj7hpm$Zsd+$a83=WH#j&gd4}9p8umKJt5fS zN-=)2nOVN`Qr{`iJjr{qOh{pJ&cyN;&}G}K6sFCMiCYPgvDR>xQd`Q{_t!d+{B33Y zi*DJ|yQ<-UuL3O=F<;ecPBP|OZThP{7oeVLlM}Vpk18@jKfyH2jDT?02+QBZaJj52B=^vQ=X|WHJ@cMj#4poLLe5 z3NJ0(+3BnvXam=56a9ICJ6SBFk$IL`}cMC76wx-Eq?JuB{dm(wZVpug3*L4CYW8z*`~DW(sDoip443FmH| z4f+u3CgYBeE4pHN99&iodIA<+XO*Ud;o~84gqY{s`+C7nP*(UCH2Jom? zdqva2*J}0Y=H#ZI>noJ5efroZCqEhQ3mrCamH#PX>pZ5;^^|nrUPIczdV$Rq_hV9TdGHFwyJsOqv;VLe4FEn5_iF>dd7{3HIKyeX+F;R$UHMCjv&MOjwr<7z7z ztit$P-URtu#w6_M4CpHItP~uKa57~wGGb}hk_s?Hsa7Mmqk29JYo+Em*vYYYn^vL~ zGlr&-`a2DB_NJDet{`l|q$EZ4nJA8%Nq5FKZn+_VL3D|C#0*L)<3Zae zP5L*@54i-3TQ5z;JHoQG1SOXvQs%#G99agUTTQZCf_M-g3qHbuK|BJ>S4qMJK(#qRgScxXx90F5!moo(QM>o#3~@c zZ!#~$IHr_2#pNNB%ls^MDgut)Z;^+W1v~5p3)bw9`?Wbba_?e!QMz`yI0qVQRU>); zO3>WB`c5nlZCk#?n~|Z=s#}jd{0839hp`1_8KFFVI}FcU%@ch-HCd?6)c^A2!2uTf zuNY23!gf}k?9Ud|G*zNGnnSC!fRo1525+KklcY6i<|XKFbLT3~UkncJW*+Gq(#_Fh8GVQ6|nY zeG_Y9-S*Wd9=%w+cv`dCt%O-VYA>8~B49yyMQ7Me?sj?0$d}maanHvSvJoQ1p z1qF$9i>nMe1lRBvJwnb^I+R70*BdrHWc9#k>O7QQS3q!?!28*m=Q5b(ex3mObhIs0 ze%*RBOc7(gb6#c0kMdNkbZ8JDaz{F<6Dv=9Pi$?$h3dfpM=pNXIQ!y1%m`;;Td|Ud z`x`icLK1cbwncp^Hkf7;KUg4t79LwFbbr}0>VGBm@^0YMv z-#a&6kLJzvS=2k5;FtwqR}SZC395L{E>XE}&6+x_(@tlUq!6Toj96|e5t}Ji3swng z#KdSkuEbKXVctKbLHr_}H)pGS$U*{FkUMsDvrrRE$t z8W-Q&;G`*F<3qS>NU%ltwVXnm+AlDg3$y^Xr=A9^FX&2)|s(owNjh$Yq1%XkCKY^X}nwAfiL?rdzC@Ios%o$YBa ziEe|VZ}-vB_ptUheQi1ykEpK0;IW&F58`^5Fx3*pyneupbDg8DHnz*-0{uL^se&Q~ zy}Psbgi_)74WU>qdTF{N2)jwQn4$g?y)2uBZA8OY%#i_I3%B#rP}p z1nX(icI2o+i!4{F?2pA=@YcFaPp0~hXsrAeQw)Dm+A(A9cm_`b_%E}?_Bi#DK(-&> zPOe!x9L{@gg}@Sd`=O?6x?kHrWSL=1E#7B6u+7zw{#ZT~zE+CP82vs}9w!8wyBNo| zuXC5SMGXgS1}*9p)sbYhmQnh=jpFYw%atO;mk#SJFc=872w~>>U|#B$W1(0S6xG?a zE@g};bw6Ol$m6PYhKJpaip!J5)E7&i;)a$CV7Lawtjt|+uoU@r0?VpNBE@`yMveF7 zcj~`zI{q$0szfG-B=5q3V&sMOn=?-JC&^9roa5u4IM81=*w=_oj?oF;U0EFpA8b3DzlDlk}UEq$>}e!i;> zBwP@cna%=NgDM{YpR%+-F7G+pv~rYGf6os2h<_d-bI^ALHpDn@l%8-uVLx}(K1Hn3 z+HTrh6m^q#c4}=lJbDJ+j?RLy#FQ3t_>?+8KVT}1M#KyFI*767#lYI6_@K#k&Y?F3}>dXp=KC$Wd>xTO{4WLB1t%6k#4MzR?OpmY3qD1mfIu) zH@WsCO&g0MT>bh>rh)6JPFhs&cYjVH$`~40K>?+YJiUfA-44NQ+n@;BAOYbTlYu9k zwf3R9Mkg7@Jo6~ulYW@2XYt1Vo&j;!RPk$}=b90DjQeHB-u?bxpv_wbJ)2qHeF_h4 z;+&{cYrg9QWr(A4*()nTqoHbl7C-Y2me(G7uj||Okv1uYrV9LE3DG&=rAC-U4r;K} z3dNNsF?4xz_rp9Ab z|F1V5i3WOa!%SijOT~&ZMUS^(0w!jq11fL#h#vX&k(plQDR5vSF7A!Rim>nGS;`*&l4825^^<_Km7(A7aD0<5lKICfq*EIvl&|T8A zr*-V4Uu){qRG1U{zK?b&cPr5?-Tg9P`U$nquRTLZA7hh?EV}Dnxe#lxmC*wKqOIo2 z-x}ecZtQKiFwS%ElZT$6nor1b1iVd3ynDRnmjjFCs zAB00A6rfKU1BkHwnHD;HqYR=2dp$QCP)&PkMZ6yxWYvpS4cY++h8;WLUx;y;@zVye zbE)hwfvCq?Ukfjg2K0|Eu!@NBAEba0Q$Odw#KjO~JDYBGvM|+4zrYoXRJ< zfpV_LzEK*b(Ow2RWw?lVmrCPIO_bG(0I7IH7y;Zv*AadwUQ?cA(78K3EZn9%5({>a zGG&o!B&bCvO5HoUCpALQd`G_(;ECtmf0FqWZ-)#-`_|~v`>2`Ek8QTzAZjb@$Higs z3*l!{y!XUyRrLGV1KaZ9!!e|<@^_x8qcEH_ojQ5`oa#^4{T^F4CsIU^+S}1G5VB*` z!EMsnbCXs52_0iYW+)WKs@%CGhfg<3M0l+ZUkg2m#*h)}i0z<3FUAJXd|qifeU$$W zhrUAU;x&gM$48WFQ_8rk=y^AGPTg=;=NIaeZQl94gZ6 zNlmmxMaNt%TucT)5m0mgI1p>&cdlZaHBWi-;HNs~(k%m!|5b{`JZy2d2?x>q%Xl|+ zlu;^S^T!$NKkT5gXEhFI z-D$eo^!cIBVQ`vK9h-CX#(dFao|INbdb`{0!7$F+6v9v%i`1rrmGIs zBBdAdmKv@dPhPC!OiGLFzT#?E3`Y^Vea!F3?t|r5H(JGjEpk5Y?nUAI`i97$sz1*N z$0QNBFbbz|IJspq?Y>7m7gqfK@V8Bf|{5+;gqyhl3}5cI@oDnT+-d%|q~o3D>Bc6Oh;WIo8)mQrpMe+FB@8 zsggBasc)3u>3O`@bn}kMU&%xj-p>Sw(xK_D*VU|p1xVxs+^d)fx5{{qp@YXgFk&e_ z>?%@{W&8#J9<4qF!}|D`f1(;8NW4F8`=*Pu0{?6MM?bq{+Jfh{K;8PwwhUtm{`z_y zYmiqzYRE1p}eMkxT(rdlK8OdHckzGtxxBUQ=zd$aI*DL6x#V2fW zTR;XH6>A}-$ZMI}J!-AfjAd-Ir|R#N$T11AZUp=pkD1X!Il()lHL3Azw2AG9Qd~OA)>g+NuqEyi6)Ehq#Q(!;mUAJh?yR@I)jc zAaVG4Kfu<9XN^{XC81G@m(BUi6Pfk|s3_bh>J56iN!L1j`g;~4v}TGL^*k*1Zf?Ec zW~$3fS{48rkiN10Ctckkg8O~taVMKyUU)Bz+>1-vM;GLp4zd$+F@`4T_}&e!bqn-R zA0CgmsxA%=CQYKc=GZ5-?dv{Z(n@mcvsS?r47e0~ot{z{YKRjlH)b~|8(uOO?GltJ zm5alVMOQNYnyn?$pV(<*DpUfco6j=M`04pm85Eg}Dj{bshKoCf4COFR*N4CHKzU7HtHpa9YBZ6{{Nxx5u-%d7&|QT!@(@NmC3^+shf)%z z0C)!HV@hsmHj_PTH|;UgdM=MR886C|^*9U%Rd%v=A(pog2>qwuSiP`)t!&x*L6sAb zPKM_(PY#@KGIo3!{|tM9J^7O4X;!sSiX;&-3*pUC&F<%ywwANo0gABF&>BS55;Zza z)xtYlCm-lB!n?6fUP~8mej3eeAK44@x>AH;5XDAqx#l6Y{rlTTg{rs%F#(%#N9f-? z4t6^LM_8&kDuzR3o{_#RiOuKNbmVDAA3om4(k`CtzRC-Udikeob&|8YckgFv>nqXe zA4ixer`B{4UH#_FacR{t#$LfUSH6rrDwRF~pJ$?$WI{@o=sh~Bj=DqUpN=+J3$}IQ zze`k=+75iVp8j_3m-!f@_oKJy@tLb)gG414wW)mBH-vm4#^!|7WHESya#7i}<`@%q zZ-c3Q3tL9X%eCw7X02LxI&vv4-A}j4#vA9E613!oP@* zJTdxatAeNUaeVCZI+xTUYH{|VhoaIll`^lzu3F^PT zrt+$016}*JMiM@>wJ7GY4rcYey(ik{dhMX#bS#iZ-f*OAJqHUh?VW z2pMVagm)w(a3HM(S~(b>Gy=tV=2%2iiT15MVl?RKJzqgbCxTA%D6rQW+qis%$=XG{ z2pYIZ3?jNUt+$=nWE^{{7Yg>0=g z<25>3wf~jbS2p=is7U2X4u`X2zZlt7n}w_FwUMI43X-EwN$WeEXQI1^!wV@l5t32R zd`zqA3F0FKC)V@PSxkM|CqW&%A%_Q32d=1tZPYgJlZZd2!V|EA8d(Hut8Wur#d?Q2U< zQM1j`rtxj(a+UKx9*Fud`!K^58vEBiP~(y`xc+2JpyH!@t&S3uLeI_l>MVkSzh@S7 zgB*94SZ$a%e02*dm|p2!jy0d%I3qp1PYnl;Wc0BSO^>a(w%Kt?kRBS9YhEU;?1voD z;QQ4jzlmSxYFB)aER<$veknBD=a!Vy2zW;awY0psHcs6kMSb}24$+g;k!Czro?hB8 zWMksw@v9@&JW0fRfKCkwN{0Q#9GG3HG{dYtYx)jW9GwGHA~QeNctYh9G?yb}cxuj_ zB7k-~z5rLgn_9zQ>k)B87^M%;((uJa1`f^7JFuq@s3`!dtdV8Sr7UDdEJRJ40DEX{ zuoo2EmKL?1>Nf)VXz@Ad{RA~S z$tknj>6obD;?tNqxN&9m!yYpoKvPwt_13QYs_A4u*zPkB*n0^daPdR|x4@nz9!wrZ zy20r<4e7X#8`xfH@TQPoUnNA%oh$UizQnb97oQ19M1iYnHIrWJ;i+syG^(VuKx?Cr z6Qeya?I%AzGV>^Gf4ktr1PUXQw^K(3hHXjRI-<>$b-&==s0ub`)*LUj~fX!DQ&RK2j~NRLZK;pM%Jh=n96 zwc?!VG)gq4g)bFzsWRUffW=fvGECrn8i*o@J>!H&?4OD(v(M`>tvD$>LQLs9F}YWy zy01D)Pv`huxMLjm!BivVt9bAm;^{AHFkx_LR#Zv*uemNwp~Rr;SVjPu9}3AkxKP?j z0TilvaQlaT+(X%J3UqM=>*g_0#}XCkaz9Ye_<`x)EQ^2c24~Gf8W4UmlB$p`^5!Oq zXbAp-r`RelO3?KuU);8smdYgK5iQz&8>nO>tFd@>C=m&sx3D&jk?brATYOu5rH)=v zyrL}|Nw#9{)kIJXTE|z-%xv2am?``oPh4>a3WB#sw_2!WgI-Fa$b#nEmx{D#mblv2 zdo-F^tMhw6apm<%Bd61PL5ec)VJyca;x!j8fmO%C0H6ar=jVum_z%R!1L7607wJet zb+_DtT1tTr`vW1}{cH{ZL8>F=Por!*y}MFK8N7l1Y!6TEQ%w5AbLagmG5D)HK<}$= zQK5kJRcs!hJB`v+h1SzgiU^u~HP+INxL&aeJtfph^gGlCROi3a} zqT{_EyZLcDV@i-}EL1v{e-ZnpK3GMpqHZ=b7VKgX*Ys8r`U!5MzQ%$QFYsgo-Cf|C zeMu*V8rd>ytg)UuRJ6=3<^lx$Ubu&jf>!HPhs<++ggQ$IskkR+{Ach(wf4L8 zE)^y9#xKM02oM+QYk2#q6=~kx4BBGPfPNxyg!71vgu>d=dQt=a5B{lZovKLi?3bCo zL)P+MP(Opm$%U^1x`nOf8{mj8|5F+FfoWicb{X$8o>}uYLC0IPltMx`{ZKlstuP}E zSy)Y&h!9H_kKGpq>g3jv!eeHx8a}k8z_k4DM^R%GA=NjFZ!j;nHvm&|kKq*QM~X^z zaao&XsVma*kCpai<|bC_fV-+z3PC%v#ep4KI# z;2ZB%ajCerBxoFeD*0vui9K>!4&v1;KjrmKltXEfJ5&S)tXoTkdlKWj55ZQmmqOOc z-)_ZmN{^?2V~$pdR(}X7&wfxGK)8TUF}FttCt0-KgcJka-=!5#Xw#$D#RN9fxff1I z{S!`DKMu|r+rlFE4t;Gt10wK0A>mi$xShC|+ICI4mjJk{+aC)u8rVwBve;)d z3pIHUhkgsdMZFfv-rcpwu7XE+s+Q$#if8F^`u_y$4tBFtbW;Q~L7sBih0Gi8!4D-? zt9)M&DNvPo>f*Lk-fUbo4d_LKg^#8whQYQk*O#1<8bVSr^xe}#0JMywIp>B3rWo#0 zOW1n?4|(is*u3>6)@?x#?!VUZ1GEIw{ytyGVGIoZ2TmD72GD&xR*ynFT4l%3S}xSekEy6rEB}E6ZU=8U;QwP z0X@SS{LGj6$jVpf+V`CD#6$%}v0$1De}QbJQu0Anz+{ei?omQw2m0O&Wxp*w!di(1 zD?2F`@h4bY9`3pyF{7R7D+70kg`dWaGG|@yP?i1x`otIZ{C8=H^#Jcta;(`VVuoJE z0+RJ{tLVJORq#c6(BZ9U{Cxlhic+6pLy7Z$+0elPyXeq6zv~87`Wb5C(;G^yO%IB+ zIBC-_<7WHLD?Wc3h}~QRFbG|@RlL)S4&8V6!qQ%@r8{idl=IB3KR2l&$9GT7cYCH! zbiVK-p-J@GCPkDH{nk9Lcm;ElAAn#==L^w0pR?(#5tslymj2N!HHj~VN|h%C$xqE1 zNGf%)qL~=CrChE+2kh`smcJm0rLYAVBjYtGl&1M|PK4p2C~EpzasRNJiJ2!I0N~91ZAb`c6bnRoj1RCl?JG*a8tM zlasJ{cuW8gcz9^WS4<7?=DQoy15}po<6h0`fnmbyCf@nnjLNvwlEMcF0r)JY-2^wL z(_zMuewcKxnL6(NZh>i_&Lf~`Fd`f?gkHgh>mFxYpc-% z*hoj1o+2$VQ{xrpS8ftU9SrE=<-BLF!($I(ton7y`kE(AV#`KN;lD89Qh@K=S2QG= z>o=i{LN<0L$cy*8W#Yq#Ui!`g`Hax6Ng;?Cq`{KSnkOfzU|AZaxgFC)J=}i@i3giC z&VQS!h#9y#H60`rLFKNI(9T*+{FKi*sY_|%e==C%`c0r0@SlvH5+es=avNK=;;Sm< zziN?Gh#K|$6{4%0CWMsG|2DVF%1KXo{t{OGMQX(x%n*2uU(e+!73Ln^tv@4Kz?+t z7JnsKaVx4C(xGqYt0e9VF$jf6&``|KZTVZtjbM0(cQT=YoAS9@7pmMkOSx0Y-)Sa^ zYP)`zA}5_>iC)Sk)SUgW5YA+}V&qs|#fXY`wE8ni)QH)f{=gwkbj1W248fr5X(ojs zhAMAuZurTO=fHA~Wz9`D8drg|n5nf{vhE8q+rRkCU_DHyx%BQOCG=)ZsVecdZ%^-$K#If-!Zbo7{}{zc6aO?E9` zD8r;G5p_xJJ}f^Vo!!il90WD{@^e%K$g@c=q;=Au?Z;w^SZ8#UC<1f!Dr|i&fVefe zRXrBmg*+UL{Ynko6P1u&pEqa5WwvH|j(o!iA(U;a1po!_JpE5SwZWS*Rc@?Io*OH; zuLgjCv@pP|&ZZw~Bxx6nt{Ez8*R)+!Kw*-EZH`}$MVfO5evxT1&EZ{9V;Un|a*gr)m zmtwsowVy0Y6d^rY`=2qf$K5;YbHiA8da(0a6SY5KqO(s)&-oomwVj~u-^ukf!aW{e z9Mvq6%r9PosCrqg&1L%1M@L)p85D_a`7XDRc~U2|CwnAKSQVq*J{HXf9I*RF$hl6x z`+7kd{yd@IKd;SmdugU{q18fdjJQa(9$tw8JCoNNGb}hY);*K8FAzSPx8dvqS-qxF z1^E4FQVkMb(Z1cQ3&cx5hPr#Ds#O}U#NoL9-}8t~f!GGQ`EQyBk5d`!teXo=2V&+_ zLv&-FJGUsEW2?+xdRs9(BJ@AY7*$Cuk^1zx7#`6XbTb6Iyl|ANF$)mYGls(SULKjp zfpJOL^NKlS7CT`({P#UB@<&502Xj`8CZTf2^?g!6jOK&m^6f7|YOg=4(=K%7m=cIw zBUk?1@bMXR&S6MFdM05dWGHGg`AH@KpRIH$muuW9D2I4bn&V#*VRj`P2Tq*rB`mQh zTztGdjERVcM<_2sAIS2(6pT0fvbNM&<1Mc|`BU_4=sCuv71Ng^KF?2|0jV53;FYfY z9Min@3gsZs&YV^?KtH@9>d@GeHuG`T`Fj8fvp=|^{)r0l0(HUsAE060CDg6`7KMP5 z7H=xuo`$In8m|*6_DMQIh?{S%x}lcid--V1Qw?kmG;MX{3)1{ISORj%O%NTy}cDASlGwUkBEOY zp5OiH8!}qLFJ1#etrSj&X36KJbZRK)MqqT_#H@V9LXciO>EtVX2#o|wQa7L!MbK&4 z%{xPf?%~{bf@efgDmNuWaZJL(+qZ>Lh9s6fQrF(^Iu>D|9a+UPKdMQH#!*JvYLT*96CW{MLtdU<& ze1X33y7@_>yRD8=tjN_3_OOP$PqF5BV0+snd8_Lgzy*@Qs);tw=LiGMz4*(lgmrxa zlV67{5@q}Af^tUrt|3(2I0faOn93}TD>P=)RA!yuh_f0a)Kf$%@=nA!qt!}NqInR? z>j3-?I%)gFVbSI~LB5Q9n@Vh6@mO56Cj~%u1>^3I4b-W*B5F&56=d*U%nEzk8h=E@ z%UD}ir^q#Qi5oSr9)!Ni@Ts*iOHy7>PhNBk{wmBLiMv2IKypbip`)c$kkFzO3Fahu zFOk+={zOdZW`!VOjhruRKE0|zHuoKTn2eq=y(_xl`m$i8!g1oOG!D0wPZ9&4HNs@% zE}F{3t>7p>g{G|`J_(`2|Alr>#i6MTav?w-krYjzI!s9KV98L(^Muer(0^)Ue&UEzncoTpqaem?1pu!DGqobkf0~xdL>vw#}TBR>_w0b-? zVJh=ED-zsEA2r}D(ZgWR)>$Gs@5BFfMj6 zBUBxOOw+a&_d2%h(+421l>CU%tLpA8sZ9C-8kE@3j2|z=ltJm%`K|%!ubGicudAZ>EP)6a!}2(zenH z1PtfUshK(_xI9aqdyX(r`rdhEAi{`#ZE|LkP6b<}{eYT*apS-`V4YGG;hPpfv#{jJ z47Jact5{*J(#4v70i=bkY9=*F5ylUss6=+U^roqGl;DzB$`vL*79vjtEZj1AnojmW zR;sAnpE2cAHS3eI=x?3E_ERxHh$)Uu?Nd%_Q&4K% z7rp#6F^9bww|zg%RRFX-wWfL1c=+Sni}})Is{?!Iww4o-rqKX)+IUu@oYd}DJG)P_ zoec^4H&~2Q4o@l;2)w@Ja?E6-qr0c{=?#@-j^`9NYvHh~_Mw5*P*r`mA9 zw3k21@v&q~tvl;mlNkJo104Q9|8}gsq(8&+;F{;DiRPHn+lL4_FTKevFD~zgaflpd z89Y!KQ~0d%bV16cUfSfsOsDvd*U?@ix@d#Hfnv)Ql7ZjKhZiHUhU zuwT4E@1@kT(rMc!rf?bOYg6dmj|B32pC4+Q%?O(CdTHeiJ|bK*>hZhwG=v?#gFU&eEtiu3b~1I7!}vnsNC0G|4cU39^Eaudl6(s@#}Vkhe}q zj67cCi@Z9vb?fQPn={-rDUAm|nD-ov@yzy*tvd&^he{&VD$Y9%Yup&6BU&m& z)&-2^hc3TG1WxpVEHbpO8(YG#t!GB9$Z>VwJ9W6Xtn2sE9Q1DQSeGP9jwelEt<~SnXN>N{>QTi3mUd$!)_j8yt68Lb{F!UySKjXFDrshq+aV z^x|21Bp4F_{HA2+AVdTK%5hO=@>|IEmj&9a+!!BWl1d=-qm>Ne?5|CX_j^)^qpB&} zx=;sI&3{kPnJ_sgVCEZuIUt|`O0PL4(Yr@gk7{?MXZvQp4Q8uFx2XKl%2>g zKD}Aj?+aXv+dU`RjPA% zxNP4!K7mYh2N_75_dHggPv0)#Y>ZKXuGP+lvBsqn0(U-Y2xPe4I&+XTO1D~C@aOzN zpTj0F{it*a#<_%IGH-OFX3HF7dyOZ zL`d!xOD&m)->kBa21l-?$DRjw(a&H*#1GT)FPLFr8Yz32{i#KoVyx)CBg)Uo>UtUo z7w@r>J|97f2>_k7SS^{WZ{J#U{dcI_T*!8u`Fgt1Q=kE9$%!!2rACMOA_+eXY*nu1 zAYOU+Z0F^=zA1hU6r4_|gwmAE=JIIRWOv$MMJw&DGx9M2QB`p?S92UXK^%_xdSveu zbzt5pjpZ7C_dP}QuzmFt~ueIFf9Qvi0OuJXL++9e~p!M)xl zrd>lv6TJmFB~{;+xAxIPY2N3I_!HX~69A<3RhPjv2YiehT)nn6zEDGeX#aNZcF2_r z!{;_;S)_7-VJop$6s0W1mrusbnTdLfw#?QS-m@U4G^3p>rjPEAPSzAUJQt4v$4xl5 zWa(p4UvFnzXx@q1)6}&80dp$1a|fU!UMH$j1Hcb3h4*C>eKKB(z~&AW^MWu=9yMo^ z0n&V3Qvf$*1|~_$%bOKbku*v%QwC3jZQTGZ8Jq=Hf;+6?%mK9zuJr||aWaT-6|78?VxUNF~<7l`-4ncFd z!}OlMZ0WE(-Q&*fJa>wqBV4rDSTfPecq0%_DM4vPNkbWkEirpixw3;9t8_<8eNgU9 z+j-A>CSQ)-eYDuqvAgco*7vQOiHXfTTV(W2^Zb!fM%B8g@kI^a)WlPATSYrTf?O7P z;%>SWZd1r8*Y6)AV{>HL!H40qhTf)Y_LQ!~r;CSj6&nOKii0no`^bb0Jre|8uZZ0= zEplDwwYTB;+^foW<;#C+Ls?w>)6-%I^qqJnwhK(rJz>xQ!beUj+n`R@r|R#gxet!` zZeW}Sivl~^YLg^xCp*8#8cc&nZp_w|uQ3=42+B>w(>`JdBj#c@$THj?U#an06$zO% zx2sNc*hBsLA?fIn<9T(#F}?#Gve!c#lx_0YVrydy<2C0a>3!AqbE=&}sm=Oa0rP}j zGa&AJQ2yVpWF1LF=OK`3>#gqoEP-c%WJwk+gKyIaUC#OA2RY?Xo3de)J4_)v>*joB zRvn=je1U@JB^>HGWp*kTS zNx~9wHgEyZgiMLN|Lt8H2+1?^P*3P;jC^zOa;+2FC9JgEqSkr=XFzTzgLzN4!M_`3 z%@`6gEM6mUvmDWqc+pQ}Xv1G*{MElCgik#7`@WT;w4b$8LUX1O?+@OUD;`*apiP&_ zuwH}2+TGe(7lC5qa$H`E{4s0Sl}>f?#?>g%owydC^D10V+c1UW182K<^T>Szn{6$D z4by5Zr=9uw6E&avWY3;gb5-`^va)14wu7!y?Rxgf2U2)WDo5fE@Q7!fVumww!o#1+ zx9onm@lNKs$$t1S<{g3FwKW@SS_ulkWuwitLPxIV4__lfTmr}xv#0T@gf>U)^ySl| zJa(Tq_|MIBzvnC}-*s->YN6E!AD~FDoq}9foEm4ZtApOR3v@mhYmJv_q0+t%c8+BA z?$|6Y_Z-}jc%3_zu_=W5vRGVb^Hi{6+Qlr)T68Ii-(t}v`ZekAw^zDNFs~>#wwE#d?HuTKbv%tj|s$bE%A8+wS@7RKO# z0nv760p!fnHtQz#wD;t@Gt+^ais0AjE%`io^j0DE907WQcEY;3^5)V!{y^5UntwkN zVB~dwl}q470l`gToIDF9uj+7?^7w`QW~H^8{dj-GygN#0qFvjg=TB83#+?uNz%=+r zfW#;mi(dv(PbdkdT#Y^Zu)TmUm;>Yke;nc7@dZpo4Ds?3I3Lr-xNMGpDA;_YDP){f+ z;EohD_9m0w^n<{iJ6XVN`47*4Vesr!$m`*NBATxbrjIDZ*rGmMP+|NRRMR6N8`Z@zeT|1k+ra+ERu?7#0R zJ(>Hq(OInVXn$4X$a7^?rgy0IU)*S;MVD=~H(o~;9R_V4$dY1s)`yF-#S zuC~2pvwFg81^`e=ZDx$r*VjW+)jV^X^(z?H_2ew9dLN-jrzha|uP!G$Cwm*D)!gf_ zN-+M~z$k8_Sw3Az!f51K?)m6x#F95^V|8cr1+f3*JEvu(GHE-f9b`6xY+iNES3j_s z<#%_xE+XyxNED+Rtrj+&1i%^KH>&r2eW%Yz$Ii)mqEJ{}%R*ZGGQJCbCQ)T$=ajU~ z-#DW6fe(-m;L)F`Qhb_0_Ib~eqGKGZYB4ILw4vN(ZJjrp(C1;IcK~Vw zzr@dIN~dFXCimSDe)gAA0#?hn+mfPw^c(B~3?%pl5Fd~Yao5I#7B4^<@8k8_Y4U9mW#B9dT@;srbL2q5M@|o#-95 z1wyJD(sssdM*a+y%R!6mN7N*A)<6C)V+~)GM*CO{R-`rT#l3J@G;iGB9rKHQwX9Dv zw!9=fx!3?bs3@V@iD5wY&os#PH&oFonEyl0ZuB_8K#^5b6ho!TNR~n6x4g}kqkdy9 zwm+j0*6*9NjyDU+(SJ5+JvlZn>X(`v(A#q(8^r!ctYI{5Ad4Ki%e1fpWu?n_r=BC+ zxFUvRu)FaeZcYXTlK-qfgt7Bt;|p}{JsDw&`heWS<^yeG6{bdrqUZYkG_8FIa+T}B z6JkGL!R?6U);Lw0$OhGM8lC*hBWP=xTZ{Z=*Az~UrcV@Lk#1>60d!g=AkTkXI}t&A zHB}8ROy5iSAwBHW9M{Qc0~w+95S;xq`dix1oeb|lKw2D-fE|1yl+l^~3zTb1_t*3f zKLAq${J#D)wixFc(Ef2I-F{b1%G>1AOZFTKnYRax=Rg1Pe(x3M>zJfLLs$;JEqg9QOcbbF_hW z#Z7)&m&sXPPMLbItkzqPS`nQITr{W?)*UZ>m?fkm{9D6A?Mqu0)xD0-=~Qa@N|)4j)9LU^~!lcC6p4qqLdRy>tyAtpjCtgLymPVh)aIH=u0 zBy+iaTX}|h!)Fp6^zO6?@1iiONTTda@_Tqe8q(Tnh=kKrVVHS^tH=eJkyh;r(K^GN zWp#6z1<>gG3i4YPVQm%RleOX<6R)yr!8Nfk-c4d%p)PfIUzYbk0;kAk*DtaZocIk8 zL_`~?U(^3u2%MS#Fe+ec`0Cuj5s_NOq5yb4>Rh?`Cp`uebN7q#SDrtK;^1d}PqBS7 z6pvd`&`NkjlG-rqohKdsXV5)236+ltIJXZ*IoH?gT*d6t5j`bD%Fs+XUqVZ=`JZPX zLDkQsl}CK4=Zcr_&QMC)LwU;_cmC2^eS;utJVBKA$w3Q0+w#(G!==w}wz(a3&(#`E z)@Kn%xRQme!N?VX%=Rgs&jg~N@~TxPAJ@OHUOk}P2l!nMsK$+dizDAs zF&-I87a~nHH9uK+)5J7O6eM;Tm=p61^im`zA@K1F#bk1ti&93RFXxvX#1yty7JQIc(Vjcuw=0qA0s66ipnwrl;WHp;aG*p&W?iByZW(J(I% z+`QgCJj_yWz_TENfm{v&T;w+?D@g8-J*X*cT8jToiu(LvJ5Oj7xk|4F2~YN|=lwhk zf*iE{wq5KwI{ctJ&3085J>Et1?@lOO7FnSw{T>PRJ*ql+BQPy(vp%pQl4t~)DIBKyOjCq+d^YNuVR<6TRkQ4(i&<@4=0hyelZ$CaI*k_K;immI`> z3;>%HRaCQiy*U`!4fx&if$3IB5`Yt{Y=d#I1P--j|+v=JR;Xc0AQ~&5HI39DW9-s!2Q!w_jy@8J{qFa*vIamM2ac}1E=f~w1PISWWPiUhClfCt!*z@lN%*&6$OUX%1zV>xf?Pz zgGIBqr1LqJZSEJ1wIl`uG9l&%E;;KHAf2VbqHKqmsLWg@w5Mgb6pG!yZwE+3j6pkS z_eu3xX_e=iA6WaE`QgpFk2rG1-ysj<zPEXW@MJ42ZWR>E9s7@Ss)l-4Z|`*$G64cQT?F#V#-6=`>x?EOX$! zr4-PyrMLW7d?02bBt~ft?+nj=@?r(n5{?xlahMLLG~i{sbN^PzMJ{V2W<5Xf3)#29 znE&z+u{!i^Fq+&)=l$%2w@l1MWZ^aZ2-L8*X4J(L?ZxZ7G{IYs z{1?5!QqNJT_$a=Ko9Zwhsj>6SW)2L1-XS>X;>xpb%YdDoXT+#&x4VZSe8qUEvy6Y_ z_VMzPTnp<7&d%b)e<0_W^idhh>6@oZ!Js2KyQ-`f0)MsJ_p~KgYt&A6xU8B!z**bo2>hFN%9ZF;o_&WOpS6+(+>K7MXV4Oovs{} z8jAMjT)A9P^%tFGMGo@K1wcHwm@IydXpx1bLUiyvzhK*hyt>kHNWhwtY*4^5dP1z@rHi8QI4UtZH1 zu$!mkj~>P?Q#;9d^^>6mQn-g7+}iZg&2-hV`W%6`Z;>9lb_9)*cG)aUm% zxo(dM3rtiL)e4<>ZK9IGTR7^zq-Y3b?Q&~shBXKtL6vP4R|$6VJKV_3HMwSSt_J8) z96!ZX(OU6n@0&FH&>gjfbR7tG*X3@#SxOK1Y&>qFcve6k<&`C!X4fOPV2N9>vf9X( z)BzK>TTTZ+yEK_BFwkZygaWtqKgmQ z#zmXKSt*Yn+KiCN)dU_pA6 z3TG8uRVOciN&%OErWh8Sz6`vS*LC=*9%Fe~E7MsHUUZP@p0vWLGyOzqJHDLGk4#d( zI+$n}WXWHeonJWlvJl$dY;0MKUZIscOLzQMNz%i2Ak}((BYCSY>wvzbq=`%cd5ISreW^#jKf8)@P;d>M@h z3xkt6qC5Os6s*-_wXEL{T?ASGer`lo$@Cm0XnNiFnX!%`{|qOYZumt zBbx%)3LlECPKvde#D;cVa#(ryW)}qeyUrkf%cmNHgzi3%Z7T7tJLQ#px0@BRy;ctNk>A zXSjU0j9i@K7V7wIznQ3PSBp!YwDqKuP8b(zZVynBp_reR>OleSFY6?E7C_ zat63mWTUd+Zys~-?W{{SUFc@_i(+!at^-%@#2EQsfuVjxkCkf5_ON~s7P{i(^wnOZ z$E2S2My%JjzVO>KF}a?&df&_irb*;N)4876=<#+Br+iNTkKoPfM`&Ol!$n%|k~5)gYCaVb-K zMsc8`fS-f(aS;^ zyCTf`W_igg7dT$NdIM1y%W`({EU*}3`5xCNP18?-D+f{$>o@?Gk z>LG@SSJ}B(RIB8=1w~;>OXSv7iPDKc-^>O3uf8Y0K;-ricz=EP(0o?Y4gM(}`(}}` z8n%Dq84?3q=p=UnUbS{*Y4GFBbAngiiNQyhYOHA}+%LGtFC<5vgHlbWFRRXi;gJ3& z6Ifduk#@417#6x4F>}9z@A*7t>P=JLneL9u)TzWfB;s9Dy*|y_HojUd32R+Qjj?kb z*hK_D1E5QaWAm7`0u3p94HTNErtvl?>Szbd&SaPgz}CNliL~AF?hb-9vatExbstFj z+FxhmGhch(i_ZM(53K9kVdf|t17HJdF3nuZuMhIWy1HBby7nh?Z0?IaewXyRwOM;U zjepI^DJiI>xmEA`w9y^e{a%aDc9VLESq>l8cFQ4O7K8(r)vsjIL=DYC#v1q+xM%o4 zBq!#maL$S?LA~Z&mVh~{i_|%K13hsA)@x^}k=NdonC&*_LuLE6pQbtz3`Y6(v*}|I zdjs})l62t{uCSXGBqbDHp**=-{7>L-2cUvJdNxBf^Fk`cq9N34^X51)z2mVrvl(0- zyN~{53;hZCt4^`>)Qlr0p3hkrNax$)&7sCevVU@UY*yU&IWIuyL_!^k$_drhs(hs4 zItA)e0q&)6T54MHK5f($4odLJq7$ol`xYv&aqFfYb}cM)&^&rYBEY;O7!Dib_N-|c zXb_yon9LV#49wm#bg}4OeJV*x=Yploe`g(W`)A7Ce@p9a+721KG+WLSkPH2F((ut$ zK#zbduHrM}BX4G}Bws%BLkz(jQKhI-_qa`+``zKM3>nA>GgvP2v^G1rcO=7oKQ`uN zVq`1vXaD&dcmY6p;99%v`292QWI_az6$xHm-Sb% zR3BCecke$&*`yFyZf>*9fp@SxDMb&Oy*y~nirLZIGr`}Nx61@yEcb2>ul+`)mODK^ z3{F9#=%^*%>l=5iF{A0{sfCg7R|=XRf8zx|?3;&PFjMrr#)DWlA<|{OTklkj2wsgv zXzm4W_lq5G?EqN2usI6zVqYqrj@qHZW$pcuDQi9@rTzI8aTl(oIm~TrOjrTo>~BFZ zS#N2shp*W`$;Em0+Gj|rv6k6xmv7w;wy0#2{R+q2L;dq7iY)oGJ5cv1>=MRIC3J&B&76An_weBY$x+t92G!3a=6rcTAJsIAZW=~zIUgb zA!A=@srK!fUs>Nf67bqC)EacylzYyUyONT4=BJt)sRf35vnc5WM&L{X$U^E80rTf+ zlt?IiNbGitks*AMN5>wc?@dg|d3W6luQxXhcnNFx*gwarF6bW7@p@?GH&VO4i%lWW zNUXGlz{mBgu1xQD&`TXm%&mgs*UsLGI2o*Y^b6km@bwb4B!ug_8-p`xZDIQs=dYeqoHw`hpbp0mXz$Hqy6-$#bP10*8lC-qIn*0~K>+Ny^aCI(Yf~v)%$xP0 z@a+H#N0F{x&`$I#!&lb7BBndQ*q8U_v&Jlxf2aWUdudnsIDrf)K65@R(W4){k_;c> zwF$kI^&uE;^WnWQVogt@VYghvc75?03m4@`Ae+sPmtQgx_M`5%A$86J1j1}pg_4~Q>t#TLp;mQl(?&l(4$ZEcA-SJ=VC%nD3ezii5I(PfGE*DomCOg0%6$Ydf+U&8V=_%{Q8685z_{zl_@3W;nFZNK8kmav_MY1Gp%ICC*w*mJ zPZ8-V5zl+99@f;oIlO_oZ%c_vJ{c2ga;-j77GT%YXyp?LKeqqzCHMO9XzH(1siRuU zwy?|Z)M^XXtlCTF1R7XUJ-*Hx|1u&z{vW;qf zjWc;>gnWa34*h*8etFVnk))IPzTzZ5PU!gZFNNGKu6F9|mvQcG;Yehk$0U7xoZc@3 zDp!>`mG=w#{sbr3Y`Sl{a!{P+rUlfE2*~szboK+f51znoY0ow1F1hLY6VR$o8;1Le z-BY&(<~S>sWq#q5{|GSv&;R=uF31K19s09GrCkI9kOvnM>FeWlR*F!h564?zN)82* z+eQ(q#aDd;B%J}E4j`x`1p^`h&^+^SECs^!st2fLL{bpQ;Ba z%2CvAsLDNBs(W*X+Ov^Iz=W22h{d@vz9;V&r+l4;P1~XvC}oYn@!~T(j9u>Q_9H#T zWwXEk_XFvR_FJ>}>(hJ1Niufs&O4FkgK(om19dy((O`IN_ghxAkw@L3@G&))Q6RWM z7rynJPdi$2{Kui5cSrL1k#cC!atS|j7yGKtPWN6WmeJ!qXZAk(@6*AWM}V{d1d7m4 zw^=CbrrX5l$D%p1K*YRHVak?EKX09RzuG7(gnt@1>yx=gpIA z(fHTZ^Nnq@HzYpc%AZ%mp40`yH_R%<>_wa8QLsMmkJ4T2+4fccdnhA;(MCU+vym7+ z^e!~M5iI$2wX6sN#RqJ(G*4|>bxY0jR;dIMhS5(%Q+Khq^=iEC8UGqG=6akQuWUU5 z9vJ#5hOhqbVmbYQdGo&NrrM#ZY3sdepM@fOr&W@5p#6E;KQaQaJO0Q>cQBkQqTuqE z29_iT0=}{_%Rr`f^`#z^>(`(_=rATw_Uenp5p-)oL+1LO?jX3?V$#HgdujxmSvIm@ z>~jDpD;1W%pzDCDAOYXEtJ}_UQt0DjC3InJKSb%O`1~*z+GP4O=r6(lEttTd?{v3w zAWbc$0aur=Q|Ka0{c>>7O80Qq`Mmq2X|plX{reUYD$7>1_H0jpLF;)JGwkmmeN$VS zw{?;2M+oxKlrWugEHBOFos@jnI#*h%r#3t9-oA;OBY=wy{ z|6;Vn$D0xiw4#YDRNRA}v;g5A5UIFX`A!t;39h&(sg#8W70(<3_w6$k&2B0e(jDg2 zl<1AWNG&ST{<3f!Khi7~3?DBo;=?|wa-_Bw?c&oQ+DBl$p^ku+bju9B0Ra6ktf6@!G>uwAKNe3zjd5EndE407zS<7*oooRY zm+q9^lZ>f5EP&y_Cnqjv`|Zvg(8ah!fC9XoFg%(MsYYWgZx+*Be?2q9+7!2Bbbf0z zfclr#8fVx-etlpBD&jDN4r=PJwEFHuu1u$u<(EZ2Wx@%_7QmBId=U@)QW+fnzE4G6 z01cc!$#l!%nrSJ<>9uC=sYdtm=CdTeJW?X~I>1Xm0oJ9`r@&xwx-kl{r}%|}PKY<` zqw%arOJam3n+f2&C2m%-HPZ>5wlLFXF7sS{{{J(rKrpPItNLBtS_fL3(F!i^aXOyg zvhe|%BSwM$#Olqf94a6l-)g1Cqgnb`=WuM9I|rcEN0V8c--MtTk@ zW7n>rcD$_i`(O5egJL9=ymBm-I_YP$%td#j0y&1>{DNwJ)fQfPPI!OpgnYla5t!g|aiBG++RMG21B?qzBwtB* zeC4-HYX6r^7T#ht?E;Gx!Zyss6>6FBNG{1u|C=BP)122oGY7O)ueqdN z{j4lilt?#|4$!!D+|3SmdG`~S`+D`;*)c_;p83tz($=W>ktM^C)a;1rqB}5 z;u-eHVXLTBp57Tj`^5liv# z+Lr@b3J(b_&J@hrhzhfOaEuSPV#NPNxB>*WrTwYx*Fd)>CGKeBQu6Cl1G z!|w(Bl`zXCnYK5pG2EGUx-nQ zo%^gX@FLF%DZiTOL*jNCUbb6xmtFjPKGXj&hL*k{!KZvuQpFsGPSA>~tyIaiD3;ig zCyZa_5e7HewadkCAvDo_-Y+lq8Iu3`js)YD&aiH$_o)EYA1~E@LDawacEI01&))v= ziN8LaO8n*40E_sG+j5Hk;vY%=#ppVvd*zP@`hDq7!R>!-(y#wKR|Qn|7d!9QhmY}q zef!O*13o;u^Z5U4pifT``TD@}@W<)JjxAuke#!i)Q$5#&ul#i?v5$`e6TvP}|M1XWTNAuqfKIWj zE*-??UjAovO^u)eOdBAmF;korfxEBx-z5dXQ-1}gr%pYk10M6pN`a8f{rgG(jQ+Cc zx_5)%Y`@m=|9#>At;7End3eMo={3g@KF!dd?srz`^oMuSOsjozgLP(>Y4%G2KAi&+N1f8gr9FhN z8^VkWPw)^GqWDlU`Z`|~C(dS_4?icQKr+c+(0cZ7ec;3FLW>RD+_Vl^Ig- z@H#4fxNR^MRn-i!j_llVNaNzH}6R67dWqEC8s83D1+|PN( zk_y)%Qt?~uQb)&~Q&J!=eEbpvHjsr%x%tgNGu06zUy8A=GM67sxOE2&skU(EwM8OvU!02g;|eU-rjH@?B_}r^q^YH*K_!Mz^%~=F(ZyL4MV}U*d2tW z+T6hlqG~vo2*z!5%ZdJa#fzpQL@(}nWjULR<(_2<_(Pv(L=&tCCVpJz?H7G*sPw^+ z@ha_Jh|!l^SiRryp|}7Mo@sN{J#PC$bE1)ZrJ1X@6aqVQ*=x(NL-7+osn};RY~G{q zt&kYW!HpQE6InX=93~*c)l{L-m`;*97gJmM02N$Xyd{o!ef1KO7FV)+_a>>A@wbzD zWDkVdyybP7Ale=6P;i@I4~vD5=XHtip2{)14UEX-R&Le{qTP+uXvZLIUpzOUYclJL z0oTG9dl$60IiKbDX5He}McLiK?E^iV@y~t>?Ik!$vt_0e0s*_ZJZz5gocYE8$(>tE>xs}aI@-VRed%-&7b_Xc>9{}wC1YRsg9V2{`i zyqF%It{q>c5H_?v`gf=|w{E{R_qoJYZeBt@{b)3)TsvMuC5$%#yfdIMW3D++Z~xd< zxMSff0Uhv4#vAVd=SoB0H$nyR@xMBXN1gM~XiVi~U6@`P*vn<~O3E=tj46;ZSZ3Vx z>H}<>nJql@7Ad?N#$Hte)fRTW^eh(4;+qXP48r*oTkFgtLo=V zKWcvO;RRt<3+;7>SOL+&uu9{w12ye!e`2@kiij^-*gpOvM9^04T4tdqA1zW%J;SxqlA!9nZSPXqRQ1z6+-}B}nzcb5I zFLE1On|E;E%l3DA=FHv&^VzPk%-XU#rE6-u$z@gOR&wZceYlj@bm42yE$;qmHTqrt zs1vP(El>r6tAdoA0~&o`q@9k)ALR z&(wUa%py-X@9l5`7e7=zt2vAi7IAs%aRsRGD5mCDiKwnX|8AI$b-{ena>-^CP}44T ziet1qW7XSZ_2lTve~OI^skli$Y;SHhPJuL7+lB7ja^ntAFTU$NPMdv_EPJI|*Oy>j z2R06CyzZlrF`x9nkeVfJ-L0A6_hF<;enftJJg*E^%9wtd{1c*9v;whA)7*H! zmFwsLT4%&V%1nuP8MmF{$ZchN+nx7SYFUqMxR~7N=3Zmu4rxBSUPOnqXB@S;^~-ag zR9J(+Z&t52#is`uGQmA{wRcIQt-26$;jxu0)e=GG_BY zja9j{B}wvTh!>#g<7D(EbAdJhCWKzkih+8q3iI2a)wZ#>j=$j7R(To6ZN;*Ws-hmU`Lg!?YpS+g7-N>vSXoA?WNGb4-(O`cA+PGU=p?@2KUVBN%qnu+uo7vRQi*;c|1|5< zo2b1Ft|Sr3Yc7h2<(%D9t06XsWDkj^MJ_YkW?gteYrrH8``OI7Nzdr)^^?NHSxGGy z^W(lsuQ4YDLC@TL=Qt+mrrWH4b<4v;oZ~=mVNa28_dMqmOj)5-z%@A?9?oa8+0ARw zPcWIw3;|W={PQK5{lD7qkv1jtu;R<_pA*mvk5^lF(Hemt8+zJLbkpaYx!5RV3wiz3 z?V?3wW)@3VWgi#*K@me$Rv~%45tfRwT5b;?E@GwpY_x)`z1Ed4e!7%;aei8%(RyZf zJyF9xAMRWzl>GU)jel?J@iwQMF}!DwLPr-u%?ACb>rx-sHrP8|yj&$P`k4*Z=W5VI z@tyEZB;6`>%_cFI8Nd^4zvwb^u59i8LstD#WGZP6SAv3?x#*ydgb)EUlFhHevIfW`$w6< zriQV8P5y=S^Nuf;T)#}iS2(PzLGE83w-xlA(ZtSs3~ufwA~6xUjnA+bL<^4`y++EX z{U*a#jm>JFhY{VJM=mdjCGwE(wY7#XJ@#bv9fXlVhi+Of(TwSpDDfRTsGdN=mUE^B zf@m$}muDcY?bTub{AQci_oRn(4PvR7biT~pmZ<&!B4@3=Q(l@y1V-9VL> zF}T;0hYA0fjJMD65@K<f2{zTNT(U?hg zHNiA?>tckK6~6x`009V&mggroGzU!i=u@%z&9;w9L;l?I7k2hD7^(HBkR|(b%8l0M zH<;Jo7uL|E(5wVVzUr{{>D^|ql@r1WQ#ZC}>^4aFxoPq01?bv0k0 zoQrav(5L%C`xcVa>5EyVFUZatGVN-?*VZ9bB43b=OFMg&j8!vldJ&9RfkXy~VB4@# zH7=ep4c&cE;zNs zjueGfPv?~~aXI2Nra%K1nPK$LIl=?79zH%gGqr`&jek6q-QKtoTHI#66Qo*{Fx;Uy zLkC#NWiR4Wu*QkD2W#5$()HYf{nu|Q?he!#iUhqVeIBO9>7H5ELn@kRczExvM>W~q zyc#4(CLLI9IQ_&SZ`k1k#^lt-rZ^DE%gd9Yg75RY)DBrOI;4Ozgf-5@NjJ2Q4y-{MqZ~p5fFjHE&lug!QA-c{ zd+&;pmlQK3pLl)r!_XbRCZHe0VP)XvYdLdWk>JeTcP9}(Je~fg74w+;9$~==ce`R* zA_I;>;i5M9!lSsE+Wo4FBL{kX+tE!Zt?C6(|9N7*bof4E%ddPYD^|}u;3RZ%#AOq{ zzrSV4TqsG<2a`sYS-VA6SXIr5%Hr74!*tfbcFxQ_bVgW%d;3I+}NJO)uJ zQJS1KH9AtBXBWVs7%>|rVhbiRre_0>bVZulmLU5Jo;dA|%KC9Yjs-Bew>ZbQ#kw0* zc2Gx=8~4h+7LdZYZL>p-$%}&=RIlhQl4oAym3}Fs6?zfr<*e)LRt#fYye2 z=;rUiobyJeSGq%>5H*!@`92XQHCTykoGJGsE4%I2v2O|NcjGL(P|M@15N!s}q!E|S z%IlNKTW29yP+ih)PL)+?4}ZSM!O3u8TqYa<1iIBgvy>h)YqzB(S{IMCzMF2D2A=UC zFE%K~G~VzpJYhj)V;eQ@d}uS>o$l8|fzZxWyemqdEfRSBrasyfjHWvnEpZB7VRVwx zTKKzRtBMHq-sKrPsH(1T?8)7bARc=+a8zm~ejj|RgfGAcrM$keLetPbBV)dX&r)fs zTRDoGw2h7&pFk32)>9wK6EZX}J6q;w%WSD6UrUr$)GCxx4P!uDk(vrH^v(z945>3B z#4k{*^FktdD0ORR9$iml!&XvV|5|#rW>~sKliX{4iHe4kH4d>^ugfBfB^ttg7j@p|B?2Xs8|tKR1s_5DB@jz~Fx zav`y$iuf1lo(2A4h>nxFK%5Cbm5KP6f-OtuWXo@^Fz#U(7=5?YcY^NvM?jS8QN_GD z!!hY|K}?&>x_q?TGx>&l#50pfL)g19F5&c1GxO!EQl{`PQKX`b3f*fyFos#Ky3i;* zF8RZK4*zUQK`MZ1}P^qnTi5Sh=;!Q$O&3%_DfBaoC#O8 zSuQ(MH?IFq6Yf%zv6AOn$@H@#oI`RNy&LY(c@;i|9_UB#F5NJS5iP>#EX+MoDDkN8 z>zc3et2Y28ELS&s)%hnerq71&l~wj)G=g4+La$gjFW4WmjRAM`NY5o0riUHXAhvrc zQ>Cm6M5X*a_K%lDcRfqpy51ZmoIl(YjEjt0oBWEtZsV$Y95XFR_;ixqiXQ3z4v87YTQfcm<+t*#_4;G_QcdVBXCPkWV8#FE*e(J4P zxjPj;YPi}BO^@vD!tXGJ4`5)gbTutWj$qStX$VSbhBDJE+k!o)MoKYQT|8i+#}aGz$BrR9E1( zHS)uvJ9-RHvAdt{U3htza|>o?kDoqkaA#*`i$u;&Bs~hv+^(%XdfLPEKkeWY`)okK znc%MEI(;uGKZLNaK^VA|sE)hJR8USleP{fVR3GZa2Xr1!qZ#CK&QtS?&`tB=BUwL1 zZ`GOD;FzZ$wyn-5D}f5L6_%tx42RaaJ!!&iG+sFh#ra5otQGD~ty>;OiEfxF+(WaO zb-`|R#3-^^b z>zcN-G^eYF)ykLb8N;QfDIaF@aIxNr_1+1b#?~utfp}@kowiFNLx$I=5e%%Z?cqTu zy(m^UpvOoT>QuQsIPI3#c-3^2e8TW#(V2KQQ5_9U1Q?(H^DH$-MDE@53LA54gcA{zjAY~oQ(JSRWttUC$rH(bN9h&Y0} zL8HZUn_ou_SC$@Q)Cv}Em7g(lBmm87BJ?2GKDnS|Y1oE|$g-0-$**tg`)8h7rGnc$ zrB$fK)$5TK1EL@+SgJY!G=fkOH(6<%?Gpz>Yjji^ep;44Qf?2&@!usSxCsZ$(~tIL zUcW%K=y#r&a{lSnSfY0~op%Ep17Kgc7S*~5e0xV+X9L60^H=_PU6;wpDV@mzj?5Vr zNl{f^p3Xg!*V;{Xt{$%;$_sP1)3>9s9>g*t!Yu@!SNK)vKC#;xo=-i+;g*pXf6erQ4yeF+=G>w#7$db|y4_Z2TI+N7mqC9M=8z`kl77;R>=#jy^+8q%m~u z5z&T z)dXEo`4tiPXcfy_hWY`ie83U;MpqY`O~+` zPfEwr!*FeY@;a-Fdv124c-B%^Xt!*cta)%(PQ9SgFs$3CY35UxkupAdEfG>}T)bs{ ze<${Tw4pGEdURBbx6SVPA%p8I&`*O0+!XSL@?+J z*dF(B5P+sbgWw6<$z#{Mh?wKL_W^_w z?rIN$=SGc*3(g++Xm;CxE>&w;9?B-xCB{@Ozy8p1WmZb9@xJRpH_a829!jmf!Qf!tn_eiQbrP07Jo+$zR4Q?moZyrgpAckmCxg^DQxXz3QWq#hd1 z@=*NH-R8@bi0QvjWZg#uFRL89@i;hK;;g*Jk6uq(_iJNA>`-D5%*?k*hR=X=p{}dy zt5-u|cmB&uJ3pjKrXOcJYvHVH8^R3JIw6#QEIB#i6S zj;zVIl+e&w+3vYz0VJiTP2pzw9cTa4HCFE|MtI%D&ViLHTs2lZqvT2UU;-+wt`y0c zS-)ukzhC&dPCWTCg1_zE$vAFhu>a-HFY>+Sw?p?m#CPzn$+U?hFw_;IFaDDIE!mM? zRpE;C*$a*$5})6Fh~0NSxG!=p-=Qj##p1J@j_}2Xraw(D262^l=p-D7e-?Enha_MViol;4jN}zOBd&$qNb4@P!Q#W3s z>j$TAvR)AJAlO{mDmD9wcpL&>J2E>j5l!h?bw4(guSI$ zc2)BZFH?lumGy3@kqGY#`pLig*((W&;sw=|bKHlz@5-g5Osn&hg@-!=Zsw=1rmkw% zVoa|waq}C{RNR}MQYr0n@Z3)Q86Bu6&$MtBws{|p=5E!Q`xL6ISy><9Vy(}3Re zYOC3P%6&CeYT+U-p!BGZNInCQzOAWx?_pew z8%997@qVaR7Ehbl!9U{BkicQ6!c1YM4wXk+xj{~CED_{5>ryC4yM4+7{}SiAm01>y9(3JM_Fe|#0{JCE_abzjA@jGa2S zd1t7{1SlA=o^yZ`ARx{WToWq!Y&-$c_(AR(1-2Xlr8@)FI1U!eU#emkvC_7PIHfYM z=&2KD-e39cYeF4_+5{)j>cXAf9p(9UpCjpDaSz0rJa!~j4Bv1rOz-f1%aA=%INDxJ zSt_NCC#3CM@n-YXn=HN1_wBvT&9)F4s{jAo-m0q)QA@%#<@@%v=v>!j28a6Tz<%f_ z#;Vb1oPuK+uS&?eyp+MDL52s9)4zxB+GquO>IR6F-cFnpuJ{I@0!zK zz2bAVVdOK%Pv!iJu@^+q(o5z?Z&7P3y#calL(0n*wh`HHn1im}IMDj5mIszKvZ^88 z^~l$KISanu`z~D)lbe-UzeasCKOJlsUu#x6c#R}TzP!P5l%70>SmOF35L!|;f;{aI zxAm&*?wfSRk!ZxyK95ZbuVKN9xX>soh`&n&^nz`D>YX;N{^_zuo$C#}zGDH7Wj+=c zg5c4OK7!@@`^MX+#UI}D0GNU7lvx`rRCw9Hl$FvwCN#yC-oM)dK2E~2d3Va3X;w*( zd}!hu-$K1YAp|OiEjnsw|9bLqFx-?fyFbnQstoBG z<=#Xtb>jRKN!c*G?tQz*v*XKJ1W*U?U$}BX*e>>7z8@x~?WOsclvY1!uHgP%m9^9h zQNsGHV_vtF6JfX8{;ry%Cu8AuTYuXDh~?PvGx^|XY^FAN=duU=p*q{jvQFPtdU&Ee z+=E!v72e<}8hgJRCOodDIb#4tbU|mMY;U=tJyb!^KJ>f64#m8 z^MjB7zS@6ZZ<0Ahd+UV=;o>FR8;RFa?AMP8o)QdIMq$1F=aX7ln0UO)FI=+nR|*3k zmio<3Qi1F3^!+9=cU-YQpPdoVeY@|ww2`Z(Bl@u7(hgJ3)23i^<^}eARMI;7YyVw% z`F#U_pq_!i@+NI^4k!t&j%lQ<&+Ki8*R|16GcPpm^&hk}r_X4nPq{z{USSocUtDv| zKC%|VKzr!Fdi~n07^vgNo=Ij)W%$I20g?+$K%O)$HDTtW5I>KZ-SLz9Ir?+S+q@2* zVJqT4RF|=WbzLmB`CMm!8Dv$3TKmL(!C;i$Hger|(j_NZ^0rtfh8mYwNHtkJof9QnUz3N$gC>yc4FDno{Z9Cw%m_lCCLG_!D%085#N_ak|!)Ife z@%CO9VtzEW2XJSk_s+6iO1xLp{?&PIf&ba&H$!Vg`|T?sp=Zn@A#Ob7pr8~B$J!Z3 z38Fv#{EPPz%8I2m*sK!P&vYoKjmco@r-SqO3pUZ4XXi%4p=G12|)KpTu54@JpN zRqHT)Qv!M`e5@(<6B7k>yA5Mqt%Cw3!>Y|+H3%Io>fCQNo|~GGBFN zpiZ5)k^i7N!S`z~H@D3BjQUhkbqV-@pA0w3<`o=wJv1^l>F@9CP#2Zd7DcX&iw6o? zJza}jdS>}I^kspY=BpgK*JxAAq$g6?RUqO2(KtgH7Zx)|(%C=LJpPLwe;|)BWU2>> zkpKJSn*SE5I3Gb6LH4>}ugt+^tzB@Nf=T(i6l#v*?pTl@6;70U7IM+%eN zA~u2LpecLmp!6mm^m84Q8JduyAwFsZGs}=`dBd{j-yL#zd)iF*Bg`8_5 zG<0JA(}b$mG73wyzaKb;CQ+@&(`MT=t+*egvMR0 zGf~H}Ou+3Qcz<(Upn+{szZGw4FN2A1+|)ij^)>NWB~!#DzbcA>io3M3){P^Xu;VqW zvJR94cHc_rK+jRqThBTo)BIOdB;U`b^lM2k>v@{~`R_6nPmo1P zQM&FUe1Z6wS()+W!`s|fk54p(m>2XW6YX-@*+_S6n73YW6(pDxKGXiGYI;{GP<)1v z{IkSg%!(0O2zjTHTC6=||KrmtZ~p0qTduwL<`W+YUy5q2w(d<<_Zez_6XJ{UC-n27 zo_&`Hyx+NBe}{8hm@TJEPd7$w#z$&UU`?5ua+GBe#<+RqVk)- z1iscA@>PPUIGGu}b6yI={&|ayCF7~+wrPn)8oKX}-WGl)eH_;U(w$@EqRie=1 z)8B9pu&qCvSUFVtj}3IL9UL9|b9MFCdz%%S?~QZChxo$3f2jnW9p^uhdVpGG*vaAC z;F+49xXrpW{%YTd(jUyxXQdc&aj)3t+mS-X^#Bs_nDy>(krShZo@X#z`ad8GmMfHQ zVXkCdGs|-(P}+*;Li|&=tg}*!(0%SUgOlTDa|#N_O1d`TAIPzck?FoiKu^r+7={US z66J|Qp4QB~-_DV*g=C8hM9HT#S+ehvX-&`lHo0TL$?o#;XB9^D_(XBH*;0BpllykZ z%8=aV^`wGFE>Tc|MefV%CqdI=q7JY(`to&2?P}82#guZF`cO;WK`6_OxV8H6l%w8; zj{_jTgRZC%ReFqg{fN(eZwG()KRg37FOXdvn|^VOPda{tho;gxtBa}#PiN8!X%lPF zW>tZ^B4_;zWR&XOHM?c2Uz{CNp=W5Uz%VbYht;Hrw1qsMSKyWeJ>AqQGZnQm9Dl*> z>=6lx&)pb^+&0o9**8z8=?zF&PEYJ&H@?{n0{-%16i?GIEw${Ddc_2qmb&ycAyf%G zZEzZ)g)RJNS1aa4^Q2(c+?J*mD;K5uQizvo8E#taA^P(szyzahX~TYDmw7Nv)fL0Z^IXi@h$${;dCW;0R7H;v<6)@6&vic;gBH)CMI#MLue z$pzTeeV|(ZzXMi)isukVcB4G1I(UEmGjfFR^R_-E@*h0l3xlJX43IX)&Ic z$#>5t9r?R$8@@OXe1-Lc1GNNy^C_g+eFSl6J7MI(0|Csk!ji!OXN%zCGg9!Hq#WPi zQ6GNo?dF@g`Q`}&x76)o=v4W1XW$gT-+6}deRyBa!mAv*IBUNllDwt1B;3__b9Y~Z z#_BZJ1=0SxdoqwT?fEeU$CAa&(p+SAMcqluqg?O@w{J4HrWW$UUNyVg;zu7)*C=<} zKA6EOdQVNdIY%+Vm9c=DA#P+~hXTZz>jnM+>N<6T3|}gD0imeIN1JssNQ*}Zs1{N; z3KW-Ky}qeWkh5(*E@sD@7XeHmhbKQ1z9K;Mgp+SSaoCyNa{X*@N)r6x)4QZ;A<1m> ztA+v7hE1y?z(qBS(VF9Cr{S;cuAJP8i<~?}&cqf#1DCNg(4JLN`tQ7{shKcq)o+%5vUnOS31>?B$_* zwX1SR)6N+;e|yU~-7s%HHYG)pM67%gl7_TDby8QlK1}(*7?s+pqV|PUpL))pU zAG_=NKI_CnMqj%)Gb?(K?1O4l#)F-6+)3W#Ea%G>BaGY>iK~G02u^N53RvqNe`^XX zc1?u;(3;tSLY=TP0fv%#pTsT9C#h#YGmZH4-K|>1+~-b`?(SdvmZH`>|rj`a~ z!g(6+-$#Spa%P_vUqKeL5LTalUAZVa439B_2nytX^lP6uj3z$o-utAy;TwhTDNCg9(gD#Vc)h+kl(rNM7c0Nv=;%91OMRWmHnMT%G~Y7W zaWXrl`@9qV_da6;5YCQ=EsXZ=&xybD$eOBCkhSL|Fn}(V=&x~2k&7!jI@cAJ(pP7A z0jue(e7+YQe2l+XY!*k9);JWY*pFbOoskJd7up|kvDL(GEaB@KLPjp5A!D^I@;Cm? z(T)bXW-M*_1XrqLcrDj=HQlXNi;bGj+jvH-B%k$qPz(#KFX^!;f0t?8^A)8{y#^vx zm3z`6_a(ckpY+q+AURoXU+%S!!$!+GS||lqp}H$hZ_>IS$?cB>rOaeMB^8QPI53Ar z>rvH}0?RV%FLE9}d)*#~kX6s*@bnA6@Z<%URS+_1qwYa#lta-bCbfuhcttY>4UWH`_^KVx+Cq;qf5%va^P66!4krN*6 z5ffh^?J)%f7ic1GdI}ai9crh4+Q82j(PGRf5OMY_`%S&LxoP2s0TJE=S50f{U;%c} zF>H={KjC$}`rV7={&=ZXZyvMT@USL3gIf8)^qBz&A)o(#wP#_`&oR2h9;n!@`JUph zyVxgH(0--a-kBE$dPFI{H`6_g6hw~JMA6FrkdXvnx7% zrCmC1JXM*F?;2^~rOenRTdxXv0^z>_(JI0rKC(CcfSpKAy*fGrCgYMSU* zn!5WUb7NT$rUr5OF&_|!;6Lpy)9I`JX#%QY-0jOq`3}WQD7>C)g)FB(GnEeiLFb;0 z)Y|`M-yYG)o4=;PsmB#cOV)M8&;_)(_&qE4SC&{{22V)0P8kSQJJc0+amXG@mAbrn z=Ex*iVQ&`$^((I)SIj`yU0D;tk}R4*B4gCKZAuAm30EJTU2=*g8@wP*x_~Okc-^((|kvR$5HaZG$`FPPs|@)sx0AkzoJ68%au& zb@%hmw^ZhDSQGv0)zUxMXx%GGq?}1@1&=MDzJ!C-s;7=RRU!6mgtW7_xa^=~c0l*= z@bV`Sq@<5zrOk;QAs(d8EFBO)nN&R!a>)7N8IYRsWIT2?be=~n2u?hIervXDSL;ac zB#i2bKMH6)$o+A1lUsRoSbYw3h_hYe?Fh! zO4;jkt9&{uE5MS@n~`&Jt#JhPxJS~cnNQzPsk|Knd7E;!-W}V1B80%n|krW|h&pMTT8Dks!m`e67+sH68_H8g2 zV;HmC^SR&O`@XLC_xl%oe>{IUACL1qj^p(@Ud!|Od~M^6$dT**{&Tke@YyWqUxv1( zVe?>5ieD4+8>Dpzqa8kK57m5;s$XSz1M_V0$WF4M!cE|# z-GB#QJL_zn{@_(};k5AdbX>~#Wx{ci!1#*uxW1t4G|3-F?(#fJqv%6-3y%-Ly(TOu zb&vQsJ_|3gh_ri-1Q6?uXBqP7H8v_Z1!0+dg=svt;iqnd=N^XG(aO=L-=%tkCB{8+ z!*c0Yl|a+LSVu-6wgk4d!!6hfW4iYb4kJ%Y?141ZK^x+qeb6+miJvY&=e!R69Dju@P~IEBF5_U9srnpf4RzXlqfCi zl-?)S+XU55(!#ICOSbukm5JBL`H^$Ezg!h^?} z9z2Oq+0z_W{>8^J;S1l2rrxw>wLPGF)w|K*VK#kL#uvh zxvt!yRp06^JMlZ_+r%;xfluzwmRnZ1nv11MU$dZZlp58lMRS!c_*yZmpRSQtwQwMm zSaY)Np4)}1he}^~qI_)u$VYD-eA{%!%K7*H=mVUNM4X^q%?FoOq9R6H@j%f&BmJ$#Tr;y+ZR#n?0s=Rr&TEFkXI(6+R z+_TrQZMY`yE`glt7hE4wg1Da^_!+oY3!4U3%i_`rvMLpwVZaX>PwL%(wq7x?ifTD4 z8OvQ~p6s?mYt?lNkFDy|m=is!{K`N_M6`vo>}f1;B+G&wyHBEjot#IDe#CX(Dt#84|YI zZ0o>s?2?d*S@DZ|lkho3;1`b@i5!$t(dJq+!- zh@$A~fQA(YsIa}j@e9$+_ogy8P((d4t-DZ8WBv1v;jK#Be#13w_PLbkGEr~(+GD{O zW=lJ`rew6OW=svGW=%7yg_sQV(?h>$Ff3JI9{if%@Uo+%-_WPN#d*aQ@QuIS@m zF^r9$S8Tw`s1jT>%j<5wxyGnICyG6R(2`JF2sD zAFW~Gw(v877USUC^X&eBI9q27!$wSN{s=mg+(8O9jz2&u`UJ_vRWwFp7R4sV8Wu~X zlhYSX59HX#{c0*CRw)N3z=*O4UsM{>z4!PNtISC$8O;$ebC^4Ns|7if@;*4@*dNAV z07>Pyg{p2xgKrLWz|6V?FaY8gW_K*EfS}MbI)q*trBJAupV=6aoYury7|SrM1bU}~mmO9)(d-V^5h)ug&J7-v4oNo9PcvRtV5 z{Ixt`rQkF+@Y$B}@=vVjPPw3L#(dTnZd`KxmbuV=B3JM|kQBKxst3p}-*^wp*9b62 zUBUS`I}{7Di$!lE!GQVqi(5!Jb?^ctBD5=Y008jT9eXIfmNZS2j5CgWMUx4Dz<-zL ziLRiDm)y)wi`X2#2oeiJ#yD~HhXzgu{g@=Cv9-S4dI1WJA;OBtUxasHy;g>`FaXEP#CHn*8+7foXvIh0{6- z8vTCATLqbS^cKc5S&D+{$*;@w6i2M)+QLdc-a^OS+WesC|Mt%OAq?pzbz0IDi6h%^ zW16*QJ9&?IOFpLO-9fkf+QbB6C%VL+c*K>@-yAt62V{w%M?>5`DjBg|S%3HVVIBs2 z`*G0&#{=Igk^WZmH8x(!awo_5vo$+?ZsLkKAU$}PBCJ-3B!i6)nA=&Yu0ZK&voDb%0L1VidRKNZ|Sc6L<+KAQ%9>jvTD z>qpDFR_3kmOT{k*vkG7?U4yMP8*<*ia7d7ph{ov^ZX&gKsym zS{yj<=M%AknwjW7+wVQz&wZg164BYg@TlzPVShA@4EY)vYC#ud1f*eze~24$GOS9#R1*+lSIe)8K}n{tV9IRANR~e`HUpS$g6oi(N5upQH5JZ#BKh73S&b!#@sk)PgMAT=-Y?n*0->xazj4(SB}J z$>ZrWF;}~tgn)22OQ)M&y(aX{t)5y7HQ__iS?sX=&-bYeAJ;KB{^p`EW7%@FEOb(I zwM8HZAGG%_9dPLrMN`zOLz%Bkmv-S#N3gjpYw5I`7s)qP%I#jnYok;(s-*M47%$N@ zSkK_tx@wer$r4uG2nfqnj+yK=0F?*Tt4w`JS7IhQ`HXfuku5y_VMW|OtZ`2O`}=C2qq>ebD_ zQA*dcRZfw`!;f~_r8~?vgM6kGPs1?-Z}tnKCg`gGbkvS@(D!nTJb5`;Y`3OHt0*o& zv%n1uvRI@e@%uY~dJFnQ-$8`Cx*M86w(ph(X*3Y`erNEIOBl~(i75KpBm}DIdQ+6f zwf8%feK6^fn@Uz4i0%B~92o!ky29!6lCQ0ZKSb3R|M&sr_h;zJpguB%U+TBvyal}Q zFT)HE=S#t{e`cO^jina`;b_!sm01x94JDCb(R=pBJ_8Ih)55A?F)2H8gl~3cl6%N_ zv#aPv82&Vp&fa_!}>7WX`cEAt019<@a)q*v<&9t4#gDKC2otc48^aQiv~~TTS`Dwr;j- zuB=Rd?yJ*Z+0cO2W%hE(zLw9--_QE`f)1zN+bt;6#_TSo@FwXZUfP5jsn0T+#8%)B zXFq}lG+OA?TtDJF{~dw+0<0y3O!IZQths? zvcE9;cY;*MHJg~;GF;t!Y|wNV zx|w4Q$YHS){ot8%eWMr!L&pIQ<1Q{^6tceMtX5rmctT%CUru9o@Cgf(f+ zS}e-R1l3Y|T>n%#`YuNPQC1Ex_e}|2Txi5Zr>JR|`xEM@{w!^EQlWnL>8}C?4g2GZ zl%@xlVz0)EJ%N15;E?vm^MSC8TL&Rct6g@F_iNGcnXQf^D8993 zx8GHcCl>D(C1rx{-Y1Z-W&vG&9;rJx{~z4d2wJGkH6jmH#jP^tPQ*h@I-C(xecx6p z%_p}JS4VHbruiC-e&P-(7rtJHLVBt6+R_~P!e!p@C#Ti|qJq3H+KX1Tv-1;8=HH~s z(!2bwz7UEMK~OR>OCuIMA!F6KM@gTd-^n(3O4|YT_?kG)zRAh&q%#okc$K3ms|Yc& z-*886a@cG?z1sXkNU5yRx=?~vKcDaWPTu@L*VAmR{}8=T#|<6lyeV=)#p5!bt~TDf zohntaR>jtnvS)>o{S%OuI>oBf%|C#q7{o8${v&-$KzI>DmNit)NdVbbtvv{w&c7T zc!Ys|ob5?yYJBDrzD`g}JppR{$0h&I5G{7js=A0GgZ@5Ts3>z8G=4EY^uj+s@ju!h z*uwBY+x$TaApRel<>sc}NyDSDY(d*!KW-fQnE&p|Qu%gS|eD%Tf_ta#!t5V2&t`QGKxeh-w&>~r58&xVHmYrs*RIvz>0 zXZ>Y45RThD8P|M$wS}qftOFDI%Y%w4e>>{!glU`k0L4;+?Je%*ho0F3dswC3!9=Jd zv7HfRRbF%d?0d&4u7+_n4z~mjVb2}2!dys1cp}+jVu9uk(%9D}8Kuap_f+rESR<}Y zmORXh`=eTkwn4$`&x*0`{m=yR_OYh>^&_m`Z>^+Pd_9kq`L2D6z)uEfwo3rjQz3i? z&-z0yul0gH8jqW9w9!WIov1b4xsj04;eD|?`9hKw-2eD8vj4)?(nYvQ#^Ye85wGB1p;kh0qb${{8>RB?5(Smn2=V==aLvzcy+k3Q1tyXpZ)UC z)-wC1l|RovtBAw$*;n?#hAg&g1RVt}hTNSU1!w4*IfNsfA~ zy(@I)KX}i3-P|jX>Z`UXf}<{!(?4dQY=vz0%n?%6)4+T@x;AKB8Vy>VLM}23P654N z33UraORKaK{O>i`yY{ObjM-~BW}?f{bu;05qxP!dY6!qzkNI>=xRKMz^bC_TBg)LXq6 zb>BuJPWB%Ma>HtxRE>)a)fivCD^30*CCyTsmD4abYsLEXXc-XO9m(!Pk83XdEDk?0 z(o+0TW#IVDpu*0AR{$FsEz!Try+3v?hCNHOETtOttX4`>n#9MS+#{EfkO7EYGRxNC z1Lw!8F}&7k0Qp6|q;6nC%Rp9encQqE?gMTIPm*rL@x4iq*g{>Ud(Sxd% z1K#f*)qoSujmmgOr6EZU#rz%tLKZEoiSrWjE|Kds-IwXTApty726N5Dl&?6roj7U=K|Y!b_Pw*}068x{BM7yAZr0p&!1d6gvWUX6fA!b@$+*o zuI=D0Z+-5Bho2BKmy@1zd5f_Fe(nG2K@QfVq7!_bM72zb3fKLYX>f5uIi2PU$(ACT z?P<)fRTtPc5>?lOMbg%;$cJ`#!ahU4K&>4LR2u3!Gp4=)M0kBXJdk4E*zYycZN(4Y z(!yhXf!HfmLnk-dqun7rN>(pH_uH8p&f>#aX#r90ojUvKq5@Jo5$9A!ExR;?v0Ks! z#D(N5!U}Di!oNA)pV;C+_x&M2LEH#+%*{gRd$F2dAxUtr;#Y9ah#Wsp+CP_Ka`6T@ z0(fHKLZ;I%OJfUO4wN;Yv!5fFUiDbnHZ%shLb+Tu>VB7%)kzQ2s#c1g6#fi(ogo;d zKYaLDH4B0c7KrjwTr7Eb?Uc7IA{$>3RMBa@IA5L4_y)4Nxm83jPkQ>IO%G^sXv&WUQ z!ju&eYQ}x7QqDEB&AHe&)?64H073dfVW)w7geiWybE zw#`YMHdUo`F;UKNrPYXDSxXr?frc)8rL4H}c?GzD@cEZJUSu9M>Dy~qSIcX*l13Nr znFPB$hBjZ{dNIYnZ&6J^FuS;`C$}g2w{z6}?Dg;PuUtgB@bxW=sD~Z43wb>=_*FXa z5H+VPr&CphlBuN|3dII)I=&L(EnVQ7++L zEyw(XSuYg*c<;MsK%moB04bC?IsZd$q?sfn6Ft@^>|e|dyPDJ0L}XYhWA=x)w1C^Z zwqLY&f@XWfuonXAls@dVgi}RFQj139zz;mucKx8svtlj#UQCL&ce72xxNWn;V*R6-mf*^rpMAK=;ogB$I+rfffn&B4<#W9FX_8|Pffw%P zcRYYepGp71haFt%6AxfCYNSWM?hde7yJfPiIj?uZ-)iBO$-O_qCG}}8PnvX{Y?_AB zYiR7UN^!9XV;*vkL=)}!f;Xr}A~XfsD3kEEqtuCg28Vn4Cmg0xXgGksHY8iIx`)fy z`CD&aUO(nni@5H=q_`>#{LdiFWq$|4V>F!I-T)j^HqHy(GTm`XSa)q{PZDo~zG60X zc79y^p^vlUefLbgM^EP0rPYIqs#_XK1b({)mBT*$vY=-E6_{L%TPec1xV2%sR-!R| z;&}pq-$SUe2Tr;_8+VuU%WC#xE4K{CD+6(67TbI;>D`{eNHkW%JqloXW}H~!^>G{2 zS;Byot&{8PM|}M0siXeL;5FKy+MoMWN$#wxHL^jop+ib-ZzYs3G5F&RKR`v^<93wQ z+H~K#kqCIKE)A9)z<)!uNNWyfs-e=fc+?q}I#JDBZdoS^Y-`SZN#DuqgCwgCG(9@I zHmct^dXj#1miZ#sQ=x<8F&(!^&?EhNLXj_GOi6%ekodNQM%u41ehkSA*VUD8X^ArI z46$Wr;9*MuuH^FnEj;M#j;$MVDy!=Y6=v5Th>UcJ%SeAlsN*diAmMA1Q~Tm1;urPB z@{va$CStZFr}EiPe@ddpoO?YoAbm8AA)yQ-^|ePd?1)fCPFWH331a6>wL|_3{I8s0 zLP8+vcN%6ec!-mRjmqY3EN=lh#t@kTK~%v{3s2?Udy=$dgB+;gyBT7Y5%w&#z%}9C z5Z?M#;)T4rIO=?~RykjAN3lMgShbJ;{hGg(ztl~%YlR?BK$ zLbg!du2?CzK3CbM4WH(s)`F*8`SP9(oAU>Bcwir9wy>Xq86D!UkGfVff_$Z$zo6Vq zWjG*M;TqG?k}t6kH3--Yj6gM!;u%J$-2;xuI-0Q9UV5`X9=n^UR2r{9sCUf*8A^jM zZDbliTF9ktIt`B!tg`w1s#_S#BCLUsS)08>S_>}wfwgKmbXSH1+{>AZ+eTz9=7+Z9 zfYp*V=3itjl5ZMo6#jak|9)4!r(NLDKS6=cb!N4wWttxVLgEh|pTC`^X4v0O4YC&^ zyHdxeB7w%}w~HR6qolf8^PA+OIq>JzC!Um6fD`DBBX9WRQRbN}x=KNZHEjrHukjtK zBMV2vs8F@Kr82iei(>}WGpZ&1PU|)us~AoYs^skFJIl4UR3TI2z%DqNT-yu_qiyxg z1$dCyP#RZ@#wVwGef5qTSi<(t%y-`oE2}!(XLqNdr~5kr77CtbJvqj0upvG{>b)Zn z|3xb?*zC`Cbb!WcKfvU#gq=@wmM6xGqgOr{^1U>b3yI_rJoSzT65=3>ld2yYKwo&G zZJ6NS-vcuy-{Y@yX^kk`e*C;cM7$@f0g2?R)7cY@HH!)<8QU^7P#{)#uO9}TkW5WC z`=IvuIOn*gM)OKVK?kAQq^WZxsGth_^UUHZcPhoiNLRyn@fBnUWPgVeU8Vudc3CsR z*BCp_H-4=4DH=493r?72hOEFgK+V)?nu345DfYiydo8e~$j( zi#Z7ovrJ)5u5}h5gNr~9;~o(drPh??L;@3=PN#EOs}y~+Rv7~5fz(R1G5k~twDh~ih>1`JvUSFn!)t6ajQ#3D(Z1=e&5?5D*0nl4_0s} zW35m0OBm4FQRfn%8+p2)H^1mn`>;>lT|y-L@jpqjcJaGVaf+#~h5$Afzp<8)MUCye zkIf!e#AWe^i_XYeqOtI*C{VMr?3|g9Ql0JCSei*+mU&hYVAFcGU)3h> zIj8%O{5k5iv$pn>*yMntfuk?#%w4o-6e&HjOLYty;dr}PBlXf3!8 zW2995MesXteLKEMCTR?60Pqi5!8S5yP9A{SB_RGd7B_`Y0D!F)IM;RSAn8Kj)M1=r z85sxS5|Bspik!E$%0VoKZB;-Nt+CE`+!-)8IxMjeeLsJVeZrP6aWwTq$h;B^;QqdI z+YeZ`6_0a-#u#6l7{o)vCff3%X}|!TSMk=xHol5$O6)obfH4qVe5sstBX$rJXAaa> zQXl%o6)3}XcKl&6gUpNl3%#XpoAR&O*E#t#3Lch_Q$_X4Ro?I#HO;VtRiOBpwsx@h zqlyQuz$>1Z1pi5rpV6>pldL$$AJ=k&>Kde(vHqCDjW+&Ib>e@ZJqW^$Z_PSXQK}e| zRaJdVJjT~Z!)D(k*RvUhmreHaq# zaAV=ws!g8x^)**mY|QY*1XeU5Ov!}9gob(%G?flxm-)oy4ohU0y#H+L`KiDL+|p@< z9}ry)+u#iii3>-L7rIoJ(9QGhJb4E%Ei)EG&Mj@oCAb*ROksM^MrC?Ycb6i;uEh(HlPq7??QVp@XLJT*Q(G4E0WT(=l0sj!R1?eWV(-r z0v9Nu*0AP7Ol8MQ`(k!2vJca*19RMAjrsI50$M72^Bv;47ocMs7Xf%9v>P0@Ld3nV zSL#s9Wkvrfb6tO*nT!5rs<8q6wCWDS@gcbIBrAo!GtlpNEv$4yBzgqXm9|)X)|z5z zo@>uHXb{{m(ljQxOmHH~Z8fwoWL8BGN*d2*jMm!AEXjhwp|D-lPUOc?%M^#LZ@#E5 z%{FmriSGRyPy`~tEh?lNhd7(Q7U0YHymCa|E`YG-x-h);^Z)GvmfwZKANU7Wc8YaH zZmGwh@s$}?S)R*pZ)GD^omR&W)p>_YGt~fgn!E;MZwn1Z#pz&RQLOXh_Q;wPg-tIcQYH9g)i?x9RdKZ;~P}K(&^vGLSiw zb$v*s?~Jg6dYziZFY$zj_^bosfFo(PGDB*&pP_e41wR+yX)Qy9nqRQD**Be2rragQZBPVf%QiC*ZmLn|Tv;I7CI88yCqqjfM0@Bx6iNQL z3w=j-T2z@a+f(awt#r~v`HLmsuS;6d+0C1Q3JT9d6`!60mO?-E(wy(F*RqHT8;T2o z>Q7r7YnH)@s_r#LpxCE5oZ1=rfQpq>F{G}I$lNSH`2(mBvm+TEqJBk8bQknUY*hX0 z;GT;d))dpIgU0Wa|Lx@(j|;^# zSc1Og@jS~~+f>MpTufwWipWLsz#mu$yVUfpu9&N=Z`Ka`#p34J_M1+(H4hTAj*#$T zUu08Hd^5AtkZm`vTf^Qkxiat^Hg3x9{3{yRJ4`wW&gm9II29%0aaZ9&i?j*&W_EQ! zz#&~qvcwg#Ox4YLoKhlgt$+2a<%Gf51+Inm7bCKoGwY_BJQW;)vx;G-IA^;WueV|k zO8UI|d!qFaz%Ha{gW|^V*zrj)%o@u@Dj3D&nqIydJE=TzhCQkv_g=IZv1{$nykn+? zR31m!p4&4P6AAv>snFjeyx>~ZE7J$-a0$twxv@e11pmI@o`-_>cy&>~+Y=!z&hjfS zWPkH*I$I|Lq%1^B+Y2;C5IM$Ew96{mbFQK7w`Qq8X#~R`x#lry^);S9-4%OJ{P(jd z8*#01wkt}p2@3?2BMu)OeKGs?b3S@t54l1v+Shs=inB&(VJ?i&1J@pxYI*ts7ms#( zgDZB*qITeAoi!(|_QKTVc6qhp+$F(PnXXn|0q zejF7`cxXH8#9mKty|r)}9WqZ;<=wq&(HhU8UG z9h;Tf2ZhilN?*hx!hfAF69*-c#B$Vk3W@e;C$~HC#;*e6Y1=I%;H6I!TDYdZFJkA$ zzbKZo`{V7b`}!`AC=Kx)xj&Z2$C=FNi8tcWEY2PMLOTIpUzDji`xU{8NQ~3L<=o&>AZecYqe3e!_yXRBkI@ zuXh1+i$;&gX4M5V)Stqy%2VZ2@H0$$ahVf?TnR9_N4KUw=Fa)j!fo(EL_w%LDVj{ELq%^+0irH3|s-h;&9O zhWTI8@IxTO{t@;!+m@GtI<8sb-AH^eXDQuUG#{1CDiN7 zXXjY+SA~xdVwow;y7PiA{(3^6F?8fm(;Yq49?Nfbukg;|sH5ilZ#q-WJI-s=YB0dg zJIy1c>U`V)sZ>04LB%Pi_fAXrN+!jCTK!lv+K_MkXQ6oL(gdY=p!o+w)6sX&Q{1Yj zW2*#n`L-MNC90ry#*BMCRwWUS228X9)T?#QMc+@~3X?(RX71E}JzA)w3SvH*L(i2q zhE+|@+akD98L}>|$^MGeRt@kG1DUC`UT>B4jmGLSyS4QQPM#6~W9)$0**TBp>9TWs znuM)CV)o}#E%T0@HvNfSfzDZSU?GO6MGUt@gbG9-)OPjkexrzGAXf%9*ht31675fIfbrxRV_03#Q|N5`a9M{#^6a(&p zX-}BX4;{FdBH;`Q|0~aYHkC9QC#$lFQsT~}gPe*8RnfOZ;B6bm`8WnQYHY#qE6TnN zhV$Z7kVEugr}6k(9x{2o79M64UPUrLzew}o(X&w{VS=U3d4kkyppR!w1&bC!UmMC6 z>n$Gy9h0MgzVRMOxH)+&?zE5Yt312;_`9uQd_w6LKKqrURh_Rb`n(TQm2j?|==93y zbP0fJC&;QTpIDa;yCC26R7O$6_MFQN*TB1{UtV8rSrKffmheV|qJpLo-7S3&4QfAZ z2LL(o)4+#~8{jt+tBOmT zH0(O$a#Tm>M%Ma`6zx*P%8M`kK{@wcYT+s|1}9&D1lnN3byeqh_O9}0`Y0Vy?OSz{ zwIHgkX@4I3G`3{HlA5{fk<<9L@q$c0ezk52V>+;XGaMr}sY(%YQRpAyW8aqZr?tFI zD2m_S8XiFcJxQ?O^ptAnqpD|4zC`?gO=Zj$!IccrY#PcK>xJE9(NH*(hEm!K3(|_5 zpv)a+DRiEPOiTUd*)vfqvR2oVqgH6iK-YF|mx)zy9tCUlAT-)5ucyBu{J@ z92#}*{?Hh`8Q7&d=5Bre2c^G?5xG;M6z>5}e%o?Y{)aVsOrq8}ffXgT?(%ZxilJ3R za~+~jQhm<+{4Is1&iy}PudaIAztWpN3Z=SR!H`G5p$XsI7RJ}lor>R#U{?^n@nv~< zP>y-zTzKp(20M||oZ4H=wG3tn_HGEY^%lFPANNjLnC}JQBLNxluTFTf&aN}}%31BO zMJuWGF{R7o_u1Xshv_-Tmmso1UlX~~GJ;1Nqo|Dpkm_K1RnY4A^2!pM|0b~8A$}}N zKsHbl6{YekWXr_Hg^=G@UP$S24bxuH?zPXUrrC^>J)C{HROEYW?4pE^6MNvo#@C7X z$kvRy;8%NNhpzHkUEsl6;sx_@GrSwY8EWnBw(cTJ+D}VLYYm_a8xL=r4+fNW^SP=r zb#Xe`37Y}C@`_nmwllx;UZkopjrH66rXZD&R}hEYx_id0tW9y?5~W8VSau4m*rR7S z8rkf*neXcqN@@jv;`n5EN+j8tRG6)4d)y@I@OeDD)wnQk{rZ^4%lKbZXy%_J=j(vy z%r0KVVKGE-89G1PJAy96+fgl!-T&W?=@IsCRd3VF;_6EI^xtOqc;=H=H+ZqD-X-I< z^k=ZC)%WdR`c@=~S-Gfr5wL7W-f~k-E28VQ(QbdfK=w0M4Wy^|lw#zoJ?%69G|IWx zxB*V`=Aavq=!IX%UZvNWe%k^^?dTzFxl`r+cj~W@_{hQL0lJ~Sy|GSwef~r5#0>Rq z$l2mYEGBkht+s)w)&n?amPS?oS*aoX!7<*C#lfEe_y^+Nu&D%SjYaRUmfXU#Yi#wv zeCl(JFGd*{VJUg@;GbgRRrvi4UU93pu&=Oe)t#J?UU1?2y25D$ez-{%*H8=JrUJ^rJMM=^1}v$Q#^ zw;8dMvvG**Ho&(07R@R2FN%nVy-e1=lik)KT{**jq;2m=_c-IMea&t7SZTM~_hz9~ zQpu5OdQ?bZ=!!hH@WGmP`J$Nd>(z}Q@k5Cy!OZX@vBT}bFUHDj`{`Lq_{QMAlf5L#H`oMMF6zh(T_<4_P0AhlF7ox{5tgIi|0a_M0Du9)#a} z4#+Eeiu}>6`dfTZJ@7|WlNj?Ml=AmSnG)ub5HZ{79mfB7?;X3NF}*{?5@P!hZ7skw zgRnJ_J@abGk?!?JD#zS|>!Wxb2z@UhrptHt34NCAp&F3oE3-e>@w=?x7T4@*d{&Ei zOl&-^-p!}#z`Bj2@N)S)+Geey~_ zZNa#2#c?yWsx;VepZst_@#1Uy0a4#ya?(t#JY5D0)7uOxHp1r~j4`=KRTQ}1Z?Gd; zd{ji`CnEhdcYuje|2Ljh4aH%TgQZtuNP10Ie-u=>6@3xG4BLu@F#<8)AkpScY1_@6 zd<)S$`;R}5oL!T>C_nu9w5lcf zKri&CRY{-GA*_qKVE?(G{$S&^j+#qs$3LCywaj?bxz+4B3`!+=U=Ju68$v|P!{2nLrcHwtY6w@ z`y?oi=B6ClpW{UOT)u+RVI+egZqz^unN@@Z{1h`?JVU)#!apR#YkRurca7(3aJme9 zLhR?<={wq|UaaLOA^lAGSuCb7nl^|*$@3*NCY&55kuDoejhw=!Rr%|)2CfM+O!Zxj zJp&(8fZJkE{;NGO9AjcahdT#R@Z-GGIZrR8kHX&YnWdozwfm5^YWi9)+czjf4<1#4 z85;v|7yYg~2ishuSO$zSAXiJb#x4lUU2$|)abMNQpKmC5lyI7oQm{g4{q>hU^XET1 zeTp@3tpdnBdj9y#&A&rl)pRnaq6_ncJ7~5E0%6Z&(e|ZHnr26!{2`VO7Am1KjKRs` z2YGe$TOiC+ISS!+!pt@eYAio$+W@@(T#*r-ey{x*_mp41-=0)+;je{@^uALkIR?i+ zu0Lmgbn3dM3My4Ot39KPQhp+!Z&Td2ceVBN6@H}e<@9#BAqa81*#d+&&ATkwXTP$O zR0deH$CNA$xPUO~*ZO#**=JXU2lfR~OB6o!e&HhlUSCY%d|C03LQ~a3KDf6qWBrKL3?a`y(;r^> zQJ-bfzJUV0`c9nXDpS-K4-;{a&9VpJSKVF;k}}R~TbHCV`$d&KR(?2%&P04D?M40R zc0UP=bqN*m*a}6qZ?Ka^_vi$B zr8~8U|I?KN4sOK?+83DPAgPi-S)m}EOz(OzlGr!N zy)O1jVtD7Osw2L`l9QrdHlO%xhA+%Wfl~q-&^uW+(F^V}#}w)hN8pN|uhxdcddqAs z&BYE6&QM*UIM$<#d-v_)C6Ig#l~iaQXqZP6w;YQiDdzWc4yk4__ot==PqcyGl{$7NqWDo>#ma`u6j${vPRskmh@nKG_?pwG5 zBBfN`FKyTGztg%dDdL2*Os{?JqE?IA-P`z5`WH`i_5NZvy>7-MhssRH`Ak*~UeQW}^pmZN?%-YXrq0gYl3qH4vad6z z4an<(8ajAZjj5|Sj?H{-C;E@|mrblvV*jExTD-%%(_+>?*Hrf%oK?n1*8*ez?gkSk zNJ|jk#ZhrkqFhsY)Y9REWBonQ!u_zFrwOB$SNHcZ?EP}3*UeP)R~Y-Qj0oVjj(NPI z@AG{#dy|9sR&VRMX82DirXQ=&Vo%7*VC;J*D(5bo#r!pdCu%b;AOy#olg>1`j}K$H zAT=?2xF2Ne@RG^UC$*iw)XbApWd7Z>HrQ3}>j5(kOE;KQ(afg4j!=^osis%6o*&>c zGeaa3GZ|k$PLsxG;_unHHgIY1BU9Dp`@RedF#TAWX$omCOncVR_U#MTkF<;MXims_ zomVgW7e#Ud_~W*F7;Op@llr4x(J;!PwO1ny;Sd+_mnkRE;7+{GA7=kwJ+MsG)18_L zz^dM79_RvSirEMEk#^2aW$U4j%~ff6t{@eXdqC02-xJz!S);%#fLtjS?jkJ&0-6_N zwA5tq`=dIep=T^ozry@;lLIyBL0^h}a4aJunduKQSD2*^*(JVAho;P>>!ksf6axcn z_Zlx}#7nibSyZ(;M+g-{yEDsN{;Kt;?!!6L+ms_+@Cy^?rJ!p7Ous79(4E%a`E(?G z4XHa?LMUJB^FwtN)7+W?tcMA_Xw0R}j9Mov?cTMhjiVsc&W0TAAd0!$&5N&Z8?zLv zCt9tzke#;RTlwAVq`o1_xpn;qDciQFwb_eEKeWvkzPGu(@B?SNhI9%k4^qP1cnbz9 zh|Q@R5ZeeS_GizGzypcZavni)z#&CkBWEnh_&96U+rf*Bn{VokSDm;QI=?V4Z{evOW$owuT|N~$r>MGS*qrN;>_*dGAHlEKuglm$r(V<*-#^KU~leE0Qm#>OLAcl%CN>_~qbHwGe~jzRj=e z{#^R`ZBqA1U;Nq|`-J{5xo^?XbqHzF39~n>YjGje4U?TbWQ^Z*3j3;`LLi*|tYix| zEmBpqUglM^9LSKI#TfjRnU`$Va$TO(cfE0MR3}#+vYR%E40XQ0CYY(8B2o&!$SD&W zE3JLEF%TDC(3m#qkE7Iff}fXeZ6HMQY~~@6p_h<+&6Ki6#%-F!1mHxP+I8Rg^-7|i zPw28_uk=(Y28xB^@);Q8yO~9vHiJhD&SN_S6D)YMh5HsigiPnn1b-MeBZ}$F9U))b zdNiYZ9P?ct-Ar0ZZZi{>hAWjh>3J!1sXJM!A?}}w6fAjv%HL_EqPBvFyoPy|-RVTv zP}DMAQ3Y0xQp7V){WjPiMq2^H%ot0~%Tk}B&}qA-^X|LbM#egBtxn)VbKz_ayK>dg?(O2x%v`&U?R!f*=k!531c zrt^wzsH_TO0~Q2jp&Oi=+;3j$ec>ct{cL%o>80k9#ZVcjnC}Ubk=y0qfB;H>71AfI zC)30;u(n!;_*)_cXGKwphkt3ZQX1CngJTJv=$!_?Xv~te^AkfdZA--TsSzttI4sOG z`HDCQbQs%dkCZ6?hKFp{Q$@4}j9!E=KQkX5;s9e#10e!$+ZE-;W*W2_~0pJqTSOv{xQ*6))wFy$M#UYFz9AFvvE=jq_?}q_&jG26e;Pfr7wRU2 zD$OGbk5*?xGNe}t)r-=Ah0xC4rO`K6ju>8gfnnwdg%+(Fr8OwTnMh8|`9k`}_vX%M z;c78@TjzW=b3$Ehc&@D!2X{A4)BOOwO*P6H*eEon&odW7lIj(s#~YLCzI9O8LT zP3&yqX8L9YyCV}AITch3d-Y&-0O`n$?PsqnbB^9o0TXduG7K!NyFyO!a}G5>M15r z>9>k4A$H;UiDzK)6i3t}2>ye-|uUmFZ8Z`>kFf>qUFK65c{XZV&PSXs}8Wfcx_mxjhDSke-AoIc#a* zQP2G_z`tBo>ThqncIF+U`%T*s6N99zz?dhpRXc_0koEelm%%e)u1^kbsi&%@?gAqJ ztH&~y*A~CdzpxS)wr4@rT@`Ba@b_{^!rrr)Kb2TcrS!yvTYDvVO!f!DxXJzNL zCB^a%c+_`i{hJ7-J40ftN-dX($!zZHQ2?8Dd z!r_TmM#<61uB<%O`_0zD2*T^wTBqEHTj9i~6*h6(?hvUpy+U@0 zz851c&7otrMD`9-p+6CINH!m3k(Je=?Ugbi#=gEod)#6gu%rl71a3OH*PDx6f1R&l zKX4BDsqBeu0zDnPZRZ7wqmI!&Vap#NE!8j+{SYea#=5O6!E=F-vXIkUY8z44@sjha zi>_mmSyYP=+7pwbS0G67pfa%!Jxlz4VRq5S}MNSWW+1IG|U$BMl>=rn`D&c_!mkwdS|( z(mnoDgDrdii@mQ5i?Zngz7esIPy|F$5mC~jBn?DCKx&a(1?dLqSQKeNky28+S!$^T z7U__VrI+rmUD##!yTSMRp6B;>eLtT+T+4mVoSK<4XJ*dKtZfiB7uqmV9wmh3`FVpJkb zbGgivXiXG7a@lZOxT(=m>@{L2mqr>HB&&WTnzz?Lc>M9DP}3aBEVM&qC2A|%*5OF= zE5(zMo$Vc;`k<18Z=@K9tN1x(iJnpW>>efMK-RtvmW3-qLY~cu!o)f5N2_!jIZl|e z?dD}oh(Ceg{$(etSuXqI#+as(LZD1LD`qW=vFW0cn0sja59xkA+$VyEXT(TD-$A&N zav8JO!WTVrE8{I(j*nq28*vPtZM#~Zk6cvqUqI#Qc?aURxy>XW3s)Hu;Jgsx{_lFZ z(}RwLZr5e_xp3rCbuXg5Ya_4P>fSw)D=7yev2bAH1wClSK84?BMrbbHeV5kq-B}!> z)bGX#%Y}%!OdcJe@^q!#>m(01C#jH*!(BLnm-3(6mxp&{F+Qh|Z?OByxjK-ZFBu`8 zsJqfo_Jqp4RF9N+FP|LzTnN+P-Gg*zVyaB>;ph%`#nNno&D_`gsLWw^Rc!~QtURXC4EeRVyTWQ&P6w~hXLu4pZu-8WZOIP~q7+?*kL*f2}+;ZVFaQ z20arXK&4zh2}5oH9Iw!+;E1N#7~`(-b6E4AE_BHahkp8Ac8)aXQx^Tk=@f8V5}WhR zZ8Oqk3V`(a9WnFv;p{xo^iD|o zpPGLiuqmiVvE67?6k7#o@36aH$50;51|Plq$Q$+3lk1;V!R!98HOgnt9s0>QwAuF0 z^h;?ZdgO{!z=n?n&5Tq3dp7L$lZzyxr)*d2V0!6lyUJN0g5h6k7~rt3_G+58-DE(T z-#kt3+hyVP+fBx{lc=7)+UY;fmA$Me$ z+nT@5IEdhDw;WPy-?OIl1ZP6`cb4(~__EPBa3%iM-wW7UjxWCvJwKJG`1cmlu;VLeZ71jOx=btZs#(Ux?e|hf}R=!-WwIc(D`qm&v z+RmX0B{x9V2mlw}EcMO1r;@)sDMl}5zK&Lkn*6^7e|f&IdFkepatbKOaqc)8`4B4K z|G$DGiu19l?V>yYfHb#SN9WIEKI8w(?H3p8!wF8S>0ba~$!i^32ptWtRSDGo>!Lq0 z+f=>0)^-mR1s&YvwPqCha`%4}b=B%6Rh1M&&jYnJ0(bpjjP|dR8UHH2N$kgP^3Mc- zdRvCnKy|t<1seRN_uE|?7TzDs2})Q@cIdTc7y9A~=U>(I_gK~>Rn3_~&jGcaJVvH? z#A>nF4V5n^fo_2J+(>NdFbfUfUCrOUZvnNFNM`yw%8*qfL|(3mu>pWPQgIaSIOFo{ z!Qb)blzieohLiQhv?UGUud`4B-bW$3`xb(Be96pzWxN#ax*le4Zp#M%`M$z1KJOSdS>tC>Eex)~8A_HcV|I9&`*z3AFSl*Y96(fNUc(@G9DzG3Nm<6r zAC`~#4%&g^P@}5EVdFZy3OkI2t&4hyc2EG_FT_1u7W`}$l-Q1*b?sCA$m?Wi<91%& zoBeSoF@FfxHC3M#R}cJ(^ulfCOV`9=I~9D~#)k@SdY;*4Ay%BZOeB-Jk~2J2C?bVF zIvp(o&}RGONW0A?LFN`8C-+r|NNgVx9GgXz$vD(WL_(_t4OB0T?X>GTlG4EOZFi>X z*$3ownzqiT0TWYfa`Z-pXyC+6w}|qpF5H})=mWCJKdU+f^DYI-p4iDRb<${EuptBp zYam1Q!aL}xfmw~Fm_j|?o}6d0sL~rgJC}fM9*2&h^?@Y~S})u}W#F-;T718HRYk8{ z16rhG(THVLKV69 zCwn&)=$TT^-A%#bdthH6G-uPi`Aq?$7Ua^Cmn#Q-b2yXRGW7+-jI1`0(Qsp#WdKh( zCJ69OgLO42t?sbdrCSNeyx&G~(L|(S?rhF(6tcf00vz`bFl98FshG#zn;Y4Y%dPh8 z$K*9HIP3jky$n2iJrYNKepiYj<2AagNVFZ`urFe8R!qe{p4@~t`Yw}5WtWffxtG&e zX5A=&8&)Rrif+F?sc;)fFE9enM%E)nc4f|8CEhU{*m-{eM17_o#wKl>b_yT`t_tP{ zr?9u#_^#`AzI6g{%Cme+SCyqtw{LF9r}Yc$@tL_APeD6$*uC8TWInEj^Esu9+d~%o z{X$+cjV&yzCiM#pPSZXqCLifp2Hw zvB_P>kwzP9tkre*`j#Dsz;Vct%XIuZ|WzkSZYh{_6Uv?zx&` zHIXe>!vewZoIcXFbgh}Yl)3BkMr6FGb>yp#>&U19^Te|1XZBN@?Aen0R~T;to0v!6 z?1hh1yt2aVKR>tt5OtcH5)@#k)o{*{cvQ`6<*=l8ey}Z1r)x?@U$8m8Wi)x{tEJy| zI=DVspb6c$>B+otzQh5S*ZE^hM0k_J9=mA#WmA`Ty4Xm+5EGcAW367+j#+8azBE>A z&bFgJl77tJ-j7H(+()i&T6!>sb0&IZEJgNH4G2ZKt{|2x>(c4xp05d89xRFyoylR?@+VoGrUL5)r%K41DQI{ipHk7xSKqDq zh@cIfD%zX)c%ZA{mXyQDG-dPvBJ=Q@E?XOEK)q==AqwPpdQ?Y z(ULeC)z#B@Y3AIbPFl=aWb2w2I?j29ko&>(a!V5*3>nNslPs#Y zav!@=kuG#lZ=xts>N9A-HuyAfkBxLs)*zujwkZ>I64|(~J+N*+n0?IGC$P*6IdpeD z${(Se!`j-wyeOS7{g5HZN8ZvJ-^z zo4{>+v%CMrS%R0?f7)}d+3j*my%4!S4097N-=6NWQ6}B3DTq+!Psnf|Z682or8Q}N z<8~9iuSR!$@W;xXI2KU?zBqovF~IlG-KT{ruyWZh;fq6vz?Iw$refzRZ8q>-Rtc?n zwZ@Xi^E1u;(_sWQ?-wtZ9llXs0s@r8k5U-!eC-O87Utqw_%m9JGi z`*b1pFQ%Yl_6WjTNd zzb1$_5iHV>oxp7k8;I=uX0+1rHLmKGW*nbu(^O(c-|AkR2@a-P&*!dHwiiw#s5pwW#SjYj2wXUVJP z-#K}u zE{mVKk!kVK^SoLS=0X}BH!FA+JaRTSo^kEGtx;Ugo{uSNf8Qz%!EYmU9evW@r}K%a z_v(r~4td6{!MH(xJ>!#zqwnh2OL9P%~j6R^L!~uA`oR8_lwCmh4J-Q%=P$ z0EoYVL`(5rp@P`wgY&*zQ<+3r+=7nROG#eiIX0qVm@hZ4mX$_4^^AJpBxYQ3+*&Qi zF~M|83ii^`@!QzdoDq|p@L)+BdSbPe3aYF!8=!?&6D#x!lduv!Zu79i}-0=RS@xkQ`niY6U zli|;pjA>KseLIh%0AgES+5u+jrMwD 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≶Oe>%S*k>upUs~+;1v$quruboUa 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 z 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

  • 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

    Mc!NH(XAOpKKLt= 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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

  • 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 #%fN`NUH_W3`Ay>(dD?b0=jBA|dE(o#xyhe%0F zH%NXPabCO5Ov6X7cmTT}4N;PMiE_bk*s!YJwn873P|i@$;8|BQWmR=qQ}5qtKKu zTeKfgjoC{B`SSVDMU2Y~vU9>$k8pfbYU@s5P3=}wj5>5cs4}=RLit2NnMyN7Rv(mS zea{b=VcL#{OJ?6>4D7r*ow8ufk+%6R2*1VNQu+=79H4GrbIBa|;i$a~1`zP8>Tq(< z(r!8<^?#;13$XoUeK+N;Qgz`SkGZC}RiL)2UQMmT`3cOcBNj$hb#il?NK(pog|Gg9 z^-2JQZ+VYxPEl5} zJ-+h-L_ck|T3we?M%IT;^wszQy;V2o#pI?2Ws}p?y7l9jE+8kvDn?dWC_dp0E77Pi zEGU=NxWVs1t^c$>e++r?XyMQ1uZvvnaN%VdXRU7cXIW)_SRyDn~dJJ-Bf54PcO5@X= z_EPYW554QI==cWI1@DjT&8MN}YqnZOT)F+p510qC*!a!@@}$zv_C^f)vn8(%cRc4f z;7`;_e~F2-NG)rtbxZ!!&Bm|*oRWkz6{5b2q0G@gK(6q`hkma7gh+qW3+~cQE?!1)6gP96n*pH9*O=LXzWi4s2iEE; z-|RQjVnzrsp)b*K1{*qr^o_sdAQUphT|WN^FARTR9jUPCQ_a@ppgSySgj&LeM)u&a zbU^C*X~#zL*CJSpUG#HfrlslNL?);ibLfkuAgFAXaXo5@r>Tcx-#TsIe5Rc?%h>0t zqE*fHI4rr3-klJzi*^?@Y9A+v08NmvRAxn^IVCjl-xro$o0@A30YKqtYmTYXM37rg z{ZXIuuCwi(`WdhJ+B62MK6G-o2G$+h{a9e;`7WE!kedfkE|qqL)0I@hYG-#E{03A* z(s(Dk*DtRUpARt%p%gbmNI}M+ z$D{CW1jsZg)xP&7ud9M2V-Gx{NzQ`Dtl=JnJ8z&6qXhjhwFotGkM1MEo9B+dvHR}& zyyyApJy6$cw2wz##xx3AMYFDki+WC5FuD9t9Om5Cz-u4`ikU&n#X2ut+q4eA!M&HF zHhmZN{|XEW9X^AJl&@Yz^$e8R*<7?t6^GQ=%lUZ#uHxd-J>VaWFc1*zWsc^wja5vQ zO4qIuu8(=}`gSVv8TM0|Tq`&y#@oIFK66anZIWgxYiqEhgTbm>r`o91n*l&mpzaJfRqI!;a5-M7In5jLkSi-o^*#jc71fV& z)!<^z5BejuKgjO80*j^KwE=&(lGU=??e#!bq$<^`02hp1!^Sj@N?9ZFmX3wuE#)l?D0O=J})-VXMLS1`@Lv(D>P0 zPZB!tD^yz!c|7Sw+AjIj)TEj=3@*dyL;m&aEf zd@^&0@yWJtD}fT(CDb7kNVUkdQIy>0pYy1Jjq_AyE{~T%-D0~=+@fNDl*HjR3yP|q z@*y4e2f8+J^9TJ077sQ@zKqvzw>KZ;-!oL^se~q=i)xUIwO0XRPe8S54LbOiD3XXT zdJU!Wk_JHm*1cx|#z0WJcf#T#4x<)S7B6~~BTIa)<=a7dG;?}&|3-K)!nnc+u*)Tg zItdQ8GvKgt2V2jH`GRLpOR9wovZF<1=977|I^ya4KSHnR(&(iy>o7sHJJsevr6R`I zC4p&67CsdPK4&m%w1NT9x#)za?oTL+gXn*@BtFl1N?A`h^*$LX_BONfO!3W;F4_>-97CI*o0c^N)tV8znB(;3oZ#N zYd1@3VfwJ@MENqIzTnv}**DR(NbVo?3sxuM}KnsmR8u! zWnPnQpC1TNaq~6U(fS(&K=~IbueD0x^}rwd| z5>N7#-P#1rMj6o3g5GFRFX;TZn~l?|lr6Sg;s#F0&M}do(0VawutCZhJ%Hk2d^52Q z1~?xQ7FWFcR60g0x`zFWsl2nKhzE&vPdU>^?l{z@a@ZHhvTVnp*B>B7Z2@Aq<69s; zV6{DVBN|8eUz8dU)jQ@joKpOVRrS&{F_2!L!pFnIS#Zs$@mSo3QRv@r{J4exA2}1C z)3HqjYnEh-B8|4Sx%-Hg^eiA1b?$R4O4ao&T|IrNyH_=TVQ%<@YB+mvQd4iUqJ;HA zEP}&PZkl*!rpW(Kin_SCao^o@@Un@7jv#4115X2*5HIXdb_L4QK&G#5(P-4EO<@Bx z?R$0&-xsv2Ei9e1K6cH#pV8*60TY}vZ2ox5H>iHt52If39TkiWf>9N@M z)-qqWGmbtz#6Em$yZ1DrX&7)vq$sz?N8rhYj{aXSZgamY8%yL`bYP96T04)`RNYK4 zJHP)oSFF-T0;H^sXh0?oOroH89w~35JH7%LI~tmN`<(#&o}O~NWg|`M(49u24D{r_ z?_3|ANRo6KV#T2+~S+^5>d zAXSs?<~e<0wxt5Mm}xE%;U_ms)WlIuA@_rL@WuT0W1#V1F z)F>0TI`6wbnmdWcKYWsQF?w5Wz6hPu(7woCc=HI2A6y^}X__>c4~%V=0zk3BpWv;* z`ywjYb+^wB#r(E8Po6A0;mA~$%o7=Fg{8H?y9kQo+^UZD|i|0X-A zo2>^ZyZ`n8kTGR)){m5!U9LsSoW)a-W-G1vCfortWA;kNrB-+2vBJ4GEUaKyZY6JE zXIiFd@+tKV4`?T4sUrP;n_DvgoxAQOVr7CML6scXyM4=n%AyutL&^dIX>H7VlaxFT zI*l=@qF}}+?d#~Qr=|^Z6(P6mk6p*b$_Ic%-hhL=Gb+nXh<^=z@n`{$-!>ogKJ=Wx zLZ|mNx=$7T|Fbg*h^o5XyU_$i;X{u5y`AkLnF^Fp$+44EIRWjVX;1hQh-fU+*1PW_ z#^q&`L24u@(AJq*9yXh^^YgMvcZzy7gRxKkjpt{F@icH>d40@`1hHLihq;*FGU#4k zBQD-8`*OX?erI(Bvlh~4HEiAa&QQscyB3RLmmTRb(YYA#Y<=Z`Zc)U-!lL(y^k4(+ zVbZr{iM)y2-+PKKUC)F1a0n-dhkwxf{4RcJn^@R-*VZ=b7l4_PTvjb1aV}+R{c=)* zYN|@FLcOC-^GW|}hxtrRCXrGku#$agvi-`uvZZba!o|v|u;d!frMot2G!*o`(Y;FH zS9!9{F%HgTZ|5%oa{kp(OBOVH5XOif@JP(sgeMs-FA(0miYwTUr+k&TL3Q(OzULh) z6>|gmNn48n`Pk!hU#!U-C1?%^rh`-D`MWSUnn7j5MIe;{w*@ZdVx4=eK?UuuWebSt z2Za+T44|xk$fJGb?*@Rnz&w}Dz*cUSC=pD7@z<3sXZe8{Bb${Pc@784I!>G6;cw%D z7u(jjgyGV3*p`4p9fbn@paW>kfQHO3-B6nrDse9~?c&|YQpMDNB zHlQ7@aFIx3+It-6q}Ay8t+X_<7Xn&~Ck-8UKy5xfK*RKAo2@|^!D(Zq9m`xGOVoUW zu4UB0-X2_>yRwKX^v?>EkE%lJJ+{D|v))B$0+c8quGHKsv!g)fIsy`_CC-<26kl#4 z80Jw_a~FZ~gyyFGD(rXbrQz5?jk1C8raq~@Y|<%XjjX$pmhyAkWzWdg)y)TPswN_o z@Iib8DjDT)>?B;JrRrm@4Lf_FhUt|NaO$~-!(&{4Xe@C=FJ^w(g54nrnNytHtZy5yz=y?eR00OZbA%$O1A` z2N4ehE|9&x@JYA)8%9stidNGFhr@oCG1fE37fI?LS#0_lN;+`apTODkcMpcA>J}8T z3=iCBtz#-2UVz{iqx+>;vQ(}zZ#{Ni?fiX=gICUq7OfX;?k2?q)657f(?aZp%nh5> zPL)gKO=$CKWBpBFn6;Tv!JikBhq_>#QZgxfEjH*dFRLoAuyrAN9@+5;OWD+GEVY{Q zEW>VfbTuoEB5Rf{0=(`b)_#xDa7jZaue_h|jQzt4jtCkc~Z#!ROSO+R-U3eF!V=bn z-2D{@ffGyscQI~{Z1Bv5;w>@jLY4bi=1h>0Y$B)4_+?#Qe=_@S`}QuswnQxcl^Q~7 zS8~(wUKL}p)aK!sF&DWFdxH_E`WE!}ftW|DR&N<}mnlIdJU9n)U}YyxhXF0v(@WFwXg)JTqK!J<$aygV}~>IckO8nU2mib;40fdDSsv9NMQv z2?_)#!QMyEgHty$nC|%#}TCm;n?nreck7mpvS+#bnoCpbThaG zrmd*l9y<3umq5K1xhq@P9)T^I$zm4)G{sk`Q65yX($)1Vucb)ZLDP`_BexUKN`)k` zy8^|}TINSE1FRkel9hhoV9%Uy_a{oVaz_Cb+CpQMuF4^A*SfFOnrDDTD5*aDUC~n< z=nz_N)k1n#g)2h{`nmYf2B}4=x;s!9-;Qcca8X()T8l(#j|^W;FDj))-fTZ;{NA;m z19Wo|U>;o}X@~sRXA|!CpAfMqWWVl?BxQnknpVoZX--2om#ywP4d|u27scxcbjUhz z?TM`TJv&;B7>X@?T`U@isnyEh^t5S9?!1XMwLX&OK7)Jz(5FgX@c5o^(%;X3QaXjg zV+CeO_q-curwPu_$ySD@IE#*gf7NIrFRI<&{8ZBF3srT7H8fiz^N6Q5I`0QGuSRZ) z6@ZWm}4&G{^>FQW6Tuxu!=o>>@Z@cA8VU4#a!Wu9ws*OXTw7fsaR zbqDwD>fF`5tHBF7KgU*HWq{m=C?nb0^0~p5)5_K0;oi~TcUn88s6-kYC6XWNTR=d0 zI?Ez{W)Y9fRBChV&@At>0(odGZ;gT-Eq|3Epo$S3{a>xpIjEbOR%0tvUiqpGWHQN2 zHg;CVQnQh}K_p!FJ}`vLbA?LNnqH*0xkcORnm*J(?TWXbYc;Q zgWD-+AMY0uJ7<(Khy0n&&u;#`H=3PXxwYngBGBVMZ~clOsqp%T;@s^!YEn_721R41 zwBh*v>2dG1&^;xt)Hkiuw5xNv2XoBp37xM)ht0 z{Xxo}P!W^oXY^Mt!PT`6%7Fu4#tYhJY-Jqxy~N|x@I?x)B4WMGl` zNjfu<@g!LglK#gW+&7<>fD8A;|C7cM)Gm><~{Xi6N48{ zG*}Ha4=)ZBl^7O(z5OsV1&C?divNYNO3d{N=xHx@zpK)pO$&Vj^DGfQJsUfpkg=Yn zAUXpBe60I#X5tR*f7q*@)?4F&9a<7=7v80aDmBbBdD0V4YZ$BzG>)*M?Ulb4slm-* zX2Y=Cd7ey>-1W>(R!n3W=pQQQoY!pVE22mb&};G#CTV=de?mWG9i=d*QGJbw2*%$} zESe2`dLgQtE6Y-D-x-RnCSW0uO|IAMsk@(KdKlu2KbN?lSUS6hW<;=nn~;#mO+if7 zpoW{mINkU^87Lt=2I#W@(|1V!2AFu7CT@ku(GJ!-vn@Hb zgg;u~+yr-D$4Z_XS<>d-~7E}hu9-sfm0EZnYPS8676ku=JOC%4v|+pS2Q{&jM>qswFSkE~;Cp2dDj!Xlz*_9sL^Ixgb7ng036mUzp(ly02goBK~521RPUKG?srM*2)_ z_~OS80p0dhn$r40-%6LnM0MrUCOC-;16R!6gFD&jEtebrD!x9_&CEZpd`|rm+8S;VBhxWILV{&3lhN*7-l&BbImQDIhc<)ZdYu}9ft@?B zW?W9jN@MZ4#R420Am#TJwu7`x+1M@+OTc&wF@ljsl3=1*k}c;vjJ@lo$T~gEmE#qD z?cZ*5!7%OlS5p&c6ir3`i__d>Dy`sZu(QUhM8#XPCqLDgJLwc4Pu-QU5g-^>pw(P( zIW`*qMb(doh2xq@W$?3Ksty55V|`JC z+Rn-J9QRggYj&3B)P>LY5_dsf>_qp*Wm77L%N$zZ+hG_)_yyoBX?8U^aQbDs-2}wk zJ6B`1tqpZWb>6+q#kS^7gGB1hvX~HfNASg4K*FIPKyD(s3j%trC2UQGAu<`7AXZL} zOyc(b5*a3e0g*_ChsOnF)!%34!K;QNf?5d}TytByLL=a(%DP_Ry^=?t-dt&kF!(EQOnZW<^@sNc zD#h$a|B2-#rKN-K!y==UI`Te?;oOISIgRQ2OUJAYv%QTN{_LHC8k~q`jZ+n*UPF!$ zm>>R6UmRvUZ$?Q;EAAU1w6MPAC8*BnkXZ5OU(sPSMejMtD&;oLAZHBcjxIYhH-NPa%S5OmXcf6 z=xFH^=%geKGpYInKNtz8vSc{7(+iMhhlg*UHL3_p2NkdMdoq1Y{y~!jfa$AgLJ0}` zAm6Rzvrqg_gDm5QJBq>(RJj=Q&DipmB?2M3Us_UO9x;-#MQ(iK?67X)&OiC=$5Tz! zIUz2e4fUCNT3E^7rSLTu;L?`+11R&#`tPzfAwjkw4|H2J4GB4AXH#66iiHiL{IahV zStuZx06 zwLqC}z4z?oIR`Vd!ChWPMnqxhW@QsZA4$5&S;<0MxeSgnv8E*JiLa{qqkTfHCtY9x zhQ686ukW^}{9X6Zyy`W^x}EAjQw#Ej12L-I1Kp60J5PxTDV8j44HyCs;N~ec0C%BW zSYCWvvG(i!gKbMuBli};t?CUEJEhWPUqmml#BL>6WCwCu_De;HXP{BFp?ZemNIHa6 zYhA`TNde$v&EVU;Xt!CurR;1L0=Bi?qB{(;1cb9^TZf;x0-`^Rl zz?{H{SAEUq$|#dlvB;#`fOV~#C(FvusL7Ea`a6P1H^DgH#{4US-p@)X9~ZrRc%I*% zp$8ai?p&%_WH&3Xd41N&rj6=lOv=Xxsjz!tjms@7qT)|xS~}aZ4d)N-9kp^;?4JXo zZs-v0$4{GO^ZM43G!5(C=#mXq0EL4u8axT~f{keb?WxQsugpR!ma?-qO)db-jW{R} zIcu1^e74-}h9Fmc-W#fC$sp8jzKk0lXmuAiJ<8AKb;Put!nBYx(roCdRKA7bO)kW4 zL94ue;AhT9-t3vg{VqYOOr9RG4Lk_cLLH6e+~_&?_xeo2&eEh@DDPhQ0mwW+BsTi4 ztmuN^MZ~u^TPIb(@dn5{YASzwx`VL-P)mS6<$uF)pjF&)|98<`e%6Ob3+bk{d%#O) zp--rAG^;vM&~qKyX$_UheX>V#Fj{biR=GiSIp1Gio5)AD*%l=t%YrSxhLvV>d^Zrehy4?T1ch~!oL?~S)%e4tMD@V!JTN_QBdBp4 zH{?rEX|$xg_El*;ug6kInti9$YhAUf`#|ATQ3K|S2u%Q2BHx z*z5um(jd)_thL?NOKkn-nUuzHE{Dt4XV%5ou>>`?fD|R?eF}YeS`eQf{svhtUG_g@ z&F=!qdpet;Yk7JPljypTW;HXJJJe9gRaZ}<6uyq}1$ek>9v8!~Y1|rJd3rgrB!G6u zXy0+)tI@&Qf%_j9Gic78%>EwNYBw61-I$8A=A<-=x%B_-cJ24JA=Tjm?d*AAfCNJ~ zL{)sSRC{9ujQM7(^=y`PWNRS@4Iqc~ki#c|?P2!22=^&avjMd@+SHntX*RxmWD+xm z{Q@jn4HMF0!Zl4pEoEaTR!_vp-L8DOn{L7%p`yx>F0`sl<=S4S_<7-Im09y4pUXi! z@{ax6c83xM-@bKWZmF@eUx&uZU#)3gQEcC5oc%za)Kgdwnyg)WqLRX6Te&9Eok*o5 zMj0wilJFZaGps-hmi!J$d3y+St)8VBbZ7V7Unj_tbO(GFsxHYXYzcB8M5bW=~r=3M%pAE!&zE*FAIMo z4OrQm^bQpUZ{Y}xPyT@z9^Zg9flnz5(bD+%Br%-N8ST_;Iqu2*c0dQS>c8}HD4#wU z{9jxu`hU4p;rG9V?1zYXM(2i}fYr6*gKWf3f?r%ngC343ktaj|@6{`oshWTU1QJXW z5G|lq@?Tn7&+UL>WJ4HWUVb9##&d5XS`bQ0Hr;M!1i*V}e4I&*Wn#1I14Zu6=90M) z@&U(vvXcGO7?;S>&-XfUVDA*X&}s~hBFN}Z$MK~I?Cvadgi5`Pj_r!s?xim^({t+iJ)R698l_@RG&RvP zC97rJ8R+ChSV1WiL8LFVFk9VY#5&lc)bAiR>%hc)k@%BwOB%|Rb3DU^cKG$_FBpA+ zXTc~gc5-Y z@#P#?D_pDlK?;OIKfB|_@idE!?YsTyw4bb0z-;GxywWco%=YOokn}z;4;-q^m-=@~ zB0ZF};3X^UL17ndA#%e}#)6drh=@@abIJ8Y#iHFrZr+i%}H4MeCm zsf=Qxm0O}OIBb`zHW~Bs#ny_jr$H-K1P6t$GU_bAdAcWCv-5ixQ_ZVFgSOInYKe_bhOj`;{J#{c4}Ire~E0Z^{3AF zxZbqS1W0i9>~|qcyYGs^WqM!e;)%g3HZYeLLt!?3T!t2qCipmg?+4rce}>xZ-kxGJ zXTEEBqSaeIjO&_rtO8)Umz=qXZ{`3Q9NZ&vqnPrt-_zAXIWp6RD%vfNKwi= zSSZs(19bFQu84Y5yIo+00?lR4;`#5XO65<&p|XQ&@)WA6-9J?NXwG^ZqmJudM*UKl zp8)%gz@+7^zQ)Yk=%sr+W&m?ue871Z zB!>hTK!myF7%Nu5u}HW*u9R6pMD$ZRzn4EUtdyx>lFs=>cW_@Zz`GIsj9y~?EGs62 z?_OA`CJ#_1qG)e#7I0Ulgp=&J3CQnu^oN2jM>`+ucz)jeLuz$FZ9IhAfc;>B^jT15 z2yxN~s~YlxzUryEzvEt*=?Q-)w1@-(kNM=``TquH!`S~##z-Xka>IZa?H0%nh#Zb2 zuEx?RCjPFu)#E!(Rq3KxIIeI zw$F>f4cEIQ5W%S>EHV3z8=DY@-6d>2p zv0Pc1W7yl+#D1kZVgqpKYM6Qgnf+zM`K5}LA;Sx-3hL(8~d zvp;e}^O`CA19i;!Gj$QZ?w;79eUKOCMhZ z(I(AKrnb_ZSW$1BKgBYroOb$B$tePPo;A=6B7w<9r16yH#o2QV%)t5aSuARCUnjWt z;#p9j*XJpbOpK7Z);%G~R`kl6;nu9v_d@$#3=knGidY06Ob-aIhkvxc65i?{ISBqI zEVqY45Kkx@jH@{c;!%(Nz5@y6 zYx`@ri9z^Gl`df1%ITsS#kyyUT#ln6HQFy)jkq$5v_5E$R|yt3E<#tt=h~@0x(gcH zKB`2irL7rTbiOoJF`rjTas<8GN3ec|Qo}<;{>{v2&K}xgBa(~W5+fVytIL+}yUW+@ z0u@;i1V!B)UjQZ=hkbZ`DuZUx?ksOm7;nP=ZDfy!hnVRR98p-T*Xl*%V4)(A@`SZf z;g6>kO@_vTlo&!>1tyb*RjB?>iQ^$|#eC<*Z$TFy^{+Y?5YFD?fDrrF5xsYT*#rIa ztEWKVLgZF|(8(5na%a{LO;Wpl;Zh4%jk5PRRB~6rufwpaur*P>wQ4wC+Ht$n%-2ud z%#Eh$hNnj^gto-Qa+kVHi+)bCi}R7hic#i{bz&v5E8wJ-+;1gKi~7B39pj>}JIpi} z!)Fu5>ZF5@o6%Dg`)+7mZ4JxE6-9CIwh!)t(Y($eK zCe0G1Sg$D|x+U^b15@ycT3CB0T@cSV5JmNpWvabH-DarB+IIP_Ym@7B5Q(MZdp(2{ z^CVrRjxoMLL~!95P);{D>If5(VK1X>3kKYtIcr^x&vzJW=|OaUf-e3L3I*VRrn>;4 zT@pVs2=-K6op+?-NwQ${sl5y|x-ss}FO?i4+Q>gFa zyEX5sAMO=fo_~1Nb23dlGh4xdV@NdivW#-){UhpmF60Z3r3>x)!=Tq69{(2oiu*pi zK5@a!p>AAN%7Y|(7IKEzq!EyxU)cX6xcIUBIjr??%se6nBLO2KLcQbiw^Q+pfyeF4 zsO?`~^TF@oB1=31RQLZ3&OLp{!0KqYaWv}&fi2|qA0FO2(`6n{|z1*EO)Tqn%cE%SQ)F_l=uwhEhBYx5IiJiX&(@k6V-J|OzI$~0!5 z8fRs$zTHfKexpOBxA>zz;_L70J5bu%?ea<0liQ1aV|22Ne03auc>446P40>0Of#mv zJXJ~>8xWLLs?SJxy)y(`7^E3`IbjjeQC zW=Jy)4zO4kgJlZW*%N}?BSs=yj4Ecy3;Gw2Rj%PHp3$^M=4v0{HA{M>N(WRnbVz%T4UW1Vl+&yHR~S*1!S^4bDnB{GZ+-v(uODD(cy8=hTW~ z5BTY-DTrc*c%PJOBL|Ba%fHlaf;B1_$HeGnFfm3Awo|}z?v}R+ta?hS=)y#7nlH2M z8@~g~@*;&ckySI!CT{+0UeQ>8;jj8JFRu!PHq5NLtM{ilEwxr5nHh1WJvp-?EAr3FYiQk&x~4!?$0$N6yX6j zmnYi$Hx+hT_O4WRfK-iCQsKhq7L6G&O+b)#Y&PGi|3!o&eF%M#6izzx$NqD@0Uj4y z2}aN1;@C9DGIUzQ!^Uva(ld$+pD5-Xm1>B0Tn|hXS5$+bERGp9jeqX~W7N|}waN|N zk7=-Z{4xx=(zW$Y(^KQIhJbQsv&^~*j{!2_;?^hRV5tD^QiM_(__%1!+rulbP;3bB z!hihui_IRwd6xMI$^ZPffG-=wNunoc`hKD5Om?cqX&8;UzlR;;Dv)JANh?o)v&DVu zDq*dfkXX84f?FJSJ^3RCG!UoG6CcNDG=)t45RE-Vdx2%=w*`g*@5k!ACcm=NtSo6c zhQnrtSTX^xFn(Ts8jsa*bK`&zpRO~6mpR-gE@;w{eX3|QC04kW6W`ZR*N>FNQ>~mC z=;?Ax^I(->t9`;SFTAd+rXo17j!!-+=h=R!}tRbM->_P7{yI?+j9 zx_OWMKuuNh55 zBP8?BckD6S=G2j_Wcw`1RhTIp$&smaGjBbVtdgDuGtS2`40|{|mdK2qH%vY^+K4^L zo*R49cSia0+8`_d;wVnf;kkMg(DAA?T3&I1a^{Z#D&AY-t=r@Hdh)BLumfBVQft=C zm{Dtv$RpM&Z9j#w=it+Sbp8wTRtL8@k(=4m!)R$A5kZ~e;3LyT7p?rJBIeCX95J2J zr+v7a-U!Y0x3LJNN=+@gGS~1qkNP&p%Kyy}@<;QY0{`8A&??f|zsT-fUO~9+y4IKO zk0*cjHkn}JLC^Y6P|n(>lG|v@NP=WOjNJBj-{NR1PjzRi*@omMM2^{^LP%|0*{yTP z&e%qYG2_B_x@ijX5A|#n9Nbp_u!KAk>!MubJ?e9OvhJYG{(`DE(N`&;MPbB7h+Ns! zfrk&ySKqU@ilw0n_@lKmyW6_&`g(O7I{YeZXczRNAGtMxrqPa@b$+QA zD2$&z$b|@cH5SFFQ>wqMWA$3clY*rAnko+@+Owgq#fzxMq{g7VXQ%g*}) z%wfF1D%brd%J5Df%N%I;>hK=@S#N!{uyl3Dhj0T6TSlKkdvE%y+-Wol@prLm5|wC; z^Wk$>8w>NLLh8+tG%mT1N0@=mkg0HHhFj|-PW#O)M7ezMfH;9gK6h#V1 zRLT)4x^L|F_Ik+{Dr%)a&?#&Va|{SGmfe5nH@KY@uE5msP^cE01^J}6;wtBy_Tp(& zrN+WI`pJ|RCuc$I7)U4fxJ-x5mY*EIEUmo~h$#@-F6DQRLp%-WEIlwWdLFe*JM$L% ze8K*%@`dTHzLU4r!dK(?9_5)Wa$LrDUXgCGo`fs^zXG(g@QXCob%nMbpUY3+?6#Gp1xym8#Z&(N zT2!BF7|x#-gLL@mmA~HQnajP$UtTkJc-r++#_m*r=FiT3@wK@C!;=t+;LoWyg9HQb zq~>)fIy;<> z>(NMBJTZ0uA&6qKyD@bm^vrvGAbnbGtxq8JBe{0Qa@#SFRUyZO0rbT?^1%-^rM}gC zuZB5#@@M}>kLl*@q@GcN&1XrYrM1QiI8%4UYYcU*IU0M5i|&^muI;B62E%y~R}2Hf zej5kF{#s3^jq)McUZUpNAFI0b^eAPqLaWKgoM^Ti*47@~U$+DALZqBHk@dlrk<0-& zEi%UeO*c=xZ+!F{Tug!FHmkF(kyXK_F%GA0mcSVQmyVwUPd*%W*Eu>0u8-(oE@LDz z)APAR)@n3g_=QR)!02|kN$uUb)V74h$}CRRoIog+Dw@N;tjlf;F*iyAB@p_z z#xQ>b0Pu{W2E4o3Fxh7#ee532r0vgv-$cQJ2gbl+`OQ>f-~FwY&-;m!Cp{q|loZ*|V(=aA#@O^Ikz{s;XE?;iJPW zwdGfdZ)!f4h~taNEGP+esd7L^EK*Di^h7<-J+x1`YBm=EFtq=Xx8-cI+q9>;+DUiY zrPBm^=V8&6{tDR%cEA)LtrE8qH7Y?CmB}1}w+`Z2$OCw9F%(oZi>;XX6{HDK&SK@# zS81(sPgmQIQXC=D|CYKB_cL~X=&E}TL4W0VZ|S&CW=9xO?%~c zHTLguN7-D3Ps9BNZLY)VlF9;A-!Zr7u_i1`FZ}hzuF;2p9UKP)cpw}|CM9apCWM;{oTFP2?_O@H3*Bk zN7Dsn8#ijs-yKdo%R)0NCCB13M^PffoDz1|+EXKE)=~#v{f8}s!TO!yze8e{K^++H zP-^Ygb)}d)9TKo+O&G>~fffDvG5_#ukyIs$*(U&8AR{caB`ON=WNkVmUcnU44tDtE z&G9CGDr_^+r*>=FTeK-$8rd*-O*8tWFj~R_OR4MfJCDpWdX%bWDs7G~ML5pqXQd*b zc)Adxob1iox5kD~%P5?pd$=oTI>4h$8d6Y`?Y4<%5F~#P$atrA~Ec zuNakfmi)%*WsSd($=cdVtJ=wwii3ucpyvJUc@yNPJL$HsrU2VR;JmF$HgP-}3;4i+ zotVMO;ZMr97hoG$n1F5{LO)7U-+YJJ(^ny%ZX>9k^{5H+yLf&wgpx)&SCS|ODpNW# z!0PBAei|OR!@0oLui#WKE?{hcYdU1{yoL4VP5z;ujSI{W{^D6exD+XLFV1HBu?sH% zz=%v?^!V8FgWRbg>&V5Te}f@5Y}{5!o+_>i&`uxLp`@LQV~?Sy)aHNL=u@*%3N_&d z@lh|AIXAi1^r-e92>bzxf3qj?EbtLh`U`^xj{<9W^$e{PV|hFh6r}kCNwj-?1u?+{ zd5jvX8sq0g5`jMijbo+8@p|C?JnfLS|8Uc@n!{xm9$fL%lgZ289Q}fsBI9Css^W=k z?Qt*sE?_i5N$B2kXqr`98Kk6krtjk)s47xL3T;knva2o5b;Cb6*`qSj19%?5D#N(H zOG(0Z+ACsCD6r=hUQoQP?y_ z5chH*8Ur7brE1Q9;@>Rx=oEF-GeaKxFLaT$X1zCMo}(jRS~W9F^a9KMF|>&L`0-x^ zhmZ(C*yCz@JJ_EdflbI|NiePz@pt5_Ifwm}rJG-TzE`l4!$q33OA4IhHs-M1g@8i9 z87v5XW4|%w)KsNu%TF&J`KZ+`wUx>TrM53C-!Z6#cK*^IEo9f%ptpruA(nlq0XA6stnb`d^^H8Bz<$vY%}H5-;(vJ7Yej4VqA$ z7_VzSjaAV1n|A_{7te4AQxhboZ|h9+*9ix7`@}78e*b*6V(z5lBz3ow7Dqo!jOisZ zycuhzkkD?wPlvvUA(=rzTll5PDUdcP27(;+BeFSmCPuu|YKpn(npFFBLxyu`;*zs3 ze<7#~suw}+G4ga_`a71HuDAO_+&oMD`?TAiXNdRxv8gK5Gk?yarYQM{?b)*$d-OvY zzpNhFz*$|zF5*iBCNK8-Fcx-j2dPOun2zf!46*69M&54fYAV4i^AjY3NZ?4EA?m`7 z7v4(-N9jh3VQIOgfIA>{X=(>is$v}HpQV%D+wjymlAmCso5^3;BU}O5eY~tpa^I1s z5#HNd?x!c;-(?lDj3qJR=Y@@v_O5$|{b5naUHVpz{Kvv~&Co?aPf6){2DBII{zBHl z+c*QUi9kekMjAu-x&8Ou&SlJuwbl{3Imwkb+{prul=$t-ifd0rn92p5dD-1~^2!6z z4$h)Ecr$?uA@v%tCP-l4Znn!iWK(DKHGneLPs<6k&+Xifzp9JMO0# z`f(u_^b!x4MW(qf{jJXE4w^o9Fw{>-MM&U(u*byQO?z8JXdJ;oP4XRVd z=D1s?E9*B0rmk1vohJBKX`2E-YC>3|3E?_7C$0nmGXYCs<0vs!Fr%H#HZW|syV}CT zqpli8$-N)EN4h~LK%_In?XGS6J$lj}F9^o^`i)OXPoG7t$pQM$D18E}plFN6s}Qx$ zGCucL@0+h)rSJ~cJ6Ux6{Gmq)tEw;;^69lFR7e0ICAnrTZgQ+9Trl$%JB2(|Q<-eW zuVj$Bk#saW5~227I~OHc+vT^*Yg36jcs1Q|BJtE%_4KQ&4ma!JiS6mQuc_4YL9bTQ zW_D)9$O(99-yN6;`>km7jBY)EQ>gei-a(pTMOun|G9@e*_c55L&bK4UXYEG?rzPSf zt8tBgCg<?<^0xHTM)ArBZ{3+(O~_9Ix!Znj z>S`EQp3_YP6N(<13`vHcYOr@L{#oGR`N8kQXTyZv(0+PY%=ieWDsX7|OLz3fRhSGe zqt<&e|6=EtnHlK`e8aDY;Qo%qD!cw+@a0xjE_WplwcjfrSXzew@Hld6+yW>Qn^!eZvw#Z!TuCO+*7HcA8>!)nL@Jswm zOId4TXE(~AesmL3eNG2IX2Ef&mDp?G9j_vtYjW*RSv4a>87_BW<}7XfT7G6Lns6@r zi7PXJRo0)rr6In9s^LZkmwPncl_4jU3vYrnj`3%Ri#5uGTqlCS}A;kup32Zgny z1$>mQ$v>>Z{v>?0sPH4<&^N5Q^^vRAMYR#C6fR(&h@etZ)}H(EtqKXX{ixy+47MIg zX@4a|`UT*wHZgNvioz9@%eM|0s+2 zRuRcJ_b)OT;iI2Vf}Wlp<59@1e~*C>ioX3Ll;^6CZqEP4tkeeB@i|F`tB~7$uU4t{ z@+DhdjTsb9JV$#NYzSr&)Y@;HS$}cwu?x67-I)jj$OJmzIeF4VUT=|cKg)!4lwd} zv@%N~9N%aF{p)jnEZ!E#hqT8X?&SJ$p%EuZ8^MosXPsSj!0gTP?k*Z4Si|>S1x<(#7eatgDU)MOdif!;q`&3MK6ICs zL}%$f{I2B#HDXEvMPcGKukg^^HKP=osVje2byxQinM+5FxT*OvhENw}juB1Qtp3WC za85$AcIs1YBRU_Db65+;Zc|tRG3pi1n`o$!G{0wW+Ok^2nzQi2TI|hhjn?-%lW%#2 z3aSCFC_lES*+zTkuZPDkw#wBgAATQe?r5#dmvrRfdpkf_b5)R;(9&92>yE#{#oIQ^ zts92@Z-KY#Ggz7ITl{}b2gmj%nDIl}SD5SHMLkyKEHCQt&cI%)mtOZ$8P%Td(iL^Q zYQ7cW-F2ER2@URLngu#;tw39wHs0hipl?TXHCb%~dq_60RB60kg11vw*1YG16&@yk z)b_Y6ow3kE=9(9-s$00qjTz%@;4|Gz{NzbpUwKt{t$;(zS<&jDoZng7+Q&K#RG_5$ zpzcWYXT~Th@+NowKU}?aP}JSqKdz#ngectzNOwysogxw|-5@R93#foJEZx#2EZwk# z#M0fcAl<#h62G_i{rNoK=lRX>2Q$p<413PG&a1BL^ejK}y<9&}lA6 zM}7{run>iy9+x@5SSnLiOFwwsr0DOebclTm?v0)jzs1S*{mG+n@ zA&Q`t@lBv^0?RV87eEcN&4AvcIJ^7~s4?%Fjack0rnjdjv)E%NW4Hw<2OJdLI*u$b z5~e%;7prk9!vnFpc&fiI0@!r+YPqOlk5Jo z60oBtE81FP_II3%-WxG^H39(Y;!W3ouJ3{wbLBqoU0Z!WSfIR{kyd*Z)()1F?r;XV zBY1Uxovi?FkPVegRmIB~x6y9nk-1%WzjnX91a#b9-8iI0RDNlcnEyojE+#6 z+}og_o5s&orxxa2z@SkmCzp*hqq|rC+zDN_=L+I?czta$*{{<7r+`iBPwG-+65(eO zDWw^v7Tvmfv>IGB=P(8O=*y6Il&4%oBe4R@{ykbBiNXRycHXAGl?}N9$sa|vGaA7% z{#n(>fxiT(#h$J44CVJb+&T=~jjkOY-YsWzUU9ZpYn*p?_9V=KKo?Y|lN{Lnf7Lv& z47Bht>)v5_3kN*GG)5)W^B7R-$&|7^&nLzn>MH>yY2@$1$ViK?k18`bnK>b*j&5isk{M14!rXtb^76Siyky=S=o3I~$gjk@t?}c77^D9+r zhOwkW|1wanQdWgnDa;d?TMZ5x*h;R?A9s;Qh_r5EfWW-s+PmE-Fe}TwmEm+2*H|FQP@=s+6d;DEev^rW_Ct zuyo@-v+h>Uwi<*IpxA!iVox_3qINsn22`Exw=?zMHA)#{bcsso3Z&g9b3nD*+19$j z^i5IlE`u2#mCCok`E#(K#>*1p(C|Mf7~V=&8I%GrGJx2A;6r%7Q|SV03|2xtL6YO8 zh;3n2#%J?3`P%XF2ja|zkUBC{g z?sBcsp@DwDpF12RCxk3&7}swdev_nWZdtW|vk$DbpY0!@X|{O}@E&~MY`+8d zi7@l`vwvWwkKJqooW1qvvtN>FrF4=_Cw%e2Q62vl%K6#A8h#O`L z5=xq(HKGyFdkX_n{Yc@izqsU@VX&8Z3bcI|A=OAhWmMH_8ZJJZw=XEOs<$2ICJUHP z@PogK%!S^>lkG=~W6`?l&X6@`#wvwFlXlWY^31q03P?gS6a^7MhmJ8W%W%I?lF(zK!<2}+0V?k{||wFayPhteH13d=-_)qtmchB>uh zfvcrz5MS8n1_M8QQm&)}rS3kOhLE4LwrXRC3v z0mPEcx55v30Teg4h^;e3eXy{Twkl1>NPMxS`rNRU6;F0S*|PllnJcb%6vu+)3nxmI z9{&W<0S2^TNEtE44I=y9XnA@0HhFN0+~`WPR*8yXQauzdKr>5|8n%=1jm-t?=r=xA z))|K(pt;^+=>op~u$tLN;n0Jco)ZemMk%4(@@56ZIfrelMNWnyLu~Ru^;|%?X6XTQ zi7V|mj1h^{JPl0Sm z(h-1Qo^|88&}6r(qF2Dy-G z4lpUdGwmqn5yGWtFBZS*g_4Grb|*_#>O zk$0@Yommqy_rYrA!&j%9`um-6sybtZ?`ep;&UzgZ?2>vXw?!;Lx-q9_cRPEtRk=RX zf%SKw2H_lZ68-uyt?Znza9XFIyDTng=fv2Uk+JUy@+8>iVepFC z?X(*9>i^_>)1csrt(51?FR|KqD+V`|g`Ca=ViD`Dd!##T&&&0s{i5itZZ65e$<>Qz zNea%{RqfR?(~w!4GTQlACXYZe3T?xIW8nS6{yk}1#?jK-P zzxOeneyp#ydE`1e1sJ9;_lwBq9eCgkH`DU!t^$r+3GeFu;C=K|1gc6Uzvx%qR1f=o z`s>*9{hYK-H$d#)Dq&@^XG;O{AN{PhI~-Hdr9 z-|oYw-4LqIYr9FjR!-3x#STqq8$)7`j<8BzH|6*)htf0@Y6RFf;SZFx7Uo22$WcY? z$95BUG}a*T=-#xlTjU4W zCx6odqp1DQ3HX0j1|x6g2AZugxUZsG*DV%hgc4KYvoUun<>8HCWKHw>Gtv7jEKmk# zj~q0yC!LDL-fE_iPQ%X^f4f{yOb$VYEyAtkdi2uOy58Hm$3o!WwMI2bQdIOM^vd{b z`_1AvHZinxS%t9_!X}Z4kc!Y4=2>Z8Z{IEzxeE~?A{>u2&gy=4?L4bw`l9S1D4fl1 z(1xOvq+v0{;(J7j!>uLH>F>M`_amfk3R|V(qc7z+!+U-|>0ENCMw138JG&9=9a~C- zX3XomZ8(9qBK2(#!7lJx@8)ocVI0=;u|Z2KgD@qcFd00Pu{{DBkDZP{ECYoxC7-du zLEtYh;+dVb7_4a$!ZJ3X8dc+P3~V!{WZBrq*!sW4{F*#(xtOJ^Ui#EL7(X%Sc|e-k z$Qf<0;HsnC9paWE_{8TieTS!o`axJZf1QI{6xBt^gW^FXb zTZ1XeJ0sNW;J2l?`HT>C3`Awq%X`#kiuF|V-&;A(b$7I)bcZeTavhN0^8ghx0-AAT zUT8{wXv)rkjWLieH63o^YWfG#3~q0zxXr&G%7o`*NBu~FU8$=WKz~-ZM<7BXb%Amo zE8q$kBE?^yjg#cenzU3Fi5-_6`X!|st|U|m`KjJU11jkCDd0usT4zm_*imLH{rFLB z2w0ZZ&D-;EE1`_i(LZVHMUg=%A=mj+fkSRa7O_QjfcA464JbofKa5rQoX%I8EUE(0 zf0rR{1Cb2mO^11wgkzdNXuW9;u90dMV_T%U8)nC3!rg$bDD1DolhnD0kxN(bJvQ#O zJ0Cs~MP}R(DUITAtoGHq@aF!?uED0=oeH{7L!+lZNA$wWZle0^Fd6elO`iGBy=s{O zh4AJEpg@o&rf~hmkjkF1KtG%NEO~z_K6LzE3xL(L2aVO zybF#OW|00t;|{Xl&fNXw-1iwlbnd}8>$q-&}rm`yZ@{zGF*I4 zL{OZ4gJd|@wCw%H{JTzhAzu$SPhnx=pcW$-stueKO;nCBir;GDR{dFkEs^&v;XK#l zk`*t)X04rS-Aemjb7eL)W4mx?kluwRCAVPu^koZXa&3)HX%K==T6jz+qD48Q9-Bz>0KZF)?}TOP@n z)B1h|+Uu+l?aBP0h0{x>(VgI!Os7=5;y+TEb}FZjPq>Z9U!YQRdF$uAF$DPWzxKq0 zDr`Q8l(nAL6$Qi27e#QY986?@-QEoZ7Z1)U!2smSmH}$LXF?8I#moL>5g$l&TKmXH zfc=WYe+8nH$>^>Or0zb@FC+wDdP2mK^UHgFmssj?EL@XH5dyNYjqEHk5?cAzMvWiW zL>U907bN%I)yWY-OhlZSwBcI)WlULFRlAd}QI-ghx0i=NzEL58^uE(0+-|4KbWjpk zRNL1;#pQKrx@3|qz-(}hz5#eDHm3fE&_Y9QsHg`c?bv~5SP|Fs+5t&QQ!FH-pCUfp zu)?to3s(2WGPzU1J<4EKD=-jId`M#2tr;ig_BZzVe%6eK6(eENZ6{oQ>7I*4cnHg% zlO%3$8z7f(J&o=s=5nmAopv$Tm^5?&cMn6AT~g>m?Gpf5cVGWWzTlRW1{G$;#Qw;h z9gk_%eZ57^Rf>|YSZWgW?0|)m`b93Lr%KSf>7#QXVm5mF!oy)8y>2n!n&wI*ouj<5 zNP>$uoZLoFum9eSyAJu$TngGnHdM`({P>O1hhlK!lfK(Ju6ZCtv&W#04^GFT9Nd41 z!YRxV_LJv@ZSKMX1%#~NS$tp3YLg16-kcvT;x6=gHqNU`#vN2C4txoFmO67F3m{p` znZvK-NZnD*9|AN2$&p||dH8#-+<|IQH*!^74UfWhuUe+vmq7_+Id=r*-&2!``dO4Z zm*cFmTi1!MJG)fcz)^%KJKhJV+r32O+GpvX9aN`wZz6)JSCgZAn8fsS3rb`*g-Zq% zVQ^EdrzGeAdI$%+oIICT8reSM0FZKhrE#+cU9?a1o7`+Bs+#=;^#RxRT2yV9e63PH zI}dFABI}!@m{PjKwRB}sW{g{tIO~bj3t7f;G-Ib!3y8R~HAm!ZZM^Gotgn#29 z<&ftXBIkOh!jPxI>Nz@3&oxUlW4=}^)ZF@Ii^6b*Sc!KnBd+*pgHqhpq~Lz9sEHW^ z-(9)GKbrD~-kl*O)kts8P3S2);&Y>qByn0SK1%jaE1rT+$FUj7a~|)?v^7dZ0dYyatOOT9+0>}6H)&n_X_1!}Kj9561PWB`Y3HyXq3;z3 z`v%wt`#2fde-d7b?9DRFK8Xk7i@CS<-(a^kP}AFJ3u&ZpOB&(zhBvNt=aTjOB3;A!|Kf3G#+ z-oudV5&3bg?(OZ>6|-BO7W8 zY%nzih4KJ)4@F6S`X#`lB?GOfu<58`(v{Xwli~GzAM*&lC(RMD@Ep)_;cNJ$g!@-l z=;E~TJyj)~p#nLL$zYn&L_;0U!<~(X=eM*;rR;oI1I)z?>AN+aSILIcK~zE5V1U1) zwOpPsUb=F)@YV7M(dR#OhU@iJJ<9|oAz=MiQL7@9pA%v?;wb8BZYfV)g)z6&pcg(e z6iXB1i}>?m#suw&TR)_z+qudSZKg238W+A&yYEx#;nXNs4t{R|kcQr4^a5pk;Jj+> z0fX&wS2mChI@K&bW95b?NN|YGm`#m#J~igy(>UFA;R!4eJ}%ODWCeyj9P0gO4St6Lx^l;b%oYIR2Xw@vk2g z!b!+JVyW5`4yUE8dke&^NXcOMv7^a&oy0?y3pV1i#l?1-R5W%Vw%is}ro|un5|fXF zpfbK^n1iOGzPTr)LoMPNYARG9*g6iy%HQC)3t1q2zJdQ&5o!k4o10-;cfw_mqsDm2 zXKIq?;jHB815I9@`iYTF3ANz$s|eGZxy}cAl0bZc(y)2c+&wkc%7|EVzm>d#{m>Fro{hSdg*A>qW1dh%! zkKXqE1_>CRON%UWsfKA%qVy5>TyzDWwrpd^ozX1>0!Mn6jtQYm)IwKG-fY`VKjfRH zj}ssn-lpVM=fe9XvqG8%(<;uh3opkGMVu5}Kq)c$(i>uTI}Bxqm@0HTTy*KiERUB< zk_O%jJE;j_O(<_`Is%%uZys=BcgCUf){|G>*8=n-1>enry_%cmR_n7s_rgGh6soXZ zW{2~w_TD5^JRzg!aVQjh!vTfaYRH&v9H#1Q!VH|gu>!%Tb7KggZCv_Za)T4G_$gJB z`V9=nBSv(N^k7M-_*_nw0nV#KWX;E4hhhO`dmK&$p-yM7mIfOP+=56srqwk1&G_}@ zwY|l!<-5>qN(b>ZId)fnb>&wswjyVBK(2twB`p7fWaiMS9h_rA2aG#CE*-(7-s}Nm zIMjLyBwo`zbUrkRwV9$FPONC^nffN2!qi)VXt^6de`{QhXx>piLC>>t(lAi5&{M45 zlt@V$$j`8eNNQWb54?pCJ9x!eBo^#4<@%OQ+3{|EXFAa*(Z}wrK5n8Q_ycThvp={_ zlY^DorCN7rEqJ=3@{yR!Qo!S`p3PrYzE0z2ig{~QcWHPqLBpUE_>7t#8N?*^Shqf) z_n*wowTeRx!Wd~)`h@)Mnx}D5q0MWs$H_6A!qq-`F@y319ot`qB3n2GG#CaJ? zX zUHc~*K=kTrSe-Kc?*$0Z=M({|^vKJ(h)%NArz zh?1u7qNuy+b1Q!tzCQ+1BX++J=cK%qn;$fp@x)KN0$@n)LCq4FmziBRZ{X$grHF~7 z1no9CP@pFNxgCW#bMfc=PgP%BwGyfKmF3+&CzM|wEemgqGbsx=#X#5vLoIFo{D-Y1$#g9$*W zi>5oXzPLh_`JF}NS7Q=^kxPA!34%-d^l|T&`~*KQft6EwXJ(qp&>H8KKmQW#-?OGM zpBB7%7GZy63AfR3@WxDAZcaWxigOBqE!`Ns)WvWX6KWcp6JM*?uXN(>DmG2Ny=0YI z_Kx_$-#R|+Ecorgf=K}}Dt+{3h_Sew1nCC%C1X(AcWJS{^JjpKpI%`fEe@t2))$UwIF~+%X43G}uCTc&dOdNjar$kh6&WN+K2s2vKO-sJA`Z!d%($~h0n84I=1;v696L9 z)G8=MpbSdXVH8db8FEFPsLi4D@c`1DR~)VnmU$F@XH3(3sfn8E-ZAHdq?5gQ5)-pL ziZKjuihDAc=J^ZJE0h2#HA@HXi zmP6CbJOZ`S;_#a4cXjhr)#cEj)T{|$=h`QE^ZvSymx!7>mqCFsZ|q~q5~;_t8KA*A(MSyMg~{5xf-e@c?iVsePD6MEO8cee3SE zC}ng?Tnhb^ilCp4-mFR3(FuD~VRrJNZDzDmWMxnBH>05tO%SI$Hb;F{%mw04k@v5(^^ z@rqM1J{!db_b{FUxf^>A+4qjXRe2}(jbT-pBLMj1;oYxeLGV0ZzlCsq_HQl(BA%Mj zY|#hAXn8~avEZ02-*KK(@+O9}#o}%4z`if~OP=K8B7pA)>ztARfA~B=R$*Pu>obx31my?|5NTwTC9=hau+!28Pnr5qGi-ia(WYFTN)?`&eQ} zRqxa=zvBj>49Kx+fzzOaF6<_M4shsF)x#(Ec?Z6$|`W zvhaV74kzzs5?g)|hOlWpuhPfG0w{$GH#Y0v=+~jshaXro4kPmJzcb8Uvoda)%m2)> zU^l?GxEk)Ws5;gQv-F^qnC=eo#Ej``^fvtQ=j^e^d4#f|CRZZcZ(J{i59E{Ot!0uI zzAOrYN*PJd2kuD`Ni?{9jC0G^Pi@p5pOCh^EwfY?1(MP?H6Goxr_)`$8c9-b)T7MN z%dy+apwJcu&JrI34830tAJ20?xTe z`|k^^7;`qy<69U%MPhXZTmVU0;Bi`xr~!v-SB?BOVRuqs0$5^!$lHA~li zkMW$UQ+fhtE^u8%Wii$i>jFn11lU2|f3EHCCkD$_b~ykiftbbE?xN)&CNDcQ|ME8< z0MkDuG51lWrX{GWA*2-ZLpqA`(9GNZYO7EMsBNn-pL>D3?RphHl{P`&M?J*-7bCBn z=CV{i3tJy2GYuCY7(-W(TU_MuXHH5u==^%oFuKe=z4SALpE>wUM5wv2GTDW+C@jf^ z){6e)+~p+32@}Ph9aF0WSC#hcmh$`Ikm{Z!Ws5+u*WY-d^$BOa>*tvy2As*2Ua}4Z zntY6T7PF>*O0`mFZD}qfeLe~oRcD#ndR=`$FKzKcZT5Y5oddf2Uf@8%;+`$JzKeKd za^D%*{sd&TCb8CoEJ(%k(K14{#q$fXB-o3MsqA=TF%9wz#CRMiwt$|m@FiFFGNo&K zwyS0#{}R5G78QnSJ~^e{VQGR3T%ul5kZ|&gTcn-J<(4 zFtbE`GQwfw260B8S%N|(>oXEvWSDJgS&ZDj2ZUb^7mr<+2&mtQ+tOzu7HgwY6>&~L zgf2HUg0+DoPJX+o9-654b~|Dk!#HAVojCYo-9&^yj!xxCC7Efbg(r>1JPT?Ho@BcZ43|bI;t&_FV%L;~|ma%vD zjyw%F`)#U+)>E{z>uf1;x z|6n78xt`1BXy{F}tX(Q$9(uTaNX=WytLzJCEe99v$*wCTX0FGzcum6?UAG_}U z=6tO0bEM|6SmI~x+opPV7vdRQu;!3YIVN|zgnM}FdyPd;=kV(w;7`DRvVm{p7l7`I zt6S%@J^`}FK`W~lD?OJo9DMv$#3P#NyiG&SHGXoP<--hM8utz=voMe)^7>A0wCc?K z&a~Yyd`S*G%Y5|PP4IU3VkKruJI4F9fRK)m06Ql$2fdEFGKo;y-86FagUZZfBo-Qw z3c%VU22KgWs0$2OCfnH%-c|1Tww}n_NW^aITI+Kii)j4$Rl4ml>ubf4ey*GCVTQjx z@r*;X{154I6(jDbyB* zRU2;>#cP*`hhNl`00_PH!ZGp$e&f@nq9%`I`FoNMei@U>8n|=q0=+nwHjZy7(g@+X zm3T2BN*9Dzrc|e{KQepeB#dF%7jduoe?g&vkn})V=!jIBUt?_Y(K@v;&xQCuU;9(M z$&Hns0&}&ko0cd=*`>>Oqe>}Hk1}NrP6#|IP73b(B@nl#g^T4oAhL}my+yyT@pb== z9bqK1?lk$G4htttE?)fI?$k{V64#&`TH=%xagwJ;b3^c8F^RIPeDbT*qpRO{VSuUB zUj4o1LMt7DMBzR$B%8BtuUs1cBP~a9t2#N9XEB7NGwF-oh!KN!D5Mm!LYm~jB=+Wc3aljks2 zezvOq@$E+dBp3zO;!NbQ{Q)@U+baNj(4cz@xgVrqrveT2LICA^ZP7(hh6nFkTT|?2 zxQ?>I+abuhS+|sSk~C)$y^}Q(Xa1cMk`ZF|>-GJ4U+})-(v$8;?$H-^iv{fXTsu)L z-&r8-Yk}P?r1}95?^`lH8I>C@K5fSSvmd3aP)T&PNq1ilSqpQu)a;iyyFGq->hcK= zG)RW#k12oS%g55Uch|A1;_aMHSw$l5WKlGe=F?Vox6f7X@FYODf}QiF?bV?*0Hp!g z&LvQA=r%808k%$b?+UC>{Dg3AGYYeD_jK*8GE4IAb61_x#dE6*xiS8KUvqo#EhI}m zQNXPZ3;%gJVzmn#mg=;{ot*TNQQJtx@R`1mSv5`zcBks?XChedyB9!N`tZP?_{v4* z4o?qW+z99Kr6|GfU{C-ZzXGxNvy7K-4rfm5hrM89CcF4Wi++YQFbZ3gcg%oiBj<&3JMvVzI~BT>=+k{fFyvWGV#{&vBG>@ zR>XDCfD3gw>R4Bg$p*PhqUABPciwfLVcv^?4c_3Y2!0Knx7KA%^_uziq@|!A*sIr> z#j!lALbwAZZcK8s*&Xm#nG4(e$tnc-ah(z5Ydfof>tg3W-94&I_v{nR%90y<>KcRX zYef=M(5L3)^@F5QPpFYf-NPfY-Uz4uHtXH3{UM-7Z@IopZ+g9Xbm6d(qlGR4ABEEv z%|IWEMYA|jx1hX}(u~+W4E+IDaha$l;}=V4}!6h1K=M# zufH^m^Pjho(sGuqJ-nC|nY7*=4_<_Wb(3b-lO3W+Q7S{>1wCf(^b^bi02-W}SH3nI ze5m*3hqpbH8rJo0gtra+P115WcGVAhV4rQFmTSK)szTQfb3+J5&c^8u@bjb}RFjmt1Po20N2ahZ4R83OnaEdbB} z$|FHaN2vP$B(s2D-aJ@(^B74!mLk%cmk}9rWQi}X8VkD@TDedU?yzu6|Ac`>oqDlw z#1YFJj{hetGU{VwADhDYV~jr^JruZ4;5qo^N!af|y_#!ULcJj`EfWjIKMfwq%9*@D zj9Qu^{#3%3suNK4sSQuTxd4NZU*5wI{4vvQrC0hJHL_}6VSKJATlVdrTi=;1=$|#T z0TDw;LUa4MfMd#hGAMRiIPX^_-{!|yCZ%{#`nK!Qk(6cn>3Qx$Q@q(-9^DKBpd;;| zE#*@M(5hA-)!2)W^75$4`Nb~5%$uS2h&Pum$1XQr;gI~RVZ_1#+ac2{!sG>3T9BMq zu6f_S)6MtWT9s+Dg#3o?x7yyV8=EEGVJ%Bf*2HP=6K`mEaieV%`c-M=o~b+<`=uvH z$_Up!9(Y5uzsIC#1r!%GN432~m*lZW?6I0AZ_lI{t&Tc^Y{$0EMszyZ%VfUgj{X@p zac1F_CwDR_B}@DLVWx%4bmIQ(0Wl3$#yqXVw&yI4hJuJb#so z_fMCyPe=p*QE%yUr{pu|Q^5;wX)P-qp#E>&E;*NS?+WI${NzwN`@%D=7Li;cRD>5R zG(wF_;M6pU69?(B_xL{9Zz?DeB6{uXm>BRI4440@gzqcq%I8j?P0tezXmR?;-8DI za%p+?6eJ*M@aBClq1X3H8y`Q4BqMq$iyhSu&r{j$8E3gZa}H8Ct-mb z+?38QQRJ)@+X7+Yfb414S)6@kQ&ULa`SOJe6>5eY`|_;Ubjvx5%AKZHGS_$9;t}PX~G6NAjHVRE@J7 z5aY$Q_XF#_dQDJ0eM9@ql8E=qJHO)6z5_`c(mg>gDX%p*OAD*HJg$A#N|`{=1<~&F zskE5`AP8eNMc~OI&fncIu?N}{4++eh2#{MyCcMepyRE8Uqkc~%!!yKyB_ z>f}^VS4fk(#M;*Lrovs{ZY212tn-_MUs~EH1*I|z)&`6Iv_9-X&$p*!E!H;~!*YZ; zg*tXbfsm3NcDEIH24+-wpI{7VFEKp!B=S+L%qrQwV+^3#-*kRka5-C%j4j<{{SJcY zAEE^&`n_gXpGr6^kxL4Q1H~#>44M80W9?QgkokP8Yi}x>=y^TsnZiLMmH=o)&LX}V z*6(RA^cJNg+y_(zZC7x(q1&uktn^XX=fk+aY9Q_phPb8dKbhmLau3e4;8T*mryp!+ zWxyY+O&QmrLHNx3@*#HG!5C9>6f(>VvB)Z+4yyMC-+a$sk_HTHx;~i5sO^y(Glw)_ z8P+eqxR_XZ1rGc6(-JU)1J`0mO|@yR@XUU4jZS^=v!lz4!P9`a3BlQ1>jz3)1QYKY z&u^|ycO(dR!UB-C99i50(p%P#3{!s9sf7%ul(PGkV7g{1)9uRc0PHGICcfG5jRUEt z=uyLF#yAF#E?_3;kccK1R3!zJ9=<0im7z9-R~sjBY?~s7(?#4BB*At>zE$S0sDDEi z*GjZsk1ydcKm0pq<*U>u7tH@ALjR7?K}`q4x}jf2jyWzVnx}7WPoU#7hk!E(HSFv8 z`028K;f>C_dmC43~b z?u56s!&jjfM439f+h5eX>`(#RA2IXk;FJ}3u31#r8Z~2?9ffp-q1UAPM+?!-*Z8FP zG>Yn?~J5Hg{`)nsx-u$bBi)QP( zG_p~DS9BC*)4VwWl021S5H&;SBQDz|!=#Jxm=1MMVFTA0?1GY zY%pN+$=P}-9y-~*8{yF&)R-0r^?P1ncb4!h^}<2t1kdzqN)$Xf7M%Uirm+ToySZ2H zL~JlAa(`(p-DVvPxP_E>H=_A3b6~9PPwbBDCzY%so&_MR4xpae=2n*-Pl9VvN30Z& z8y@coKK*@gYhLx_ClM^c=v7Z&XX|luL&K%vVgU{3UFgkRsa8q+W}Xg#Q(OZk@S4Z0 z?Z%Cp5!=0u$LqY2KwjYK4J_hEUr?u2$=yqwX${%Jw2oH~rAS59F*-PZ>-u`0ruhyG*bW(O${3EHHLv3S=Y1lfi5<{4~UEBG&!`n%K0 zC2qOFf!{1}BRyv~2g-QcJy&LbbJmw5lp^juAjCxgASE1TsDZ|tw%C_@?b#EjOOg;0 z(|o^@mYv`FEhfA!P{1PTD`zbRIEtS2nA5X@deZ|7CzYf?RPz|lvu3XY? zps}*VH0GP6Sy)QI(3`GrDB#);KTijJuF)QBtzr{;xMbQ62H>jZ^^dbwMOjO0gFn?o zwp~WB0Map4Q_@bKfEf!yiZ|l?7Qirqwif4_cF^0}-KFET)ZR?N@VMY~(LF(iQG*Yu z^mF{Vf{e9IIGIcE2ns4=P11ynx_NcHQrP!}5O5cGKHsK!X*-u0og8x~eeTNM2_))V1t2f~^_%g)8J?XhPPFk zI~0b+({nm}o`dhoUC{vK%RPoRPyBkwmMJD7G52Id!?Qk)Z?l;AeMZ#TrpU(b<%eVC zeA*NFKLh6Za=*mHA%13FZe`kkI$BI%YhZ<;G5=l7KOyIXfX|t=5%6qBi@duTF%`0##BrYTGr%zfXoeVB#!VB>=H8?ZINBYd`6BgD}1_{EswjuU%#K7R=@wU zWzY}T%Mh;F9mov5MJ?Q)0ikN&f=kvkxb~41-#6ChOA|lAw5GPLkD5Qf31s-{`)-}j z8EBX{o*?9&fzIpX6dsLDH6N7Vtm-ai^1KoA?Pmw>XalslonX&^i-1WjvN-1uJ~n3K z&pG;6Ge;J3o$?KqpL5_Q9~nbr9o*dprhPa1UHKM?(qFiqf#TAYu18;w@vr&BW%tc3 z{w&B2vW4<{J!vKJfyYMBcNPI0_UtP}MyWC1E}x-c}9@6GzIR z#GFP(LtZbHj$}6+P>?+Pp2hue_7i*J*7VBNaR7Gjx>spY4|7 zS-F80Y-ImQb0D13*|pD3UN|MZg3saQ4$z*$_z(rOd75;o`?OQ+bJnlr|@C|ih20oT2 z?#cpX;OR+;SE%U5c!5F_kQHzdxSsfC;PebYRvD>f^>{0R<%an=Eq$Q()oQ1u3{<-N zY{zNY3Y@VZmFr}spvP8rC%qOy-{}`RY@e!s*sN8R@zME3gZr~!KB!*sNvmCZ)?Nt4 z`x{J*cN~B)`RIv1(gghD>1!lw-yxSr;z$KCr@`9qL_X$b|Ge8imqDQRy5Ld;ceYcf zZ%=cxN#A=?^+$1$gQ-cqSHnzTjjVXqn2TAHkQ2fvRta66^un)9eFMqDL$TuA_r_6- zL?}%K)cWg>nHSNU1U=eM#=wCYPlPK=C+8pkOA`C$d>)_tuc>RsB*-v_mLr>+JM;#Z zy#N>{Xueg;>k)B&=?gSyv}baHtij;F#aHQ!reEwO zifYRfimTlwlMTONQphSm96{i@O&-S^O=V9;g>%s?QLYOg6vn^ zpG~o|q_0>6BwJ?TZKfQe9aLpkM+-KVr0A0)drWfVJBPE=e0%vF7LTnTc z)~!W=Fpwf{b*Yg`0?8RcPf8BU-{tq2U6fiRCCYBZq$F4lpc4$P#t-Bj!~S%9DZhH4 z27BT18qgho0+-K;GCn>@u~WwLV7j*Yw9RKIS0{QahFH!&t4amH47k7PeIe6>_5#2Y#pr>pcp;1(>nr$B@Z!Lc$rA zf{utvA4Q()psHpQ*mV$}s)>_94f#)%Mx*Nhb&*9V?EABE4dcd^T4ceC&!L=OPIwPJ zX#!Qrkf~cg#--EH7f9bu&j{?`WjN&++ul`f1bRShf=pp_b;8^DbktK@_SC~z8K}8W zdx=Xv{tH^;J_UBKkV=YMNl`vAcCdXFVHNo|9C|T>!rj;J|rSEB}FtT6z z_9Pr*I{z^?zKSIg?}zf%BFJW5;O6tdm7iw|f3_6*mr})mZ*N1Olc{iVd4^3rYb~AmpzDB+znRsN3pT= z*4r=s_)yHsFcGGIX*;{Fk;Q*>#C%fV=s*z-{lhIF$&vvuZ^2_(4s^p*^~vV!eIiX_oB#Yuj9vj> zL#Ig)u*sCYiWqtn5uAME#Hkd%qB9OjLzFCQ6$k(UW`ynp_a&iCG7hMR-gf6nH{s;= zH=`Aq7whmHf$&iDhcW;&RDJw=>VJm1W9ClRIH`5bk?u`Leu8|I?Cm!U$U+kn3R_Cq)(YZ zS^a2}`4nwYmfz`tY*;HRM1g%%C?PrL{Tn2CIq8_Q{qgu&$GtzVkM)URKlStmAyBFQ z(`cag$^ZY5YH|mlL+Bu7k@^igt4z;F=0R}En6xTK^))r1?yl`M0~ zNSwDrZi4~?ahBF(lF+^@4@H&o&N)8UF{=;RUaW>;y2Dhy|7N<*i3JOKqN@CL+Ju_zU6 z#UT7=qLXxxXyvCF^wkpZEwVOx=!PptRlrA2p5|_rn~`*e4m}z&Em^GU#{ptjk@$1_ zS>-gT45U#{Pn(vuMDa9 zo504XBK^V`*GvK6ts4z5J^!qG;TTdO$xhiGieA2&`*JxyBiKU`-TQZy4_Bu$pLJIo zCeOlmW&ShMK(CI9=IH<6Hi5Zd)uVoLX`78RHlo4Q@Z+vEu+VlG@Px+Z=I$Lw?M2V* zDi9fewtl)@Gws~tF3cCk&+n%jh@_{_EWNc@G~poH4f>Jn(*{Wpr6Pi}Qmc)FI`9uC z1=LNSDs_FkEv^dAh*S;B!({{w;)=NrO=C@VNtYL`A=0h)5*7FfBV&P~nB~FaR>dr- zRFCmc<~tvIcAJGm9yR?45)|<$H-tU6BJ-Mzkx=TPE-CP+dq2(fEMy!vEv+VeVW*zJ zO|k+pI-h>ys_91T$RLiT?0;Z7W5RzrUbCue|Gjl(#=+RPRs_lV;0#c)$J$3yL^4St zZy}2O7~e9>5d&j5vwOk1M;@Xt5Y8uS5GBTFnZ}Tt&JiUr3Qq^PL6<9d0uPhxBrqE_g zeN28=S1ZgqXavi~)q);ko3*YZZodr-4EU5p-pY2*xBy`AWf6t0v`la+yG5O?xn%`S zl$w*(K(E6F36cvNNH~2pXalP@iE3+%;tgd=I0&Rp;)|}s<-o6li~3C}wt||mH|?&R ztyJldyNAxFnorOYpS{#I+q!Nlx(ad4nu^94|Nc`ndCt{P-0w$$^5>dN2HK2MjpS$M zWO^7ntneY!`9h@m3HMGu)@!6vMwjUD)M^J9zMVc`FYJwE``7f&KHnN;{1o(mYtgQ% z_|;=r^Z&=yRYyhLZEaLQk+J{*0R?FR=>|~&X^`&j?j8gLrIqgP8ghU^7`nS*=dv23wR=h$T!Mrhk*bYT;BqPW74E=>!4Q9@<91>9h?}4QpYX8T*Aya=mFF{Cnwg zDM}oQZAF+-?$=f5*?rP4Qt!<$ZF>RS=ipl&UtVHdJ~T}aK=Jv*af!-wX_t<)cl*2n zN5Fj5Lo6uJ_uZ2r8u%n^Ya;1SV6@|XEhF6$!xv*+K@U38KqM^J<1DTehfb%MINH=NBm9!ZT( z9y#q7xoIUnZ(gBy!i<0tNv*MLd0$M>Vq@UECdfCTlxXP}qVYToXrWPc*vUml}--EWA)_PBKPae|7MKbGGOd^u~wlN8D)*clYh zOfsY|LLbB0K6y&hzHXu;EH6UyOr3?xOVxxghIPV%L;W#^PaMB6LifSlDGQFRUVf63 z7yZuZ0}=1cutm8um1e*`1mFy<==cS@Em0lNAN*^iO2daJTonHL4bl72v-GB09|i z51(GRL;L1VOVVh|#wVFtC<6Zq2>6y6JMrx)6zB9ne}p*LqJ`o&+tG0Yeoziy&{GNI z5C<@D`rUrQ{b<)Pmga>b!HG%Uo}}K{g~c2dL0t4VG>3|ZO|I&?)#kA0?#3E5(x^VO)*$2)rLL?qNrCZ1c|9tQ;n_$Ne! z^2Tkw2qKFpx&{gfz#$2%TCzA~Nx*6EYY}GJ>nZOn+@e(I%&y+ z(0xm4LNrPI+F6Gni63(D;aFSdHur+j(eyd%u^SG2e07>XJRf?v0axJ%&kZ=|@9TCXdYfYvtS{Dl+5QhLLER&yl#fzD@2 zU8^n>(1iJO%x){w3i5~Np}G?eo{tP*CSF`V9I}JXA4C9z{g7f&KzB_PC=d9@*p(NA zjD@(laviN3z>H>-yMXU{jC+hJLR}oSht?{%l~Bpp;&z8OwXAR;IF7p3|J{OUYQf<+|A2Yv2i@78a^A zIV+WdOMH`oUSB5BOKy9sAzz%toZln~HqVf#aL3;M-;86~wO{#=%mSN}gz5^JQ@+Mt zZI^%DG4iq}PwvP6ALGzoA=U-9{lPYPK$yDdn%l0;f-iH`5HmWuFpRF>gaMARD@y#k zlehZMIp8uD=ODqU*|zAyQu@}u<1b9l9|x{^=1)u##6p9@@Dor7t*@2(7iWL|%nA-4 zK_Y6xjzp89`03@@Qy4;abybdOMi z?%#X#0^>EU(nb1GucL{(acWw@Z z3baF+w%1y|IX5dJEUyb1LZXHuG_rh@Lgi_-Gy+n7lk33QSd8*tIMCU^u%~2)cECTE zJt=Hq`wwGuqsWlx4B+NWI)VrR~_j2Xis-TnPV<{}ew0f3<6fWg^%LLTr zS`_}Xa>F0%vQ?{F->-hjoGn<~tfNyxxHQ^1uj~cz*Mbiwb?o-bwCg%jXeg0o?srrK zB*aVWrBT((20??!=O5wVr0?eCWPoC|y^x*CG-tfx)PUC*9#<_+lX&^W7G@@(h>BGL zCAH2Bd;>;90eSBAL6c9|h0VSMp)116yUwqBVDRR4U(BjXBT^aEigV4TCJ zFX5_ygCg7}J4_!gpoTp;LqpnoI2E`FGFZ;Ao@du)-TBrZJ6}DVs#4B;>iaW z8fKm{y*y8b_)aTg$^s>3T=)Q!y?gzf8()_Z&bF1uz1-9Iz}=0VXGRv5KRWZ(g0o9v zhzth~E+!YI)2ky-lQAZQ9$ZlO*6=GJTp3dql69lytL=8B9{q;3)}jScBm1k+X6prs zT%CZ#B_4i|a40)7qyozBcvoAHevUPb6#O;WioM2k6mYjKBFsN`=O&K$gglFFr*wCv04Oq$|_o=S)dzL0NxGWDdqA8EZG z_?o15l=P%DNAu`#&3geVbmJ0QDYs-Fl2J%i++w955UrwzL(RkvRxg4h&?MZny-@ntV zTl$XiwCq02nOIaewg_*??G)6U4gG@eD3G?Q1S>{7wh{kcB{$eOc20oK`%1AVQ0SB# za%qB)mmgAN<9m88@Gj!uJ$<7SiE#nEwgSBfb!BFVAR_D{8ZJ?#5NR?`GWfHN=92)d z5e(+Qw)urEpo5sZ^RJQao`~Jat3%R7>A!|J|K$}JX2P(otu2o^?5pvftMC36uQ90O z_M^Fw`sKoebF;9)9)-v5e9$Mxxe;s8#{9#P?K=;OG&yV_OUNXF2JxDiceW|rCFj`L zx@>^eZ$5FF4F9TLYA0^RS+>Xj_(4o>)W9*~ zt%Jd31A9`leyt4>PxP1|w}Ky`6y*`>@WpRtV_&B5V7Fe1g%ZQe{mF?C-VPY_G?+yX zAWJS> z`gB)f+A%Wj1WoCO;Kf>=aFF2q*lf41f|2DlnMl3E z9B4L%I``gV9>ASUc-ipbjC(v!&O`f7sobH4DAgd>Ez;vEIpH1Lz=LUPyS#{d@>$Q^ zjn+N|`Tt(}UWtavj3X%R9CRUg@$Szg!VlDwsIByX?JQP@c2duNl2#|6)19pD>Ftkv zyz?ag@mt{zA2WYCPQj5Hql%EqzzaCnSd*<=ih&cmoH#^UeF{nbbnDsGK+qoqL?3)` z5wI54?^VMr-FW2^7OkD+If~Q$KJC#6r5#^q;smYD1@_A)*`O$4k0ETa;(!BQj@(_j znBQ!A7xU(RjP*ktMH(fO#axTK5tMY&v2h2Uz2bT9_S5~|fdb)l7`F3d8?OC){EK43%S6aS3r~T39oid*~Xoy_uRS8Q;qRn=2g9xnZoK= ze!j#)IxTnO!n765s-*mA)4Yng3#h!njOFg9tarPvC5<0g#O`!t349`{`qFM_Mj)e( zd0>nsq}*nMnzVbS+GXuFRev3(@Fc?S#O>uE=F$9vKFxc;X<4zy;Da3JUx^R@6=QDy z4pbnCvO!rGT0V1veygpGMHr8A1a)t0TvGQceDmcS3#UTJ{BR(tf%(?2E+xKH%z_$N z0EU4-0rAx`t0_Go)Pe7rqBa7&szb-|Cj6_rOrGWI0O@4#!phW3#0JI`D)$}f{w8HX zo#50Ej8CM>-{}xV@Q*`c`VjrA27Wo`-Y6?UN2QTjLZL3E<#( z2`V?N1*CUn^g3;|V-t1SQvtYri;N-AB5h5wF;qL}&k>Oxx)w$~RhW7CcyMJw1>=UA zm4E7DC}mIpZPS7}3yplgNd?IFlt?T*57R#sLUq*2lb=j$wapPT_2tP2b-vIkeUU0Y z9TSJOPo`gIK?NCoIxKz9#qRxVB|Gc^LO@QoZ~m*~na2jG11$@Ky6_P9Vy%*nqGKvf zGNQG&F-XCx1;F%7<+;!GuT6?&+^djlZ}ZSjj*DC}fP2hf+QuDk=W5t~Gy6CP!uMhF z*T&|as{$ojluZ| zZZKZGCO+ObUemGlhF;alUw4$JHEqlY$n{w3%ZY^wdB=Ds_GXrTe|5Ys{C)zsn}wUr zSy|lY5Gxg);d2^tRU$hA0E7gilk}_OcEX6X%it|o<>coI@dP6j{xE)U>2=xu&{KTM-OAo+3uH0TsboaEO(ML?gdD*GG_^BGeBbO7AiYJ@<; zea#H5J_$vyRH5CLY)$G)_n9~p;axu;LVl?Ii65}GLZyik1Tg;y%VsTf)dwK9tWS;S z_()t8+DU}_=d4BI45t1OtvT&BkAQ7WJF?`VocI)TfxA0vx}Xq5p9fau3*{-G9ye3> zGyUo1?a*`}F$>~u8$_2sKXsL*3Ave@1+fXlG=z=R6Jz4GL-YgWjA|uk^V8394>cx! zv{O!a-zTz~;ZACD84{v08J2`fpT@705%5H~U+;W5+U3;hZT1yzCTT(OyRS?2#dc25 zQ9y!M9$q(mdfH}>$|L&B)DibA$Nj?b%FFsxB0#!?oFPZh&CkAfEV(N(^7NT}zudz< zoz+7DJ8ipR%9Uwb2W1VP!`7!f4^HW4Ks2&EDRLw6GQ9L|jlv8=;FnNPKs}plkb!nb zit)fr5wFfzMfIBrU6#XvJXUUE3ucX*Z&aX5-kjMH>V`tG@C|NG{y?B{ZCHBOydA*u zQbm5_NmtfpUsQ5j1Fa2yr?jP09Y4~6yL!4>8b_4l_Q?{Y!9GuGY(I3LY9y#$AS$id z`|{*ZS5U7ZceS9dOUJMrXGvg@-CcBW>9;4fx2umeulD*Hf}P!M@;cFvClCDJjnhZr6R~aqP2X`=Dpylp{ zTXsn+Lu6_begy%j&r&AY*oKfVOlM-1LF zBa`%8ukw8H>yJgQw`u(7bGU>9IJoNU7RKab^KmS17~C3lwG3-uEiHpq#$nYLcnD%v zMj*yekQ90CUp+4kOF#z&pnU+mfAX`DKAn>E^LZvaX7Bo)U!6Q9gi}9B)={15EmuXf1>r9ym-{|d6Zk=hL zeNho>Ibe1xP^~deCUig9{>Rnlt=&!=NmuD3TQNBvRD0H7q_r)IA{xaVO6D}69qL8I z?*-(C2siO0t~iI4II_(mAaR&VMG|Ol-z9A~L#264^xJ8Qs!&2bO~;g_%Dx<^#|^Zp z@E9u{)$Hrp`~qApq%!Rg;5vtc%s)GM0B(Uz{gM0|GbY$*8lWzln&t_)`lj%s-MM62_}$S0{)UcvtK(O+x=hga<*b1qE(=)^iRva6g|*0!#bP zi(vJeo)lddqvR8#Juvn8-Godno)XXJ5{UfP|YsPUbs|l~sRqTMpEze2*49 ztPtOk;`i?Y2I0jNQVl$}x_Nd~bT@Og;W_-kthxnI>oYA)ccoxKQkJsAFpn)!x*KpmeUZfD5Z7;oADv9&lC;YhmC2rbu1-kgNqIF--EZ=9xJR2AZ zU9z!)lryC^^S5yk5)0Ch=Wy_(89pBlfBoU^*&lA4A*9T=Dc6@g{oH^+F@-H}?2=~- z3%%4junvXZQ~y){JaPuYP6hgD2YNE@n^jpOa#@{l9ljgFUYxLYGa3Jm=y~oetF1zv zfR}E~3P2C^t4SBf>K1t-)Pg6FGO{9vYes&vhzh^FAWp2kCKJrx450%!1n*3o1-=$o zJ<9#Z^lj?Tf*F4Zf%W^#zu5%M?H90`F9^?MtnMAI4qa>jbq zFpdhz-xx1V+P^3=LEr7w#90-mHNAGLnJWW$$N;LMJoezCt>?usSyB%EMErqXYsUtr&l1&JE)>LgZ zmRMCiy)?~YmQFZ^kLMl--eol-JIt)sKy3qXziJ#ZRaSSi|G3>41$2QMM$K?(67Z$;0HC`<@KLUs6fA0#Q5LI_Rosu z+Tq22E&4JAMLHIbi52ojvqd)?F0qJPXi-+dr=&;D>|tNU}JF<-u&5X+iT_ z;%?yuiytj7{35~9 zK9XcQlPQcc`r!=dMSEcjIo7Qilfi z71?%gi7{$2uF=;V)@@Y#b}7dp6zqXWchaq6n1ss8bHAc|FpxNymRP|EhS{BB*Zp{@hk{45{eg!oqdQ+--!|bNHnPJl$IHp^F-2W4+MBQstt_2ik!7Y{%xX*WrvXLxtoL{ zdbC=KYJ6rv_iMp3pB73}^Xhc-D4_&9)IqZSh-tYBI|1)zR{`{H{)N2IuCaO0q#cp| z)477ZdRi=qzMJ0czM5Mlf@FkrgyV$^+&)zBCp!Nt=|!HzI?$%f#@Pty$9U)Kla=T( zanHjZ8jm-u$6R108RIpmKZn~|=_=QW1cHUv8S$(VjZALNlogE`Jg%DZX`-!BnC|M} z-x(p(|M4LEz#Vz@vQc^@!yGG8TXAoy5!c;Q`jhKu^eX-$5x32ui?cpQ))fuf-ZD&0 zoi|dYD!~#;tWApIXPLVbB~riGMVZD*>&4mH0H1z41G3b?1J}(D#<_8C%Xb|YU_3xB z2BV&RX_Q4?CGSVO#7w_Dyen6d@u`g)V|ocG7_epe=$Ya_j978p27tehoA66|n5_^h z2*@M8YjdFA*S>HC5bo$Jx1mK3!p9%qtHa+`IPdQLNUN?h3pMKVe41+ch_T=c*B&Gi zgfD(I>)AY=m6L5uC4|y+=>BS=?8@aDH+{t@aO8?W=y{!)R_>^8v#zvBl=r!l=^nq*@wjc#XOR*@Qx84T?! zrxvqM*njrrfOn+kjpY#M6fzSIs!kG8gbIw1S-c@j;c8yWX%bGkFK2A>vhI3!1|-Ge zUW{e_EMa;ckU>EWH5x25gyOo{nx}D^BS=9H;GlAv+j6Rhnq02*G=t9rQbTz2f3o9!Z$0M zHNH+8K#k(2iRN27=|e(_IMR$nFToiniN=nIc=d?${kui44g(&xL)0LtU)NpQ5v1u0 zKlAUPU)?Q@)s}>HL7(K3gm#fo-LLc6WuJxHH7T#6rs|?9Q1ajmgU7(!@VLcJr;p-G ze#NdXd`0Np+{uj;f=ud1v!GSLNl6IA^OQ?)cIOG)JWADI7nivryco(TkKbF z;9l82uST0Cpuj9o!$tfNY6!fsa%^}Laf!GO(-eMRc#~;aRZyK@ZBR*98k&-`U$^-8 zkiNSWCkB9?y@kHeTRwVCJ@Y>U>#4Q9J)8kZN*y+oC61)>nO~sI5y+*Fd>B1XhNc=xrM3 z?r*WPV_+=LIV0)Qv&1&J-NSj+Tjk8JEn!yD;5%T}t%RQwu(>DD>uX zu2p_hkU>yUlt2 z=zJZ!gsz`03)*wh!v}Hdad~Lhpv@De$ysWn-<5G*SCCMsG3_@RF$C}5@{UA+bbXP_$LZDm+-`|NR4?*a3kKP`mFU6k%Y@<+?0AB)rnsQA zW;q~BmQ_0?zPehyjC$#+3LnSq#IklawU=YUu-l@W(m!zEtk>^dZaqCLj4z+EA)UsH zfu3@}e2U{H$7kdup&#&M?Y_1l_d*q*%?s(uimeb+(?5duf}W`!A2rE>NqZx7XRhDJ z^R6_I-+2n>Y@)TJnM7w{4C~I47o)48Zhpu6BuF%LAl2wiTLroeiHm{pxVP1P%Oe;& zX?kL3;&<=cMSU#Z)S6!=8^(8RNdln@?XB)F(r?!y}3>ViiO;j4{pA z3ArNFst!MaEsQzKUxZDrvdY<0g2^xJY*zt8l00{D+tQlSD za%-&Rqz(D`EiJXS!>TqGvd+BbSj51@-O1*mxBEpW6hGj%3rVIQrFeQzyxhqHrI;lzk<@fBz$-I>&j(5YLMXJbdA0K>JuI7wg| zvK01aG+!vM*JWOz{&m_BMKz+l`$4 zrJ@jDeih8+Il|;RdK@oOCx{Q_;88zj6;C4HBTBOiwzuDg_y?;ZVhhNbpemz67rd_k zlH!}dJ)f^*zY~xLSwvcu*3C^O`ieXUnx@=`43c23HrKNl3yTg!%!RJ^e}B4L*4x@A z0+}sS!T+s>MV-8o$0l)%haZ56^{>*|zY}SP^%33?_%6n~bw!QEZPeEOdN}!{n>(oC zD6OV6;0NZz3)$c{q_)yKTlZq)?y1 z;{7rk2C!zo4EyXR-9B9*q8O-W=1q5AmHAxS!fu=*%6P1$-Hh~9)f|oO#N^zx?5YOK zpL|lE_>se_CEvaUh>x3rb+P#6b=S^CpP1~~9yy*fa8ehoU#h6fdtxI#7^VqUzm0Pq zm3DjXc-Av;c4zWj5A4fb!pBm_5p$FBgSZ&Sk(Y5#dRIz z%C9NDdr+mtqU(S6MY}ypbr1uQOlA3{P@IS&$h7QgLSQIpohTwFQ!J(MkWnq(pi(QE zWA&`0dPn1md)9^0k@MIn_e}-bYLrhWYpjwOH;rs8I~I@()1tYQG@XqA<=cfq38WSf zEJ!1oS5;EzT9xmeRcQ=q_AD*VWt;}|-18$`(3b#$+}|w$W6!-2wy+xEI+u|@W^uVh zyz9hMTO$Jb(25blqf2&W<{dqobsN-Y`+|+vqqHeQE@Uqc-vO>~mqb*9{(SGAzT(_n zeMNyS^4JXzw#J(E_&Sm?4pqgyd?g5jmgG|aslxoj8Vv!IMo*!wa^|7hqFWg4lJ@yZ zz}g6pg@ks{b3#HunIr5o05kf^w^K`a6%`Hz80;3(1Wy^vjRC&goReT$C@-#+lqaLm z+87ovX{X9+2k7{;WZ~s?`-2}^tnlpJ95NJ6%H>_YLt9UgJ6Zw>J22OKrYF8J^}Me9n-YTO7w?VspZ71N(Qp z?YiOz3W%A#zK31RrOUxNvgESEyuj5oZ)7+8;wa0)0qsc%uI~lUMv+?so`Stk^dW_! zSdC5BOo7%i#mM6%VX>pCCRWtLT|I4O@{6v?Cr$}w)!8Ca}nZw74 zQqRc6y!;mBYYrPgs@fgWx7BeqG}y-{x)0 z6WDZde=WU}&KR-IN=l+C_oVjFNqKdZ-ASf-QT1p48{(hBeN+7EevagBQV{*@#T@4* z7U{e_TyLz$MP0{g-%hm`fOL)j)g7R0*$qz@XN?eXLR>$kQ21%m}PuB|;!;mgH+N#b5%(*%ohm z`!k@R038xC-4J%_r&aarz~LrJD>#^I^@Oo<)$MdXRMt_QF-B#v3+fIoI+#X%@Wa_m zwIC+lW;mLD4NPb1$3x78;=@5eWGEJAW0>GvE!XglErY;ZZZw7^aRSUyw1v7hmSsjI z>}iR#a-P)F9KA5MbVTV_R#}~J4ixxbr*!ne#G<;wiS?2iu8S9Afx*CTBx(S0{4dzqt&K}*zb&e1Hy9e)Y8Q|U>x zFPp+9v8rL;V?b`}Tcltrnyf`NEr2JNm>fxV%cRuOkI*rf9TV1RSp(6r(U$ez+|SdN z5;hv1rw!-e-nZfBWifg2cZRB(^}f2Fo+y^}NY4ZSR6s3xisLPSp5J2a7}6gcqJ#xR zX(za;d}mCnwQ22xSeIBwt7l#($(5>w=|v6CR~EQt(+RU_(wwu<3RYT{_U&E1CFiJJ z&|FXkP*#*eNJOZchV2n~dTN}(026tOjnn#0vOR;{fLy;^Xo#~ws#|aDG+!y(c$s|z zKOo`I6teTY0=9imqF+P`A<)8dlkHJN1VrUE?<0!O#)1n~y*b^lm^*KXCrqlH^^%Td zBwx%~OuIfwN*g0yQ}()^eRuFq)5z;ra3CWKZ&H3uFC#D7CDSf*AcH7&(@jl^j9jco zYd>t)Ie@!2jNEB*;bmZqW&4LOlxc>b3tHg z9GKH=pMMt${Z1@wd8a``OOh#Xqb?u(l_gYAtdM`7j|{ac*=-{{cz@?}TiQ+$zf=Sb z(U?^0rpq{4$%Xb)GLmPyud-A!kV#NLXd5c+3neBlF1z#8s6WlBNCRq+R5|WNa#r{} z10K7XSZ=K;rOaxrrV64Be7LV~%MPV2t4$FeqB&cHM3f$Uj!Z9U6us$i9D zpO@alPLs1)5HQ>Gxv=LcK}M9=WZ^E-lK}oZwm+$1&-qaKcX^#xF*_nRgCI6NWB&*g z2$DA^W_iiQK)q!6HvVY;h~!(CpC6-KH=FXyfZGHXLW;RVWOF-v`af^pkEjBVG=PPc z3%l3BqJ3$6jn)7W!|Nc?7Pb8wbR07@v{>ce21u2OPDhQMLq2W7{2!(d5eGE8_TRd? zc3i2d*A_v7-0v! z4;y}biEAe?u5cfyJwK&$Hnw!P=l|$oC35x~{kR|l|G9H-lYKpoIV(bM*hqQ7K-1J* z$Ej9wdk;Fx*@O`PgNC*XmmWmw$4dA7>6#)4vzU(*GVc(yfl z@)L?zak}EJfg83l-0AmirIibMdvk2mcf=b{cj|%rhRWo1#bVU0q@#`yE(24_ANt_9 zg}@!8LACcxxq1Ud^19s`EnT+XaZwfSZFg8^6e*Wea=H1jyb&wMAlhcp?CJ3lGBNYb zDS86gI2i&dpj>R_^rbwt#Vln+%H$8mU6~|4<%?4bzjc51)xX|(1P)w&w*~4?+nwr7 zJ`C#euT|sRGWcQErjK?o*-clpCy^o<+$lg8|4bfSQ(feaDQBxmMzHdZ^HUC#{HYGx zQ%5U$0^O+;g_fno&gGz0r3?v@K}y{lTTay+_o5^h9ms=j3zasVZ{HEb6*j z`0N<%4yH^!FKwBeY8WBav^U=kXkILq$JvcIY>cP@jTK2hZT7DG3Cb=xv$S*8mt;R4 zC0CDrvy*7|+#vy%Ir^spkiWwG% z&CGG_hCY@|@^vy`W$0u*0JTGN0b#W+N}rtBN`{gH#O^Q*0{S-o4yHgentoGfH3x%B z+g|BkHIiGw{W)t%UFKAo^#$HUZArUe7^P9i|0>m2527H(I z&`nDq2Sct?M&s5=7suaE{^fz`X~pnih175_(4tq4=jCoGfJ$rvP>b$E>cpRCkA;{6 zU)~G&SJ%qlh;>`S@@U`BqxN>cvjKb9X1T~?+X_=rbBU#P;V}_K=m(Gdx*0#i3_a1- zSY>&kv6)rlR*EoY?c64(uwtHd;!nfp5Ci_4Gt_?MIqdOx-3Ly>+5EvpQC#UtoZhNw z@xwR5+{#*7W+K{iJ-;dcgI1^0(6`m9SJQ1f4;HQe-7Wd3=o$BVMO5D&b|0qu3-|#< z88z{FNAD8Q}oyNF&SNlB31_}<+ccw30GBK1h-oxus7Zu`H|1h*-^pL^#l)} z>i}Y2{ykNmb1s)~WO(_2J*e5a82&XeG4)lgFf3Qir@JgipEn)7y0Nlzq~+g+FFf|j zh6gn?3qK}gS9S6^si?Kjhin+R6q9*dx?Iy!&co4j4oN9&H*2;x$X@$jYis)l3kPhL z=Z(P$*mOMkYEdfatnoei{k{9D5x&&j2c+7j_mb-(Z)8Me2Ycc`8hX==pNHnwsNN8l z)Tn>xPOO~es|L++`+%E$bF-UMuH$ds{Sibh4^+^`_no`F8D!sBDi^s1nSi3`e2y;X zE?3v?4}+9gz6y-0>tB>n-F!kTY)y2&Kc60{Lkvf29cWb z-2%eymJu5gORrrrdtn4BnoDvtPNV8)sCgxW+x%ob1pj&FEJPL9mh+Pa^X6Z*YXE&~ z6no2@W8Xv`U1-=g`yoRWTn8!EVl-bGX`+g8hr3_)RQ%l*_%|(t`p*gbhE40-!B`e} zvKD$V+if*>F7B1qM4C81FvM1^@um*Vz{2SVC>OsLT)hr*YoLRN-%s5$XX-oh4{`h? zKGpWYOr4FfYzqVn>;W@%qKiGnC!76D6lC$Om*-}+htJ*Yl;S$A5Yv{umWSz;s!f!W ziznQc9TZBV(P!>^+tX9cJM~{p4jH(*gSXt`)EwPXQro0|elUlI#SV?PRblUZoAu12 z-l#d3mughhjz``Uv0Vd|Volp`3oGZ-l@se-LnkN&1pm9E1CVX?Y@U`}`7eWDCuZT2 zFMU`|v^GZk=jd*F41B!Ztz!l5?-%`%V;4?kvTl04#Ppqe4Q#1Um%}1B3 zhM%pbY}rjW;-5#(>F{5cSNu{sem7d_2!y<#Q$4~zwAG3D16cF7yDU|mUAW{O++x5@ z$ql4ABjE=0k_@&?s%fd+thU3#Nc6N8=nkyiKT1i4%X~UV~o z;4(c;c_%Fh*cFS2`WvvIX5<^;ZiDt9Ry0f6FAnpPNv1>ag`}r$!M-uVw%trR2c&jA z$SphTySC>A6JJhRBo@VFe8p&Mx3&SOkBfe%%2KK&9?YRk$>9-*%~9~A9GcoZl!ggv z?gA8j0m8GGiuN}*QoQ8$3+2`QZ~voRG;kI3^Wlz{J-Pqb1xW&Yd`q4o1GoPy4+NRy zT1`YG7$^AmR4qQP0F`FR!omUge9FOPrKLCV1J>l2AW_9SkVD-_0QbfSJMXo>%5#MZ z!M+CKd}RS2JW%MdcfR<#IGQD&-sDH;@!h5?2$*iN!L4ic`dc*MDUAKS4kT6bpBcGl zs3OwVN((+$*}4(1RB4vLyTP^nNg5zJs%sX*64V+)TJ_J}ac&=l3Ll=p#2Vz~x4b4l zVD-8B?DsNMlU$WX$FPZ9b?-#MMcx*yT+w<-sGD$#Hn#l!SZ23t-d}37%`UXEr}fQl zPup|2M= z6DEo!wByz4faTziOq!qB2Un1J6I!mTGq1kU<3-FXzlx9IDKin_2+a2y> zuAQamyLRy)zH8z>WK#_vF3qsA`Q>`P1Vo3X^d;ayD;t5R`nB~;CMR=0qW~0|&;mS+%{;AKnyr$u6Uw z_wPUmJy#}HdVbz7@n2gBnVj|rif zLRg#E1*NysDjKfPe{zC)*6?_uWDK)@OgL!%Nq~zNxnYvOkk(*1NJE7ZMedebe%al{rKc3a4}5v{51>Vd3;qQ_2JUQko48ud1vpwDv$s4q)IAPZxgsw! z5~`b~%$jsKACRys?9z8^hn~eJ{}hBeR5)KtSO!?{rdMd$?suKToC)=;Vwa{wnPt?3 ze<#3Lc=dmOJIe|20EIL}B<$m*5h~-=l%r~FOJcg3> z77&N2&UFG%2I|Om>Zi!+zRI#8QTSFoHJJL$&YUFvNjwF53-CXloAD|fq9`Io&sK>BF^ zErXE_tDA|yI=%l|k2;0l1N4gF(?4t%Y<+=u)C^b;k(p&2Ui%q4T=;-ebF;Ko*to>s z$CEQP$@;dbDwO5O&pKht?6a!-(4xgYM>VL=R1+|-wT=GdOuvNQb@h#~2h!O~&Hv6Y zc$&HIkgwslP;Smn(qeRHxK_91M)3n1#xk|H7tE!@DXeVZ(Uu`_@#q+V15%Hy(s zZ2rWBGHauO(N57=U$MyErkiQC{NVWk;Aj;NmQ}A3Y$$0dr>LmgFViL z8*FoblIvbA3HvqNDTuMwZ`HpGS$_F?NbT44w)a6O%K_*qc>)7D8nV(~i*};3F4k*F z5`Ejy>dIF3_7364y|;C_uk%dGU-%TP2!rjZ0LpbsFg)&J>teB_t}dwmd%IwK=^4Bd zrf7Tm_QAvWf250*xyx?;Mc>;*e2092d{6p;4alUlo;b|aW#!#ELusqpNN#+bx>d^` z?%LA;*VNGr?tL==7LCQ@^zIbHOQ~)WQ#W}wuV@SB_M2_q*^bm1)Y2Xu6` z;6b~p7bWuvr!Rb?E#ES3MEgC+l0y5vl6cG~Nk;Tg&ABkpx8b@5G-_zRFCT2KKO_7J zl>=uu+0yT^zNpMi5RAfbDucRp_*a#k@V)_XT5wnd~R?M0=K#X35^pXY( z!;YTtpiB+>=wU&24E%5d0QMK^uU)#9GKfu)Z@>5+?>y5^4k~?;WM^g6l^B0hz8>HK5G)c_}qQ&NqR-Cd04 zL82Cz{DOaaey4we1MIcKI#FGx{ZO#h%S977y*qasPZvW&p{ytTvetAY2sk+d!42Ai z@}}R+z2&x=Jsn!tSYUs$j|&w@Zr=m{$9;h^_vnLkUopi;|69a-^l{D`K@4sKVg}Lw zvG?9lO)XI$XcQF{5er4>Hc${ydaoh^QWWV;snU_&11e2K6a=KBfGE8O2t`HdO?nSK zlu!c+5E9-bT(92uzHhDf$NS^0_dM$^uF0HpW@gW>zrAPDK$9}|RgaS`DD ziLe;FJC>K#^hRJ{r^TL)V-c8kX#?_&T_b9p`wnvn zcJqtl2ApYbM5StX#2i2IV(Gl$&r};>yte{bm!hDLym-tN+lPO`ccsEF%)Q7~IY@pbgs{Pi< z2YTK0&j)VXvD6AqsWHAA=^PjU9)`Vm#qLP!<; zlW!!4y}agn7*3<21M4yI}_vCtydfUxsNbXs|{x3iV|aUE&Su1W*8QHxTJ6&R%B0ogqka}?J!IOm1H?I@NI&ac$9Clk;qp~Gy zu^!_2fmw_jjPbN0pWP5lS7ctT_S;Ik;{h|`5j51$(FVIC0a0B=a8tXxj2-aQ>}%Kx z?+LSWE8l+w`~a7M1}U^FtX5Gxeaih`2#{5A*wVqRW7Xn1xJzD`b9rD?fxhXTo5I@? z^C#wEW2P$kNk{3G!#LwJ+CF?R)il*7yPcC2RNuUAXX$P>U&qN)C6%HpH8T=o1W@zE z+#{B4e5}EB6#$#M=vFazF1AD)MD}A@fOX*`5I;53spskZR?6Bwkw#>~3dqij-jC_& z%oiumYGhE-i{933Id3d()^e}ZyZB>2pv?O_x)y>)Tc6eZ_$*|x9KaPbZD|f-E<475 z^~g>X+siC>4}6o_=kpcKBEXi?k55712uFBGtKypiL%wz|`lEd>84GB##KrMRl~-IS zQ20!#umop0OPn3cJ5!;LeDV%*l?pNDs(ZCs%F$aM**u?;XpdKuH@9UX{J ziU4+Ac6K>&coSy+k~4XYPAK@(($X_@^MmH58KhgVMsGkuvSupw6otNV!IcLBm{DD? ztgz^3E4NO%xZ{+gj70LX=%?V$m_CbQWqsNhp?Jol?RfyAQfsz+CB=sVDY?NmFq_ic zwxneE#a>g(v;$I`^2hEvxjd0~{<1oV4RW`9c~eS2=xw!W_SnE+de8OVP`g5%6)C*# z?iA!fVQQj(nAqO9^@leX7#zzv8NBkw4|>bn)&hWf@=7-J@*{g~%+H`>n-PLJOoXt} z>%iGx323$vBcV;%_Bi|`mH5=tyc!GR$u^+q{<-{ZTEES+CO?r;4Vbes4@fEfeB>abU^KPm(-}^)Ps}?S*h7njLq2OPUrQPW z$t?jf-LR+izkOflJDp~rzh@gVWHj2d;w-6`OQi;7G4`=77SjH%0(~N|le4={fY}BBlQ43`{N-8oI-hFa-67nK z=IkL_D%b)1tsVV@Hp2KIj~66lVmeemusLM5+BguG%=jIVLSnA@3?WogLEPpT~ zQ=C{3lJ2SORUq4q?@(^=enw<;ueE%NfmnqBH>Q`D@{!N`ke*Kf6yYA=RI}>xnP3Z z63~~GYxs2gC9ln?K0&7!9hDOmhT1-7a8Y1IHa+>HWLh_A6oM@SMkU1Z`GubhlR4WK zTE%Twx*=(gb8v~<%+{l!*q3?JG@8XsS3iN{Mx3&RC?Bs3WO37rH4L7agUUyKv@+}( zuC~J$li=`Z^OcztkG#W%JY0zNi2ABesS*&&>23t!LN^>$vQ}BvJu*$l5?JUw!m^~)hE9u>nV@+KhpU=85Jq?e| zSO*w2!-q2J7@?gLEpFtR`VPk=(l~iFF!h{YQT-rTo?T2yjNzg=$Hc(y9HwR)qOehP zq3pp&@l&4qo&7mKxsK4oK|#jXjRl;V-qJ23a1d!)p z;IMyMvJJYPebuscV<)sk7XViq+FIFma%!zN7wcz6a=r$ZwmG@=ry>tKW0s=vE3N&t z1vy`hWB3<^GTRPjXv35khMDf=;6*YE?(bx8eSaWh>7vrYs$W=I2c5Tz_b^&TJ>zq0 z8Cxq&bz$=sboHS1DI47O<)+r@kn?G2+sHOyTZPEIq2>EeCD zZEJIWh+WOHVpf;v1ga|Pqv3Kf6^Yqs9uaddodSL*L;KBtNAP)}NcTBl$JI($ul5kb z_!Er?Z{fK(8&S8equ;hEW%YolA~GnOSUdD`H&-tNwsjgt&TCB>ou1<<6~s@ z^lQxd>obRO*e?KHi+@Q&`$*0{9_{IuW@@>TQm8*xfqg#u@S%y^?o}(@ z?XFj#sOLR{QdXHuYSkn?*%h#Ju@{5R$^Q=IhuR=<*`RG&@!Rcc^`?A>l}fqA$B-N_vbO!R7|Su1v4!|ux$U0SyW@O!+k z2Vsb!2u6TrQBp@nCSMv@vbD80kX2HT|Ke#%o+(%@nE@Z47`5Znpct4r?h7M)1|ahFqESh%D+#ux7&YRDoIU)Q@>n?!C04Tl-^Wko z=-Vq+X8o>44BMZwn_iP=UlqwNthTtcg!$@8lKZT+1tLS2_BRS$q976GAN@I=RpiK9 zvQ*o)oW#>dCCeADYLexHUoI`10^Wc>H|6KIK^hyOin?*Hshhs!@$bH9g}Si) z(xDUDNNzv_)GJ_#pW~$5pOM*geQO6biQq3vVC4(6=YoLW)f?j{9sp5#A`>tz%;c z5CYSdta`~lol4*Jgn&A`Cd(wDbPoVSe!rqpomr{-NcY)Di-@V;cVgtg8+E^UBjyIc z)?zwAg5U!>j7est;lSg{jfi~&e>Nk6P|d5$Zs4DKnO`*F*$n=V&ydGfTPLV|43;T)QcS!YfcG`GzFUh2dgWCRstKW z`$4t=_Iw8KFnDHY$5P46%Ou z>-+`PC-Qvy761ky#Q0fBJ{4cptwK}fNzJoQ!i`T4^T0+zGYuEbmsXA0f}<(ef{5-t zceIp{+QfF?MI~ipRy6qH7t1ym`Z$rR<*{B(BoZ<;BzAa7kVV_NUf{&}QaHBxM7f-em&a7SDk^?8NH-@k+vP|pv$2u zEU3D9%P!yQ{Dwqqv0kaKBUtZ3ogB%08@u4f3-uzf`EN2IL*L?x;0iIDG16olkvj_l zFXHdgViZ7@?SUPVxHbuYn%veyrq8qs{O9sI>4&sF>HX1c+^G26g&U zVfU~pyWiU_^C<^eK*F-dY$EZZ>8LPpoyDZdq7sINL8if%3OgA!cj$q=hE_N8h)ibM z_wV(`ZinMc0W@ZNOrA#Ny>LbO>L5V4eb0_t5BN!R52NY<_H**5-go&#WNhC&R{;9m zK7%%5PJ@DiL)L`eqhsm6gZpyP5sBqGKF*`Zi-{oV)k&JSsYdY8_GmdN8AOn(0Y8`M z<#Nlfz(2LN5WaEoAJEjXWHl+<){VsnAf(}cZ|Ne zp2L@W<=c}|l?$Ne^o%18waaUTn>*LvZuM~SF}9I+*b3mwCw>Y$6=ni%^-})yX>olf z?zX%`%I<8xiI1_x&E;BWDV^Mh_{{dXfu*VboEfbVe8VjIqxoz;3*m9;(4lacl8M2Z zMNy^%A1{2SXW>nKeGl4TtndIRnsGTVu8;d@{szIo@dnYW;)@b=wX0)m@bW`DZ)0!d zGIZ?Ojo-C=mKoJuMAOmk!rGWc6?~Vq+-;)HRU`rWeodJO1w3L3xQ#LiV zEKwecwEi^wb%*<+pddGpLhFa$@+CwB_|!y|wCokXm;f_pPH2m!JK+A=f#s3=>6@1r zOlQXT2FO5d$6~Qsa!si69ooA(!1716bUf>Q(X}AhzT7Y*3wDE1UuPG~e_Kig3L1*2 zQi(bGY%Ku3b}gS@maPsqadxsYu{lI3<-vvyUMOYHZWp!AFU#CavfRz~j|whM(-OeM zG1|DPbAJdQJ(3o#!RM4AYbyv3G8|bgf6I0_(*mgPA@bY(685%6j;9@%aH_UnF! z`raJ|jlJOIqHoFm=^3LA-?6@qZ?f%4z&>|M)ZU~B4fUYjZk0QMny2p%ua&t$4yy_@ zL~6@vV%3g(S&o)X!F?s7i+?CNNaaS{k$WRJ?RwjubEo&|9Mao|%wMwyYxO)1ARU0v zRUfQXOy}KEJnLR*cf1?421gZUu_fUiL3I~_7v)f>BhQ$VQ=v0_6KU?br(bqVfa}=- z_iK5!Yv+%onaT;h0);GfeJb8pqfc}!hmdbM1*t5=JS_c?;l5DDGP7WH&(n?^+u8Io zOdOOlD1Lv{WqutL{k#cJ%h*nx$w7Gh&`MA}Z#t@DFnFB?6mRsyPkyqP1tD*ND`)o7 z4UsGdlcQzkc0B#c1|J+?66HWf$K$=_bJa zjoV`bBKBLHheo2oRyE+FQ@a@@O&z0gIm`b<_$E01i=ph7CWSyIEGNt!&)S|+`@}j| zM2i34aLt5S28B&Beh*2dOtK%X49u&swmcxd@=pVgpSI& zc+a^GfVhp(@&uzlHMb0QG4*o_osQs=6r|l$jyDpc#Rf097VI#V4oWI;;dRYohqNNx z#BGS7Xli-Upqa41;*XC~pj>NA=bi>9&%lcrpd*K>LF#R^y2A4Ql_jC>Sd2~S(D#0c z-d+?q-V?=oKc&OLFE9H7$c}bxtH!Nfo&o@T}j)YR2J84}!cpZAo zLgKV;uGY#8MLg|`15WVK6u+I%?(`nPLARuiEnlb#R7STA=Z!PVcLA@AwKRk<-Vxj= zzY#BTkuJ_UhhJ1?ptuWXxs%^LU)9$=AV%9IYU)JqO-?;n^!2`a`@w(A;i>eVp`Y8! zoK<$fAWjfdEU1-PP{cMgjEwCm8g{4TITjxV61Rg)-UolYBbGD_YxlTQlsz_?zlJN} z;=VALGKyNpXdj8x6p4B$jQ~R5XLF}V*~*nc9~Luq?WgSs2v{4+2)av4&S6=UmN#vR z3pN9@wENF9Ww+Rf+^CqyWQ;ZHn3cCWThvvwu4JVYhMJ2TGqE&%r5BlFJLJ7wL|zHQ zl@{8+eDXsXY!l=^f1`r~35g|7iqkN&NEJImH=RL~uwk57^}+F{+#q9cJ6&>XoUDC1gCp#R$rmdC z1hL``a5_Q5CfC=x?O_brU%(+zS554?HOr;Q(z@iVo&3wm?y-lkG%mR%#5qL{Ys>Nb z@bf+61?R6P)XF(Z++I3va_e(kiE+H%fexi1|C5il4m~0_bbNnmg^}A&JHDP!FY5qv zo(ZF%s0r{iNqrt6MK~uxwO>>Hd0`xmmZ)+BEBW5i3x7-d6bG^iY}h7uVFTilxJY_!REqk zfEe~1Dzoni02QPM_1J9m&2Huc|Kvb;q3!e&U}jDw6u52}_mY1b66xV!>+8ML8|+sf zH2$^N80F;rI1_3Ar5coh4T=Di?_iLY#^wNf#u3KmW?k)m!Rr>uzEdyV3fVuGT@vey zerS=}U3`3?3*e${Z~LG~Nqs#R+YwNxbL&j-*(kmNrqS)0Ed4TIkrJ+CSp2+2BYvfV zX5PuJ_LjUM9b8%0j-1kWT+wx1-_I&3FMS*nAYv~PujhHXGq6onmbB?^q-w|1jxyPJ zF35WNvDxzXXYTgD15ep@`Sum@WCfYd3<_|1XjI5Ve}U_ogP%|N5V=4Ug;ne0k2w*A zO!!^{Z5KA|PE@}sL+53i)O98DPhEtZ_u%-*^XF2*FCbjLg${SV>5Y@In(AHV?v;J& z;S@NRLyc8PD8zGEe%z|3ThTi9GH|P$0lmB6s)*2ulcEsr5bOH2L0jt*5-H}f1U!4$ zR)9(Z2eoy_N}9^SK$aJ-{F2kp3;!K~38UIej?-ur35<2CJ^fi9%pEqhih5NWE)?Ns zhhl{3m_^WoLSX*p6=q!%A)}G);D;qw8OA}HC9Uvg>060g4db$R6rvXD>7A-4%0R6K z*e?R=2byv`-4vvSSiX8aRJIvghI0W1(yjV$@}4fa<5wF#&FKu1 zZ9hG(cbwm?0*==N6~1s~SB;bqyg2uTKz$>xhW_0o0gxOr0XZKvebPcRCRYD2y*d}P z2=JNTReBKr*Szk$C`tDzMe0L_hrvmYkGdAQ`5%to*W13um=mOL*4lgSIx?sBgn?n8 zGXrP%r?2aRPTtqLMaUM?A|$&6L@QfcY^g%10ZOp2xl33&?mZ+x1Fu>5Ol~C`4)Z;h)JvMDXYNTi~5z=$!2?4I6JqM?|Oia$a{} zOdfqd%92b_%>lKkk7qC7UprS1qF#Yi!&6uI9yoe=K$y^E?YBMNGu!-i&n{)R%o!6? zR#CiB0_raG3eAJyj_4oILrbnbhrVv9ekiI*ka!(r`f8!xUPK(m5VU0x7VSus$1a#v}xlIJX+q0t<3sRQ6{_4$~Om&qj9Rbr0irq}33P zxtB65>CWZ#KC`SXpNuL$2>fFZ?*J3-3qax(L0~u^8(l-%fxTwaS3!P<-VG;>?41~#NDsQ3%WPN8X^?d!_c=i;M*)X5dh+vabA2l2GiJ6z~_9-5H}u=D0XkhcWR zHG_9PF^h?f7yE&O{j$zLbvAGR=w?4!DGCmZi=6HVY#@xJz*NPbMGq@~&#|nxX^Q4C z@z>0KCPkL-Mt(ddKl@m7ng{g5Xw=2cT06bU+e&HQ#%QeuWRp}g1163N55Dcz8Qh)_ zzoK$7I6&^5?#&Xel4e%hnYoZwv+5S@kQ#Q!C?3jsTC+T)ogl+6Ub%0LMX6N<0!@D5 z!_y}PL$+=*&gQzO3Gh}Sx z6{4r5UJU{%FW*%q3^`+-(FZ+NXJk4fn44fx< zW{J$1FeK|dZm8d*QvNy46PrTFu@PLr^IG1w)ajE&xbU{+2%k^GS zP9%+M{6fq{%w0Y~9Ye*h^cu<{%k;CxrmhsrojOlBtR;m$o(!%VCi@!sa16FJ=%pJd z{ZA|`g9DW=i{%i=spC$^IS21*t}!u)*1N=2+~-5bxYgcNuPcN{Fy8w)NnSLFY8yQZ z>Z}jOBqnQqnblrc=MrU9wL;{KoPp{SH)XhbucBgCPuS@1<>dWTRBEe)<1-#kfYJ+8 z4M0|oz}7)g)`;^rfRw*%wez$t7@g=*h0;0^@~Rx0xv~%BE+@}(J?ZCyI{@A(RO+g* z^5`q1IGCiA=w4ISTNg7jBxINB1rig9a#A5t!L)H8ja!{^>D0>!qp>|f$(x$m;216x zo{yUq2XbDa0B1@VeV;Azpe7)yk*}C*Iacj%yN>s6U6MCAoff1{Zai5hPZpMWecze= z5;_F`8&x=ZvW_D2naAWIP=W#6rl1_H>=5|t=>B&WtY2=b_xWEcSAn}O#&GAyb!sSHEm&^(_zbf4^f)7Qu`#jT$T zEQehJ$r)V?fq5DjaD43Yd7;uQ2TMq)_TGC{m4_B@mx^P-B^vBJjuaHF=6e<^^U<|x zve{hv)~N^FNiNh5F6^TRgAUk6x@a9@$GVN^T8?hMbjI&9Uhs*@cJ8!3q6N;O znIg`N^c26Um~~(CSg(2Y*2Yer)m5xU_hLR`6_@L-?y#IWCgpYja@ElpHyX{ovj2!aD_2Z9eHKSQJ&Ppwv#NvY|r>>b8gV zay^4S^wW)&r0OvOO_4V{CSD3U)%IF<4sXYKy1F&KtL--zn#DQKOEoLDHx}eAnKX)1@e78|hCz*eWCjtwtJxg{ zGrUw$#NL>)18grB6|+HQqxizXdvDgO#YV+3lCF$LpP&?ZSuygm0BWdjWHa2ds_zh4 zBT9%eX%B{*n|s{fL4W?dmERE?mY|2x+!^DP$9|-|V<@FTp|aYw(_VpJJLcaW2sN*! zbm+IUt%ld2pDsvraWFCa>LH`tBu|D}ZUxsjG;neSva_+p`#g&dO58koX}OB2XmMn- z*ok5;D6OBj7HeWz5&i1%wX{|hrmeL8%>$jQJD|#g7PVX!Q!St!DeJwyK8dW|?aje4 z`|Jj4ms!8uO0Hd-jb+~1F@|m=kFcP@8rI_1>ky3u`>3xD-eFSPKje(zyKCN(_^(u| zvlc&6s#o4P7;OLKl)~9%@NAW4LRXCuxU&@bh`f!8!3Im%z(giuFWQ0W74DVDIqXm~ z-7*xlT9=F?Ec(_s7keYUd8+XU7Qcn%2*fa<`97wfxQ2t(n597d=p(fX2pk>D))bcT zy;!?0-_6Zba&?X`*mzGFx;Gu6MbNI!cgD~16nkSLus<&$40h%n4(6M=`KH+ z3JC}#F?d@<)B`OuL(eW&i$NpI`_Ze%En(72#qW#Zo2&O?@s{>5{n_smsI}dOl(69B zMmyEw+F?Ss5PBkP&@^Yr6^EX1{Hi#p!Xlqgn}VNEDs^YpYKNDCIQ`uhOSO+iYi>rC$yL%cE_rr?ucLu$w)B~{8_9Y8~o%TO`exR%7z9y zn!Og?q@3b_P*GD=HLp!A8b;PL?4bu59$^wVb`e~xip}v3gS)bH%F4}F%5_54O^tKZqq3M?ZF3(s~%L-Mx%?zINhE-%qfw$MzC{sRw}Mh)!GYv1r~^EF#b zEXI6IYDmWG%|B9iitiT@$n`q&qzQKub}!dmn>NL7cr$DRsZfMIHI_HL>Lui`o$FP{ zkhzeyb_ZEs)>>E86``ZaG8ZrcI${p?eNl{fo$|C>uagXNqbJ54TP33%d88mAp%yyR z2KAlq+am<0;LGaYm3)hLT^!Z+!wjRI#`x_dL}AJn#1C$+jx`bZ;F%+=0mBR02m%Zh zgkRg+s+H1(vTv_o9SE4>rTp1aH31u+9juWTJf$|?Yi%5gXW2uv*z6%^N{v~VHN;TW zVEwCo7W)V7HW!BX#$2C_q}QdyqnMAKr&f;SD6MoJkG^u%;gM+{gUb~lyNZ!nW#yhf zIF)ZS66v;jxuN~pwJ@m~=SW(y=0&g2!z^)zQSA~=)or$ooAXsl?u6bQKEBQ6!O44; zQFXDLqwgzhG-p@)qPRb8=}fe*eA-pfUTJ@Ef73F{5NTGvdsuTv(YAb(dvAsIsK|Zs z)iDvbZzJmci-^vR4VRw$PA`f{XJq^4@~$}q(&c7@m00PCzO1<5Z0xx%w!|~%yEx3# zFS&r_!%CnqZ!dq&->ZyF!VB5@y{}{#j-?Z<(*0-cZTkh0)gKR$wWEX%RLC1`JIhn4 zsHq9X;RVHmie8RfNfvX@n^x#ET0he6m+-QPlj-cp^mzY>SIPK=9+4dTbsesEuiTR5 z3{9(c`?J2C!&fM9|j~|T@Zxf5N0@kzR6doiO#cslhW3N>yz`<^g3niSy^lWhCZTSKU zhH+0i&%m(Qad>liEMMX=M1E8(h@c{xzS4!E3-sOyXNC}-RUGZCer#hmhl^OaKC0?rLA!NpHz9O{D#}E zD&ChG8cT2}t+GB;7!wndcYbf5MVOe@;hyGxzGK<9Zx|4X9v;OnHd7IAlwg>dqpWeQGn|=&8Lq1zUA?m(tfDTrHGUrW5MX)EG zGTa=W|D>Q@N5P?UlLdEe(;_QzLr&W<#(kS-QtL1z^}V^n9C6gX9S9F}fIM}1j` zfO=>mcdHI=d#KuzRwKJSKF=1BmscyabAv-F5`Q8dk6AvTyOL^z5AOA?aajd)=BxcmC+C5>|Oz&Qy%OgEGnG)smqMUmb?iz~Qv9X5Cp2PTv(u_PtHN zX&WC6&6U8{(C7n&Qc4yeO4?{_UWSiN0?q`o(yl|E4JS9Ed+Mh*Qi(FG*&j(xX}JW_ z^};!8(n!98k+dwKjyPfx;6axzU1B%P7fC=B7={|B?S#rM ziFX==^zqehKV`{QYbq&REpt+QytUu^O|5}wZsPA~&#)L)IAmou9Ph_{PS30@bdI2v zvxPuRa&t?y+^DLi{#lq%H>z3vliPtB1tldeb}hrcBumhBUS!(cZR|qrja`y#U(|N! z?e%eWQGjv!L}1_6foo7B$K^UFDe3?r)$K7y>#F&}`WzU(zzIS@k{(XlcwZv>~*4dFZogEi)dBsO?Ed7<`5 z?Q7~{#G`)C9J6qq`&O);dbs?knzlRyL2C3^w92t})!PSQ<5~*_u`J&CntF}QIGW}Z%<%O67Y-9_hzH@u>J?!WP#0HbX-3Hw zro=&q<@DLtP@d=Aeg`0PpG!;oiiF6NiM*G7YY0#>1t^$VvS$`nR#ra~0!ZtApWd#G z%eIvp#qH5Xe#R6dhLSy^8+|15nK(|utw(G2tg_!Fu=*;hI6J4z#1cL(&r8n@nv7O% zs#Pjo$ixd)ecSw49^LMqw?lIfHU_9J;dQRRoO76EyLyWBi_U9RT4v%uNc1w z`EI&c;dJcLEjUY?aIWeJJ-Qh1mOw z_5z;EBNej|3tzhZD3-A!D*S?iebY~0tY8VY)hpI+&CbhDKW1if`YJ{E)tN~(YCI8D z=pGcH+THmPwWowNY((`FW6HUN-X!cx=)R<^f?@>2G##aNix|!UMZf#4Q-6e) zu&Xt$ z23G6|!+Nxcb`@qwR8-WA!wbyHr+SpTmsjPqWuSPy6GD3_KMEfDqBbx{;Y2J8I)>$_ zJAPzcN{rI7);!NFDuw>r-n^rBr{`Ay37KzWlHE`5lPh3&cMOaq-C#7)aG+{3{5xsX zR)<05sS%Je!zET#^@021eAz_F+P7QSgoc-}*v$1-{XRBrA z#JIR?P?-u&UGc_Tmt{L}+Qe=sOw*yBmukgLldh=2uNfG@76UD}e9fI}?aZptWfO;C ziW%rIZy^pT%vV$iBFHH?U3(`WYv+D4+J<~`xfW2@(SG>Jwt_7(uWUMczG|h?J{;)tY)M|R27>wR zwj`lDy>L^Y>6?~}H{Y9B(i3corvc2v;syv?oUz&0TqeY@zw88;f~sN|e0V+nM4|w? zHr{x{!jz<^ds3!+5i5bEbX9C*mOzctzmkY4={jAw>E`Ln{M42Cf!?}wuWA1)&3tI@ zror-%){d%ktN`$J3C|Kn(xcnGxSd0j8Wi2DM-QsuB<7FPNj)rLm>3|x+oaH<7}2HF zU(kA|3aw;8=i61-k8DrM7V_&bRLYo&v>EYlV7@)FdegC<3Fptq#FV?Eq2WU<41pw8 z&J3^QdaV?aw9A5uyAjye+QE6_%eS4~Z++2$ZMrMc`-Z1_Zl^v``=P&_MQxL?)nGhB zn~JKc;K-NcNfdU##%Ol6d47K0w01^`p}xKDO$$ODNXL)<;wFhmxFXzdx6pFjO|sR( z!a~*ST~dj%#JqP$&4Z|hyU68oe3><3kD0)8fn1J7tYmi__iDKr^}>9ww0;eKn5yy8 z;HZlST;=XvY9F0^mimg}3vew%sVner?4!C0FwMApxvxncE>W+-!%Lw9Kf>tL=yQcc zTo@pbo%z{(Jx(}z%UJkz68)d*0W*&)o$?KkD&A;uxNhHOh}JSAHBq})t%SppFHjLp-rimrc8BquoYZ;Q?eP0Q7oU z0wVYB16=vsahMxIe{@WLa1edOV&BcN@dP?6rj+N@_(J{2w|dmK*&Lx8`!Xlx;P%KA zvk+9uqYlWG1^DbZtx+)4#>J(iUfbUIG-j^^fpOr#Ev_SEad!paLxa%VCqETp$2O~e zV(N^F!x$JCvaxm+(0e|YkjpbleAOtKE=jdK{`TrcyyyCa>3I4ZtMGhJ?O~J3MXb>Z z@82Y+zkjQ3kqwU?`?3nYiFw_zs_ zZpMME4!}k0N4@q!SQH?ng?T&jriL6?X%ME2nUJ4&nl07={6NFus-iirPST98l%U%P zXn^kawt42u9lX~HoJw$Fc%z#A9umhnj-O$&JV1ICzX8+rm9gzGAvdfM&T=K6?8uOE z0>W^h(#LMG9saahMvwTu^ofOb7NpQDZNFu))VOyv+1%k`Qf-cKlTUVOnQuX*cR`VF zK@q$b#neL@0OdfB5RMNwv|QuN@BiNIv+F!KNrtw}g6R-RYji=FXT6bBDE(pp|IF&6 zjT#_3Ur?m_RE~<`!-OAW3+-bI%VX>9g!T5Zbqt{yGuE7k)gz6Wx^E$A&u1@Uc-VVo zZ}V$zuDdZ}=UE_+<81?LL%jiCwuhKsyBPYvH)T5%_& zm>_CvCS%@Qo_A>>^dy#IY?O`sZyV`&Pb>^~7#gS4R-zM$N`JFB(;~%VeO_wuvt^27 z@#D@)w8AVb1-{nTZ6pT?dO8Sl+Qh5L8&%j)YXIdMCD#zGn3##>>QO0`yL5BYkT6bpvU5#5U5` ze~12;>VFyLubA$upuZZ1sG9#O$6prbuSxoAO@Da`e|?z0?$`e>mE%K5=_?9rqWi42 zMD&^e<3Rf#=;5Wh@D_OB9!BJ#@xKwk30Cwe6QE4Lq)OzYdjJpuVLkAtZ+}j@?80|m z;ML1`8zDb45uZQ!r`LYN-&QWf98mokrm9^-47B?ndiO^tF6y0!rG%1$VlGA>4SmPv3L@34iAJij8-Op-#}6XHq7B9U%}N)*8kVFOXSWzMGASvNw58H zlyxLP^QZ)o9?3&QO8+;I%WQe$xDoKbz4n8ax_T>dJ~O}OBlrE!`DA|ReKvj>&|}<_ z$PoVx5+^~9{3mYQX%&1<_}`eEuqe8Gbqij0q30o(GahQx zzwj?ZKKj#T@+T}-qCQ~{IGzC{pF?ZF*E<&X>37cPPc9Rt`BD5TlD%dyNIen^DX~vO ztYeWl+cOq_GMUD`s`C$X*9?I#+^p-Cy&| zL^$N%;GL}T#&aFwqLHNdzl#R>8+-pnJOHy0um7r%|A)aEf|R#=!P$oMhaYX=VT~Vx zS#2;?)3=&=-Oi+DU+ob=o+d=YeWZ@Csshe_QbfWB!47ma@QHYxVg~{t3}k?G#ez?y ze}qHI=a@kOK$j-LPY zP3n#KBGT98;{Wtb>W%m!(gn`@_=j|Vhy9n@{~u$LF^6J=6ku}#)E>IMjm}h)2T1^; z9Q-2{;}pVdhy1s7am1CkKYRecY&7ye07`t|2~h7=7^M?!E7bMqno|?@Q7H zE0SpWuQd6A=My&;gM)x9sYa6IP&&F>hWO~XcM$@}Qv%iSk6$qr0^|#u2Q1OxI!a-(FL<3j&8R+dFHK0BdPxPK4@Aw{ou~Pol zCeqP1qQr)W?dr!M5PmTEznwrJf64WiyZ*|_zuwGWwenX%{Ep^!h(yL~8b zi?`uPqOG3;EP)6Fjwu4{?H^?S(>}}xF`kE61`q-FRGI&&(F}w05U;ubfvl?jfvSDS z<RJ)7@_#@St?tx!jgm{Q737_mZO1vl0-Qv@R7f1!fIcr8roZ%`j> z{=hJ0usHnL!F=KvAdtydQ>z*vUm+d+yR+AuKWF=8NGV+P$^AL){=5LN&ZvET3))fG zrKPqsQuc!qHoPRkIWx7kss%b?{{zR=jcAy{x8?6Gk(R=184FL@0jR4Nqb%fCT4r)= zn}VJIBO$hraUId?+uMVj;I*H5P6q#;)+C?^A`b7xNgQ$Ng78UBfWE3<{Efa6Eg@*~ zUm0KX(76WI`ph3#^8~DA7*SPI<8_tv_>!?!GY-G(3vM4r{)sBr{jI<WAAr8^$VVZdCLYxR+TwIk=2d<*S zH>dqFdsCta(p%EmDIFb$C@SJjAaQ6Tl_hafyNovHz?`q2-$%L`uW@oNnxSA-RU>R9 z3a_Wtbw{6NyIWum=4MO0^~=Av^6M1v~ zxhiC`w=E?Q6z_TfhC6~k;4aq8F14?NY{ZvIM?97=oR2yNNRj&I>LD;3 z`7Lmx|DQ9q5t35=TDgm!IiH32q zohI&Mn5pSp2s=ADAu4q62y1j9*nN-){s7{uSBRf}QTqHtThm25^x>G3V1HHmH}3Uq zg|(9BCTr^a%vQGXuWy__0hv~km%rF`Dni)#DtO=LOa*^AN-m065xV1FtbcRRIu9+8 z%EuL^_VB_6HctVS?>Eud9TO^P4HHzLPhbT4TQ}>aU|`x4_A|u2Tr}gMo$5ImS?{k+ zOr1L5b@MlmcmkTeqcfy=ArQA@dmZtfQz;s? zU2D{k4X56pYI|Y}ix|=o14`+4Cd&)Nvk9(+DUX|E zJ1o#yKhDc_r8@zcGn5U__IZ&?%t1nGFI@Y&bNks;m*3((_d)&oqfHfJdj$0h0c`<(5pFX7 z4>5NxU%bh}PGkhd6z%h_;34YY59ws9PjR>-UW1-`&~>%h4$pt`!kz@y@k6e13kZb1 z7UClg;;m6hMp536N0+4U{g#;mwqj#_UvESR+<_>d9A8Y@fR+hhfKZnQww!q%pAYd4A~X{oga~(iA9peiuhPw}T^yBbI@1*kAU+y@aC;dR5wQh!oOL zk5B2j=Z-uRPKN_J@uV~0<6SJO92_r#{MVc zS2j()OU^ad08z4Jm|xxmHj;a6l5pCqo&1r8m(bwMRpzfZfr|CNvgMudz^WvUvP;df zYxzP;aX06=6RL#*eCP0#ZIV^y3gvo-=iV@X?Kw7{cX&^`Q5{+1y}^|2w)r!3AE+*T zY^#iUr4}r68Q3YJp9$eMeCyiuV?kAFiDP5X(#P`W`jTbQmu1&2zkZ&o7|8e2&Hvj? z*BI4y?S|^xWAjCoojF58c?`3^HbyU1WQOW06A-=CvE(>QJ0T1t&7)Pd^VHtS$3}SX zzhYL;;G$(g79>hP?VFcQ4RGSu9D92J5|9_jA3uKD7{7SWujQI5<8d5Dr3G0BzUu!; zdBoFQ`jF$LoeTanm4l(l(4|1HovUQI{mtA<8RbqcN&FXnZ+e-+n$(O+fmQjk9Q>ba zpXa0gss;pb+Y5 z2@3j0mL2)$g;OJomzk&pIcj()ho|HNSvW1GI(h8Wpo!`ME$Kheqfy8F(k?&CMd2Kk zch;#Qmgz71G!(P#`m@iRccsQO{0EeJ{dWhm$+`;*0$I=LdZK6S{i?ASBSnw&-7^8D zrOMM6t}Y&9^S$g8>5E}adHQ7Y=y!<+xskWI$a9l|Ec{PIm7!TXiBuKV|G}ux{co{i zI+VjVg3BI@LxB@C&7GXC_x3zTfykfpn-Ol%p{OdXj?a;2O{0i~Vr#76qNU<@(DA#@ zSy~kfe3*6##O&a5`rIepW0zcyc)(XLu|GjEkK)j!myR9}&#EqGg-DP5CO>eis=mmLOJN_W|NTpkvl~^EOg!~U zA!K32o~@Bu?`-{VRv!_@mCtHtgdr<$|&?t$lM%LB*j}CVEu#tN%RLsav zewE}8_f{ekx7$nw<)}~mrTDAQ_qBA$QaygsX~7OHKdbur?7j6i$}`lRKs}PbPkZ|P zak_k}*!)0VjKyv*hx5k?z1Q_ctO_nQH>m@2y@0i*Pp#5|1sihg%YqHvS{@L- z`1!HdZZjF77mbaEDEi-COc>;9s$uA9^H=@U3dzQ>ln5A|oZ~tk0 zEW`>`q*tvg&ZJ~YUa8k!XV_QjTYs5{v*^in&XPY5@HfgHuBOORoqhEEnzM`;S;iGj zLwDuL3s;$rBjZGo_rlPPKLR;@rj0~VF|#5hC>pF74QLt5$I~u}|HoiduYLJ+^N%$5 zz%6qis#Cn2r4E$s+)_J@fZB5r5nehbO${VBd?Se;b8e= zgc?MpxrHJ zL0x$q{5=MD8EjzWn97O*1<}{6g*WlgUX5Gyym@=C8GRv!9FqBp1N6UdSCs zf3>Gnn5TEIUkn@FA(xqmf5ivqzH)qZJJu6V-)Jg&j$#&&FsqjA1=_1a*Rd58ZN?uP zvO&igdd?hcnrsNNSpFZL`UKtn#dHR+&759&UGq802Ch%$T>*6mTmDn`ldhE1nczF* z1^ZWnDglJ3&^NJNpcLh(RmnuL^FOHvfBkj%=MUwL6i{37zxO;pnC7Y{eeB_vI}{Nu zgAN_l-h>?&R*V2=={aC&J`KPSS1$*?|DTVzbHMXYIj<)D7XepQu7_%~z9Ao)1x24v zm1EYDRi(WuH2oxaB8U8`Fv3t>#a;3Ir(@fHq64DN^oUGt`215l1K+oTsZQvz1dkO_ zbj2Vf6RCuc@wURqBB^kRmn@9E*d-^Av~#L4tm1BMlpyQ3lDkP~*L|#~!}J#x9`dpJ zRjueJ<8`;FMn2vyAE4C4tmf=o2N%clJx#~Q8+^Xsu0*zC8Yr9~K!QwUo{yt$*^2uA zQK@TemhkHR`JT4pQxx1djNhjYdXweX;F|k><;}T{5=P3aYUCQu=sh?VT@C;@8|SR=58iW_uBlO??9`(gK-ZjOySx563L`I@wR3}G;v&r(=hOE(DNH8f z?Dv&erm#WkK^`S`Kmvarf&WX*U$fizEHlh^4^+@ zVwfR&7fyzsru>%zUv=mhkQaFDiEz3cs^CcHEq5G~Q}vIKM-;8xOCNLqNZ_C_Zx=31 zUgAdo^P=~>(62Jb$a+%5-1d$-d9nUH(@SJo3hx7M9<`wO^z8mS1`glCYdwGIdLoKk zvFPQ==cG9=eqnzjRTLWq{D+Ul(@+5Z*77+2E?ixer5x4)bYXJ2v{x;J2A_leh_ZE^ zflRj_DfTEF+wouhn%C*>e_*Leu9)`fJ<*s#_@Bj_=OCgRs@zLS$ELg!_~aKQ9If3g z5`k!}UI;V0RHgX&uf_?BQGdkt3_g0Q_7!@}bzkuA7VoiBr0A)b2C0HnR);SjW&W7Z zWzR)@Uv=}@e|4|r{_rVJ%F5$pAdF3R4JjKwLvejj-!4zOp5`|Cl8g1ioma&vxV6%6gb%8LkwH|8chN zH(KZ~swJ*W&ed70H^n}^?blTPK6XN?U@|3yA}<)(@XCTyb@OSgAX%att=T}v=&c;D zJHZlU5=DvAc^8ZfEA-}hy;0v@a{tYj_1A;+3w)ie!=B^thR17t{`v|t#J5G9gO!Jj1cglyw616 z_^e#bnW(==4BNewoZNbfHr|E*)HA@THMPG}VL@)IvlfR#FdrAf0=z(Hxk^y{X#UWh z#u+w`$H?5*Iegls|L!Mc`>>p_IQ%Ki$p0$c*WkMnT7N`K7VW(N^*pbqpUDY6%+16K zN7jqv!*-K+^BwS$8d8gsr2EFiNSY5~+B`Vzg&59=z*pzS|-4Esf(5>z4<@n?_rt#u3+%T6t({C=4^C&*DnR){d%W5 z8bu0Vb4l;I3dV}TbUPL3%Y{#!38UR`BB8Pgkz`Rdw5;X9vDrz=AIw6LNN$ZCpxd+W+1-^vuQs?m-p5yf@;44)x*381Y34Gtf zuj7Y)?d!4=S87RI)Z8jKD+Omt&}$BW1QVI4G(-N2j;DF`MaigvO)EF$3eU9!cx}qF z*hq(k{yf5}*V88TBs7Y5B!-Z^FPDmauVBeV?C`n&hO9=`le3Kvi6@wA{<(g!btL&Y z2H$;z?kV4k-K-fK#5Rj7E-V71UlU%9@>LD8LyIS>FgJ^SMna~OCR%*ANr zd(b@=v;Mk11a_IKa3@NL$SS{(`)?^;0^;r#ApSjfdsMRoa{VIsf7NT9d!A#8_&Z- zt@K|sn()SwUTw{sSAQK4Q&T&rep&ADU5yU7cQ2H!s3moBKACd`KMX69<^Li{cX= zKmP?ytRumDB|An>{=8l2dWCp?BejC+cKoLYbKbfxi)s5ZB%eK*Fw0l}pa zB<-MFI|Z$Z)t|B4U$#G6RFiXbFDwyA-{TS6S2r)S{>w`14QMd?`is$h1wqlHcEci( zrWz%QOFw;`t^M%dg2F$9nkM`9lH_cr3o2DKDXq*(Rz?8$WtB6Zby7}l?piHKix~MC z9D^U)I4qu1d3Y#j)g0!oLv>aCuGff(xgxexnBIsLv$3XY{A(0J8m}bb-R_Gq-dkUy zL{xvUl!6>p)TQHEAehY_k10%)aBZW*G3HqG{n*^dtiJu?*Q&0OUqlt?DYo|jHL*fz z9fC6B=qGED4}j|s)>v@*IS`WAfR(Qf%4i61h0zGz_IS~nozf}D0C!&{?ilC<5V12y z!t}U{iu&)g$lx-oty{CA{3{*LmO~M;&c;^)>J9AMAsCPEoLXC3-a<#3k zEpZ9hRyKZJ{OSG9wrsns^`VUfe4UP*F|#GDBuLlyrn}cQR9jQRfH4w1fwQa zNvOrVgXyWp=E)#x>Q6p~@xO=KdH#{IIsukYLrJML7FmbUiw1Y=_0XBGv- z<34YDXSo zS-L#4{q5#amsuOw51eoolAr`Y;Yg{rG^HT}FyaCb1!s+9W2WheK;_(5C@CXcso+Vf zovT>s)^w+XPSZe~M>c~Y9zbRw&imQ_Z?b1Jk9qHQN>w9YlN?2VuFT3aPhD>e*3xw1 zE_=S+){q~R{*XwV8BdqAH!_W+)Nxn!sG{2`v zkO(&n2e1-5c{=7g&4vK`Hp?bS)X3wYut) zWR61D!!2aJj{>j-}p%!MMXUG%U2fWbmmWKm@{69M#dhsb9?6y4v`QZ)KXTqu1|Ne zb8+|;a>J3PuUxZiz(AdIiAt4h5-O_YyT3iL4oosi+Z!>2+H!8l<~1!Fv6nY$_`d+v zpSTeiJPP(YXs8R$6gPe8LPXPp694StFSvcq~*h6vyu|+ zlT@3wmoTy4F)B>2Tyl%DfY*(M%JRoeu(u~3Kl;41A%aKezkGOTUZ?88$*4%I|C#9J zx^lgW^6o`_q-*d0*@zh!bS5-@w5>VFgGkZQ(IcX&-DjopR|ea0>)q8uM9x{=Zd3V8aqgC|*;+cm1?M&BcwfnS zJVij|feTCXIhV-lX;C7EdAhQLjd!8HabLmhC2n<_=%H<8csrn-$IU^-&$sPgbwR^Y z?60U(-|P%@^BNxp<(^)dQOmlVP%{@PXxnd%mSkb*TdZ;Nxj`}<$a_fKD3!J%R!Kit zK_AS7kCk=j#xw5Vnc^%7VLWxFIk~vCU@_^<^*P#(#*!cKAh}Y+f?Yr_mYIbfy&oCf z?{Cf)3k-Vn-rSw=a)P^P^a1d0uh2{mU&I+Y>_XpgfoAR8GasB4GDM5pX7mdXF8bVL zJJuMIr+J_FfnQXrL3%&)vdPqtuDGurn&!ArJ+!#`lcHjQM;g?4MO^a7;T9^EApO)I+UG4+E z=t1t;mcN`|lVHYx^X@?Cn93{^I?}+H5-IS|>m`9f+7Z<#J?7iK-3>asB`nZok8dLR z<`4|{NcJ0|aOq*l+=nXeiKh*rqblu)aM`YI<6hI8Co!*NA*U_~9h8Jkcs^5^&mS5^ z*i=s!T~#?Plxc-xRFQ0knJA69H#Dbn*4y%Wr5&zsZg_8Pl02IHWt5fO13PmRcZYa& zkJ^j}opAi)o{^m!ex4sXd!_qPeO*;Z67Pgd=4N;9;nhrC?_Y232&;U)$f&(j(!;LO zUR3*XUupj(N^sPpic7#)3~3Eazp}v|-b_Nylq_H+0Kmfh&F;gyN~FrpBrA~bmp236 zv2~k9jB#u#D_Lo@S-aaNO69sPpVhjnAO2(d1Gw||YOnmN@4O6L_W7EDp>(n9kQgtw zE@>hs8&YgNnvZ-qBCCRHyaw2DY{TaUK`9u- zOcEZ3yeRNH|G+Cqjo6PS8!Y&Ct}Df0uO_^op_aFywQlt(gMA?=d6f8Y&Hba{&94SJ za(+v3BhbOZos7pd@!d*Kksq=KwB)yc1iS7BRF841R2-GjCEk3bgIhp)XdX6lcoX-e zwH(5AEh2~kSJs+q)A#crn~9i^%p|u^g#Tdwt`{Ve6cZDg;N1S8*EC2<4noB&MXA)m zL~_ub6V$#gQl{eZY^-BbS{-y*1vhIB@-=rSa0wePg|hGG?p@8=ZGxHYt&i<@t8>bb z^Q1I{z>YHv@LTk$N_Q;cf*!%%gu|!m;15aPeD@p@Iv6(8j4hvRS>nc;e^l-s;qb5c z^ZeF;(E~;M7lHqzj6u$WO%H*t!^v&;Ux08&tQMi?RD_!*&@__DqnjP0n3p`>f?umc z31y?!`!!99azhzLlTEOIL}*fH@2HglTP8_E`DnaeF`RIo+oP1M=?^bRIw_`7?FU~T zK{AOwK1rS`D4s(0?!kfEeeT&fTnI4dbV@kX_Ly&gEP4-Exz3Bcqh+v%driK~WK60# z;9b3=pA`mdxsjj{mTh0=ulJY$;y`4L#cPUE$eT^S7?^Xv=Ly`^G$u^;(r zM=3mA(G#KUM^wVGsF-V5v`+i_?0fvOq4w?>Pv7paoXiw`a^*mr*Kci~sGbbUubGVU z7r~*oFfjxpL?FSs2dWlRgwB5go!INDJzzC6Yl4LmG@D@jt;^bPNaVXJT*(7js-8*U z=8h}5%H#N7RqM7eMwE0+0DpMGMmcC6Q(d(Q@6i187-NOf;D8j5eBUl{e02pUh0TfD z;M_4kx?i<4dhxB|!BVqr!Ls#X+O^n|dt#ih-Jel(=$DH;2d$c}7Ur}-jr13|B=XgQ z9EwZo0&GK;oAq>)j&Nn{+bhcSj}EzUPJ7{z0V7klunud+x3D4_BWx}}##Q_cV?Ljs zAUCTd+_u{`lgq!avzH|4W@`{5%|Tw(H%UoAfR_?Vy)u*K%b!pCu)a(CmmR0H3lFc{ zTB)iUkc*vw^?uSKde3PntXKO8f{ZvIm0tM;))7T$z!XEnkRmCcR>5UZBT9L9OO@Mq zt1xG1Hy+z97Bw zdIvqR@?s6TBUZ+)xR%}5Rgqyvn4NnDm&Xq)VMhx#{ zF($gFJb**7QEs^l!FC0LNXpY5kY zn*S!u;S{Nj{GLre#cP5k92N}i(z+(O*WR*%QEgHoz8EDCr=T$^tIapEg2l{ZUg@Em zPD!gyC%K2Pb&03GD?+PhGEanU{)>?r)oFG9UEqyh3$MA-6W;_Y!53yM?@ZPnj25rg zR#*kVC;X0fE3Eqe`QPqKEAa7UVU-cB0#x^K0pH$J^5s4sswcn$=%WA|1%A`tlQe%* zPKew0kgHhu6rAeyWX*FsoskwHoksBY0&*&z)zY$s{9O z$njZsQw;!_I8zH-p_*XPy@1b?YbQ1kThGh(iBB-C@yhSN4Rr1+#t_)x8}khY+|q|> zC2Sm)pZW*x{w{xaBu!>x+U4KAZeq=pVfMe*4{Qdc{Z`BUogz`{<{UdVs&c@{LCouc z@~fqEKO9z@M1!_pbrNB%g|xR17Zib6j8V9q&lLx)?6~N(jvS~rQ{fG2D&IOvl35DH z3`E;RF2Z918pDd|l65L>ZdRIY2+s|~0W+r2#gNfK`YmAO_tP~xgkbZ^aGK{l$0uS$ z=|<(Ml3Z$63~*bD70N!Rfnyfcf8v~WULoL*F_klOv~Nog!@k9Sem;zuuzdfs^rS(>mBS2%gZkwyyT zky%nSvm{4K8(ATZw(Ku`391*5N3B1M4@9`4wTu&81`DI;cLX|fLBk+VpdauN9Qa}J zWUkDQ_6rZYK7DvWeoY2t-m?tB*+c&+Y;NPivn={ zh4Hv~GSN0!@oRzv$$|s?m)zyR^~jS!amO9G_Vv#~_~yvIF9_dPye&qMXx7c&rit!PTAeZF971Y-{>faRa9LH9tGB&I%6FQ~Sxqlw~R3M@q20xj$c=;{B>OQk`s z6X7mxhF-c4O`c4Fv5D#03Q2|E*H2WV%vnmF1B5S5%5!*Nxxk`f6Y*k}5|{3^%f()I zl1+B%Dp&J|h`$HXPaBdvCY9!ei>rU)%I_?uD^8V-txshNXPMn&kLMaf0@q!bqwbE8 z<3@RFIOO^Sf#5KM17t@o853T&+=;|UU~y~X#xldNQlo4S4?&Ej+tvVz7LeT>o#yCz zf?6p3Z|qLc%k2qB;Et1(nUAQZ7q7j=9Lh#q=_q{EJ|_MX829c0vy~!>^dZS&N8Lvp zj$bgM%?R(ep&)WH55P2`HG47-MqUT(sYuMyal%MxQR-tPHdNJ2#&2QL781S|+ZjtB z@T?^rN$o4t=^8|=&g4>^NWaD@wp)ZQ3PMpvl=gg$3ck(Hfo{Ri-7|n@ zc|DvkbE0|{VrJ6_lvYUx6b&pABT7z0=~_z6o~vF3N_un@ zy!?>W%o;B!DYttcUF)|~$n^O!#_%y8=cpO=$+LPwWif193W7CoV1B69Zpi}-@+$V^ zNFPz>H?U?utWY`VA~Z&G%%quz(PW131|x|bn|_9SFAN$XQlh8{)(6)D3cfyDPCl8v z8XdD&>CaE@0G^e~6PWj|ezs_NIf%7Wbx;^uGw4A*30UZ{2@lc^2&F5xflw0eE}n&Y z6#enP)!d!v<$=wEN17|n zhVCu_SR<;pCz!+X=M{&ykzx)C5RaC|-*^C${8Capq43m9zu~gIvL$0B_urb3Ga-Zw zJj25CHRwVLY1hIwDN3*ss32qi%WlXKBntqhmFGLaWiKJqzjT_my90VWmM)g8I5^q)R{ti~$S}yuK^#6XOu6X%F**b0DsE=#|N^ zVNun(WcTsaU4AFQ&Mx)}MH0}XC`*(8x<&78uZNiomr+A}RxFNnlNn((^HZ7+6t8)f zwoZv~>opkyvL7gl?xkeNUC#Y$JTv+})!zq+URHHvKTa7g;}~c-4RpB_*x$ zz^#Q^5G@$LT36LZy~9QY5zH9wX*aqPUBLExcoUFFT}2r;s=!@2m0cBqZh5(A?lwID z6-0fWgG|uVPqy!LLr1HTAJ8hxK?&`VW>SaIiLi~**a=ztxm3xa-5kp)E0pfToSN;8 z?N)T}+zz@Ba)* zAro>76>~<~F#bI7LySWLP?{vdfD;9qwd0`;7U5+u zP#)?UqcT$$V7JfM@$sRJD+=>XRn5rS4GXXK6>z(RZdd07-8CXMoX`s^2Ckc|$sC3X z!WSb!m{!!kbLhJmHk;mH5E8cXR5`(9=MLuH)SwTd8lQnPCh-%YQZE3f0kLD>O?+N` z(5v2R90<$+@|UfzMKXqF;T-Mf@&q$L+8f~HEW0liE$W6^{?TryRa^g0WHV!Wn;4KW z>EUFa=C(Z z2c@fQyr@v%gd8Il!UXx?62+XqJ12%WqqY)&WN_~0*+c;hDtEbRsj5pJjUzIWU>#Yl z>xe#$0rg~y9@2212fj-jV8hE>A{wyIfhX2g!tz-dK^YjX{BA~kRz{E7%xX*H zfO1;1fGvt6RGfY0YOr!w4^z*0&~Oiu ze)Su-Goa*sG>|H{_z&qLF|xK6uiaKjx1}&fKy@*I!EYUWdLJNgzZdS2%9G&Kd_y=g z?&F7YHJlNd_iCo~8E+;edm`6EMu5>?q8VaGcXN5l8Ffz?tKis=DRU|ZF2DYr7SIVv z0Km#u@QF$5w=ow)lGO+4ypFw^2rAP-|2sDIoeX*hS&!1e;PWz1$8y z2yj#t`uiCJOZk^A{H^GexjuJ{KI$;WjI_Y0ZtmiC2#nU~J=UNdk#6CaU$p^4DBi>1 z9~qDr&6{hOMc%Ngg)ll>5K$ItR$9DK!m;7KJB21W>y%6C2(sM%L~wRB1bn1{vHvE78ZYGaT&>k#QfV~?YXAzDmc zsGt09j@o$#pEC6M-$*k5SN3u-`JupN*)(s=B5-v z+Ct@o%fps{Vcb9~rbh;P&;>;LD*(c6@e#?clRl((Fm#z=WWmn9u4mD^{hV+kPKl>_ z7?v!;nc+Qvwjq^Z5xyFUK!9%$GQ@}n05I^l^^T|zm+t_5zDYo^a;y3Vz}#EGEkXX9 zJ~I4!FCJ04QmUWidylE8obEDMRAy{^=Kw2DhgkzNWKzAB*HPL$(EoAXUW&pR&m?(_ zelocunzv8^T#<90fWv@7ETgiW?=Er$x9)5_Aulj*Qa0g?bG(0*QSl%=$$Wm`8xLV_ z@k$7hp=RpCZUA}0Q#^jvfEVI7FS44U=xDRQ`_Op|0*4McI|aE9S!`~l($V5v_DRWv zHZYOctt0SaXf6RgN-i&w$#I>H!w`(m;Vd|Od1JpA82q7M4W+&%tt)Q5n771n_UwUX z&CrvFWw_)U!$s)UZ!*N!2Spa7*$LnFyntl59~2@Q0i)hYR+&`6L7e&zOqRjZdn9k! zVFu6HiP=8H{6uchQA5dCGbz-?(U2Zetf&n6j>koEdufpx;F3mtfxyr(vQV09@+W) zECTr+ti#3eJJCg2+`g+tatKeYr)x6vkeljOsO8xpGK!3-84k!K!RM2b9^yRg#@5Sp ziN+I3!wAEjX@Ky@V)UwrQ_UlgPrS6}G)dPbFSjIdde3e)C&nv>4OJlUyRrL9rWe=3 z4*+z3=p46EyC8_d%+e;w_)U(TlEV5lB!$1;_ZfN7Cq|p(b=dJWHf2HFLSh%ciX8PG z6Ng>l@N=Jis|Iqy@gYxe;%fZ*B`s8PswcfyN!ta@ulId1=`tY?;oq^g-)}i@5@4S( zh2(U@R~w-Ur)q$G##+tcmCAlce579W(C)bsP3KD6yH_DA*vb8$qRp_J6{BRI!>xSM znOr21w$*sZ{2Xag!hQyD3#zIBLQ{45}T!W0JZC>0V=TT_zLyXcPHl6?!` z%DGiFR~qN)2P0{aFbDs1BsTDp4Y4f1}^4l?YB`i<+bbbO;*mZ#!7OpuEJHelka1L5k3l5 zQ3mFzy#?E=DS$rsy_U#I_vQfLx^Pj?b#@(#_!;q2kWee0z(fRr3YklAH;S4n0<)ZT!kFe{wwM1(Zm;;TD ztmOQ&Av5?pHr8skgYsGPL zBKY;;&#*+-wk$SF*8z)Efrt6#MmK$a4tNQE^$jC*SyWyp{2EQNN^W1%39j0#&}{cxhT3xPt1Rs=hwt>$?~OQqnybUam_Z^jU&fq~YEYGL8<>O*U2bn%-zE%Dj$gn_ zCI%&n0EE7oz($%IEKgqxyn7j!B%8DS^Bw8SwhShebU65tE|YdIz<~HGadV?s-A1s~ zbaU5K&kEH#^tK_K`^(7Tobv=Hnc(dz6mi2>PMN^KkvTD$h+AB;yS<9ldSLg}FC99N zGGaPudCRKGXXW670?(N_KMP}J=Ay_VwC$oO?zb*1xo*d~a)ec8Qc3yyIs*Tj2a`#> z0(n2zoll^%@jw#b+f`9?in*k~brqE|kyRrzNXdjL!p^3Xjz&jOguv`F1n+|#j*$ra zjt(RGlfl59WaRmnGUZWKyS`|{55OHXeI8dPjR=dzqFslf!!|&}ob^sutD@MssTvvd zI&Pu*H{^%YPoDFZjuSvrT7tSh1BELWS25n=$1gC#en7CG1Tw35IpHOziAw$Dy_$!Z z&jlX|HtYla)}jb_^N2UZ^VJG41c@OG$^u=hiRH_kSp+w8%Z6in9`ef0+&DKU4w!4t zg1KCuV9_le=<)6CEUjXEWSsKmdPjbmy&F*K^-cCorb7sm%9!PI&a@K(hnfR>!Nn0{ zDujz&6>C^gROy_q^gM9e{mqKu56k<|jg3VTmT;^<*`R+X+q$-=uik!Nl1 zUcd!kYt%s3WEMOwBdUW*4zw;Rvpj2s@u51P^WOb^7_D zyPMQOhB}W~H!6GOhwvCT5Gu6_S~l^ldGplXOhvOLt~2-WYp|{oP!;-kfUp1JZt;Bg zSkzaApkG8TFcb01?F-LKn8|Q78;6E$Y$Z`a?ST>eVY$YRH!w0ksz&aQ<81Hv@s9bq zH9KyIDM(=kp|waeEV$_zK^G6yaE-$NrCV5qnQt#gz|cxy8mB>AfNr-R5E-#Lhu!-? zv2d&{DAEn+MWwBN2ybtc<^*Q&QGzRdncZ$~;MF5uKKO1DYEA&`ukU>Mvv1HG`1KHC z2K!kz6KJ-sUu$)D86gktfNSI*^=7lX!gd`J%9i#UD~g*Je0$ZPxFmz3sR@z%3hSr) z4D7d;VieT7^9cQxPipMf_9-*8c4_p14U}i@hg-e|Hw`UDzl2E3F}dGDZ=vL4K+ril zQzVM)ebmgTP0DUVeCcZ>;r&l-uJ4q9PwmxL0Tra{3(46A-7><4zSPe+zr*xl0tK}P z0BUG*TTjnc8HZi>Y3!Ug(fK04!`BYt1(+vr)u5N;MQn!ACA*A#3*bs3d~hOE*X8>% z#7^G4MNlD;){>y+EX_xxbhc9`?_AU>d|vnc`;(&QkSB%DKu_648? zAA^FfU%!`a;rP+B4-ypkn~xn*OPZ5uZQUGqv&ANstTXTJz?9&8N|s#6HDd0wwqlwbKd1QjEm6j2gOUmvM!&Ff+Gp}Xs`O3+JN1&4_XNXV})Ot zt;Kn7|1E6EyVVA>75}&ZU-|SgG(NpEOsC7$A|or#r2m7bFSzdMmr3C1_dN2eDS&6j z&;NOk1MtsN_rkqeVG8e+jXq3wj_#%B8{a<5O}Yj0q-If%ee_G~OtF}_u-(E#>$dQr}_qq5`AE*>hq2Uz67QOF_CWcBWmD()K#5`D^k2RErE+3T(va!v)fM_Jg%!X3j1d*YWb&M6VvNKJ3O^U<}E~~ksa2&fv?QYJ;RcVli|-NWvwA&&~3xT z7{x*w{D}t*88%ASh^=*3_|c!*PIiS~*KS^Hue(|dX4TTlQGR#7AW+F$JW~<5Yh5=B zZr#y3!giec&3>XaH`ghmEBYgc$9sYP49AtV(?^!WMy($7VTrKGFIV}yVnTTd z{W&!5AzvrX4Rf-lb!twH(H2&AiqCr92WwW}Apb@|zimM^mIvmZ)= zMGi|Jz%00x;F4md}5}R@PF@kY*dY zNLX~jzA6&6VP6_Vw&pJ?(w$nv%)3u2*lj7KiIsSSTM^5fdpw?QBiu_F!{l9 zQu$Opl6UwrRMTQ7{>vB7+YlwEjpDs39RYBy?nZkw2T3{UP)MTmsw?5`HDcs|M#qCY z-%5TJx4@u+)?eb{+>Ek`rc%W%32pXguqeM_KimF!L%9@@bF3@Xp;HWNQeDRzc;PdWrf=;zVg>xMN9 zl+s*z91xyVfvK-`w%{42+Lgs8d6xUig#~rTFPF>p2Fxc` z^v@@h+G%m6+NY&r;tb}a2&N`uh4AfVsgM2kV{hHkx+51qzfMkf!0vKS6+EN=U?8~sKhdr;8nBEc`Sgp{ary)3@Z>z;lB zde1jDz-z1lD0o3fe$@{7=gq%kx|8&kLv50Ys;XoC0b2= zy~xx@kLoe^9hz?6W0#&6trha7>z4N{!(_BYcrfK1tPa3W&UbcnD5lPFC|iTfNwHQ^ zY*|tNlR>6C2fa<3&<@I=&zi`w{{JTlGl7>_-|dBVzz~nwD^1 zezz9eKW(m4v5+e+E;TOOUOC{gn3}26p7)d{|3C$kTh#CXbm^ZKlH(Xg+t&I{cD-C{XZhwKK<5r`>@-QfQ}ezt`JmZ zQJ~Ay(lWJ1tydik=9?khofoHuiyRQotTIGi485>h>CZ#B?Zvx~bJ%-6a_c%$04QFo;S4& z#Hp8BIBRaCxDxFaDrmPJG@PtvH?zzyRHu0mw4N*7*WbU}&r*A5w$~bUM))w%{j^0{ z9O{9a^8x#LK^q%WHIb32`(2zTjRvJxJvbNRga$_%4I5(L)mfvMY~F8c#792Dgvu-J z{gBf-?0?_cI9{d(bzzH6eAH%SwKMs6LTdKsv)QaZIU~2}I7cCSHATa+{hyE4p1Eik ze{TRx)`?7AP_*Ls=XL%0%jam-%D{$Lm$x?5RF~f;uv??(XHiC7GDqTm_I$-?uexhR zK4HnN)o?;xJBh$gytUU>lUH@VGmfLfaik#WW zPh8?H-Rpp>F^Jab@#2t0#fR7lwzZDHB{a^!M(mkGz1yt-x4VIOYojI2WbJs;Qta=@ z1=p?<={8E!aF$eo4x6M;@t*|dRf>}ypxOnL1wxW8~H34qpVS|&|$l>Vx(TO zWcW-1;55apv75nFLS=?#-tPSt91#LD4?mA*sL3RY(EqwV#4|O1^X+cY{sZjlA8&4ram(r54kRL1{R23eh9*z?>h~=?99gS1O?AkuaiNZ^20nX)K~kfP-2hH`m$x8 zYLYEl)YBZr9C*PZtDo})GXzV566)_2lP`bQufqn&rlFj;=dueqSedR4~0N#%$BGZSR3!(fWo zs{P_OEk&i1wCcr;z&cwUCb?35;-m+P%f(gOJ9S4 zBW01h{0hcbWK}eOv0O9;vOFpWD0A}mKO->EM1$rDAI47jZg5X1+wfxW>vlEUvuOH} z0w2HdkePy0X-i_nc#FYnvc?5jav(+PG{0fteR3>xkRJA=TL5H7vhJvMc4#hw5P=+y zA5Kl-K#_Wi)~xNjtaEJ~Hqd_F=hG4<8cV;gF)06ddh;O!h(D6ynLqDn3;ffA00F7@ zYW0xEbcpTWeWJ{{g8f?)HfSMXc=L*ff%wGCCUr6R@>;_uLWZT^IKIzg?Ys5!=k;K- zZ1H40yX4dJR09=0@HUnT{8|<0m-YG5l7bs|_nU8EfEe{$@fh*E>%d{=GW`r-XC=Rr z0d?n1s=c(r5=8PBnUxPi8K|>Yo`l+74fAi%fzuDe<1(k6<4T zbO&EbMo7HPQ|vydS;;T`{%@uvj|+F}hh$7hCb+>un*p^$NIZ5E+1b~7XjW48!#7Q%y)J_$$$Ov=!c2c+z1h%`YKx+LzFr!+cBlM z_k-6CF@A&O-1Tj9R`Gl*reJq)vf>gnK0eN(oCr!5YaL7r%rq|gP919Sj0>Pa za&}3u13*gFt?3R7PH}kuxZrXRC^5D?tV9#2Kl@^&j(xK6QORk@Zw{s>5M?DgcGTL? zXcM-h^wzh@O9u3!qM{~{e`5mVJ=WD&1eF_Krt8`&XPY-BWA1yGiWZ~o#icx*hrf3v zCgvC@^A4@EDHV0(AMvNn&8pGU_LW9I^=6{lnmhr#{|~sCRN)Evb`$cCkdPM} zL$jjshiUB*Y=us&q>kdQ?(& z+Fh=K%`q+g1Wg-EW=)56`ljc${GcJ%{s-T-;^IN9g|ENSo1NcG%m{(5;fKvm@~`_$ zZ}9J2Gt91Z$m6Ikxs2OoPupX@XAK$7eVDdC;|DO&tGLFqSE*Fx0|NtbAs?&+yX-C_ z)eA_muC*@qYixkux{@V9J59#_N+Ob5o?0YzmA{j@wWbz9Scs_&2~_I+S|qsmMh!Ls z^hzD*v5a!&!NBS`1~SO6R&J1fWdOG>)u2Q#87EhY8M&#C8tlH;2kI~|fQV{XR`gKh zWxXl&zUJ)3>vsOu6U51~Vy=0oslsjVPXyQO!bbl0hEMcb&U*BQD>5tI+ekE>0J@+S zsnYbHdd29BWT%s2W5PSg;zRp0K!a&7Rwc2)Y<81>=Ub2b?v>l|uD$tIj1y8%fwnBG zFD^drj3!5(yP#4s6XruSA*h8rzwqMh2@}YR{uvX+nk{+{@UJ3+fA4{(fQdkq3_X4O z|D)?I1EOrZwPC##329Q@rKKAb1f&G%Mx+~tE|FBaJ4J>Zx^uoY z-uvDA$Mbyi%YSmsb)IV->xeZ$VOCGuJ?QB2;ov>}UZ_?nS$l5 z3#aMA;KlzqO_lN~T4VF1+pmdy37zLP5(^B4^2cAcbdZX75zJ#sSLZBZ2HqAGHa)(< zMa5UxcqB8$W@NZ+I9GX3a0%0H@W!7-C{OtR68dVIRvz)HM`gO!OX@lwJ1c8?`*Cm_ z%@Qi1%FtP4u1ljdisr3}VHb;Z5!afw)`3Vw&(UoXr;N^+5=J9~mvYe$FA=}6)E+7x z_ezf!8hJ{$7`tTjh5V$;^Du7ece1exp}k0sG^btGN^=Qc0%wG9E;XlcbL0)G6MOqy zTABMvu4pQi=d!bRrOJR&$-zg@k4xbAkBV_x+Z52N&v(y2t&>R{X>1HD^<7X1R9#P# z*gGJ}T%YyMEKs}>PW5fG%_>gTde(s6l{<_@VvEnG;Z0cH18ZyakL=o4B^Nfo-24YS z{ERYrh|%t*nsQ2lRYJ`o?O81Y2Ov`_=4K>+ux8a~n=<>6$F&igc@zM-$}LBHSh~LbV@5J@MuniDJhrpyO?xf)83i*fs{8|wEeE2X6POoh1(%h7 zq&l0mU+a->-Inl#=|wOyk&9cfeabj8h1JZxQPE$#J&b$0A(Or833Np$m>=1Ea_nI$ z8A=n-m*xHCk=doy+AS|u6*_ssuWX+ua->-mtGb{k6KrZfqE24E@Wf%Q`=+^{{F`TE zR=cg2t?^*2>~JBOCHx^O4tM(l4F|1V`qz@XR4B~?4m!3Tzd%yqE5R|(T8y`mCwZSE zgC<&^pOh76KR*_i>TquTypuofaIa47S=AGTFz#^Cm>c=KyWI6cJH!U{{RCyuKjit= zP`MJ;zhvG@x`{XZJBE-=e0=&JV@Rc1io2-gf%rj$u9GXnSz3)xP~b>M_M58E-py|a z_E3O#8__6L(L=oZu`o^x*y99FN^su3-I&Sh)!5mYVEoN*c&%E_kTkdIssb99jN5zr zjisga-aUrfdb#C^*$61s5crz2abIZ!PD740mb6@A1TjN;jc^R{lYTPH=CP-+2XhZT zSu*E=hk^HZ)Po0Q?L0$j3td)iJB`|3Qw-{P!Ux}teV^<3Y8 zNlHc~0{-N$}&S^DUPcI{``2G(NHu~qfDJw~)*atF0BuT*T=M_IM) zi3B=Y`FiKQ;fjTYdl9k<;%5g~-V{g^D2T4^btuk+_2jAU|_83f6qxCQOeD7WqPv)@j zeIkX?VQ%OZ-zL~dtL6FHbb{3OX}81;*sJHOGA|Z8kh;nlwrRZD558A(@Q_A$Ujrth zl-1e1FCH!QAN|GJ@=IezpUi0>y&25P#uL1%3N=)EQrR&(hU{75E6z-g2 zs3w-Hz3XRfB+28W-2-UIS#ycidw&$mvrxfh!F0+FTkVN=;>iJSv}e|NhetTw>D$j% zy^=$zPuVk2hGKu`fv+5D91#~4#NvMXtitUWy`FYsU$9j=mLZ)Iu$rMevBZ9S+@4Tr z4**~Dxs8JF-bWE@lXd)Oz4mJz=)vgg^#%iO8~m}UetzF7QTeZwxw?vtT9}-jND~vX z$>Y2~*6iMYNm{7INhA+^|ILfmb{iw-?Ql%7m87 zmCg0Ra2pc9R_L>LQ=k7Ru}XDyI$63tQ{Ru*I1VES-|pLvTtETfv39y|m4EtbEe<#y=H2bL_kmvbW`hR*P6Br-x*xXT0P!e&>XJ>vxY0uT) zlwPBCzbx3s%tBw|*}I!}-P=80MO#G8*(%6!AVY(uc?cCp*RCHKFDM)TWSGuyoDyKm~l% z-UGe$_w#jD#3#zW+6&<*(Zx{A(o(d-BGelDv)QW( z_CB(n6{U!b$t1D*T(rm1fbApY;B${Zc629e7<4TcC0G1oR;=A(<3nm`lsbN$cU@>@ z8m)rqooY9n)qzKd8Ddtmj)LJuqAa31>Mt~Jb#>eLj*0dcJZs}eaEByQ}`}e)?bGGDmB`B?Zd{k*6xv4Z=RWzp(kY^v_CrpZIj_4)b^R}y^-t}Nu(4ozeKG^*%D%<{38oT#(6y^ zXJ5nY?BXz0a`CavZ2Qky(I1L9wzoT1-M#}P_VL(q0`_YL{1K(B5eJcDKN}#aq zdM8(J@nu!;_^ragXK-{|H=j=cXOd$M9hj%-_D`8>8SUHAWb0y;Vv(#&Ol@@T)ODcizDy9 zj1LX#Vf!p#Q15kT{oObyPS28~qEy^0?LaWe&$AE;c{-iwDsOlxgRXbNwpj0vKsi&7 z5x=tIDPXNE?<*k*X-D{?Ju_(mpi=16?08rI8L{MVeaJvDg9`;mU|+J~e=yJ+bHq$4 z6~EiqMh5AXZ0BE3va4JQn)XENb7iKJXpacUutU$<1JfhRWP3h*S-m;WkIz7J^SYWq zl|^r5)eQ~*>G{wY!w9#gOw@5A)hL38s;nQUo)H5U!}b@|)_fn*Wg%D&*PdmKMdghP zSM8b3C_{-sw>|hA-}s7#R(QXLa{t+cm2<}ZVe>pWrCjq+&F2&UG)N9h=3V2ysn+%q zq2tf8584WXuSvCeo0{7VbtC6Z$vq3_r0A{~b3==8+YQmFGHupq;z1%p5sUD3OtFuR zcd6K+K!a{~vB3j*yUk@=%)9=J~;I4Xx+8^V28R!zj)iCYutYuI{P> zAh_3Q~9PQM;-3IJubfpe}NxG}iK+g8fZ~BU!cR)XJPTO!+ zEg7a#5;(6i9804C#>8Oxf(5r-CeO}|f#VAX^*|=eV;TBS>3R1iXla&3>4nR=zObSz zrUWuepX4WKe9JDT%sEAtpk>?|sd3_S0ja~x(o!H2GvQhFw1A2zEhUw89mGt@sV(zi z^L%mHUrmi7KTNOMlg#nQa#g~`t`*m1jJcump|a9*w8oJ^<-*0ow@`k=bRT!WoS!<{ z_x8NF#%UK7=NBX?He^d$FzKGk18pE>}hB3Lw2b zp2CbzRuWgn_XTP5I@m!9b-PO#B+4SXB5vwedeYd3SVfk=<(Cx|%~yG+W0#Z^N>n9+ zxG-XNAV#U&+uS^_DZ`nJcyh@|!O(S|q@X6FgZ3;oG2#z3-jFGPwP!to!ZjOTP>wTO zW_hxFh?%9}Yf9A23myIEsP2N_wB;aayEv{>s7C7-sy1vEvmCx4yn)SvP5S}b%Kwe= z|3_g)oJw{a3)-BU8IHybWKFanxzt)l2|NP=zD!h~6mh6xP%d`#+4U)nX#kY%uQDyq z?C=f917|JwhMOWZ&T9}lRa;gL>>hm9(th3ei0Hd@OagY_LxA6EORZS@BkCMQ@n_BT z@rhyT3snowr)TOQo+w&MOG{&FRhpr|&HS4h~AMBDk;cd)S8 zV4Au>|8qB+S3(8+FGC3IS67evHs1~htlxJ(t;DJ|v>MCm2s}zQ;l)Ua*$M_qs*dl1 z5c{q%g$hKNcxCH?bNdUkT+74oi;Y8MU~EuMfh${FRvkF3)Tk>W^{B~=3o zvhu0u%JrmLyO27Z`C6y&zeHl&RpW26FK{l9U2CO0p({AtoZtM^C*B|Alea3YX7Qgw$C(oGHDnETLd?!mGGIvzRb5p`m+VN28wrl-ot;+N#tXxF;k5AH{ zyR|svD8cE&t$Ebg?r|m}9a%g=%Ii5W-l{Sc%}MmBcHEJoD@^+ki!b&KqkfrV%rN}i zG-K|af2+wIOo{m)sJ?!_B#%wdjGO{iiiYOkIqZyiEt+o=a(XV zi`cdO!q;Xvj%OTjD>baz>-tuc^!Kh~j}`U$y@r~luEagwY?9MUp&=&qFn2dY6MfhxD~F0?a6oVpPy^I)N$yCl}yH#oL?5g&B%F~u~b$|ljL z2RU2>(RD5H_}JcUZ;+m|BXwTxnqSo}9Evfrjco*nyxfmZ@bHfF)2uKINm?!1+C7jM zvnu&|<&fq*N|oR?v=7N=wzh#7JswWgo2N(zs5$eQ)j~Bke`f5bNaT|ME&QpGTx=SF zSE<-i7Ett!t-0h$($|?2RNe?2wB`H;>d!Swhv~0xZ>`1Re5*OeD_B>TJSGtUZXvtm zNtRdsgngCEs>X8uI8bQqCFnynbzfwqqS9?pOZ&+-F)a<{1a1+-KE;yddNB0NsbR(i zCAICBi9G{|$$N|z7kTYb>@u0s6+68Y`yS~Ad=V|26LdZ@qaHU9Ggy-B^6A7brN3&a zn~Hjkd*8N$1*Gl)Vy16ke$A-{PiOe+sq!0BQwfn@AfhbVv~R6l_SRK>1!4cb{~`zf zLT}4@7wS9@4!Sl-C>fRiVm7jS;v|y!hSg^K_2*i^$DUbzMIlc>%*m0Fl9KwYQ%jew zXIv1uY|DY9#;1sK4u3-R%PyExKry`Tp|P=C@KY4G(~XJe3ccPa z)#>YIl$@zbwuU@$W#0lWGiXztU9_4kr9citX@L_cY3F*@Ks!uVb;1(}oQf}v*}p&z zS9sWxUxdJ9sZS97%IJUN_46#n>XB+*{R~G=CHOkJP85%JiG>JE0N;L{Sw4Oc!0CwWe*?rd$f9rI51Te! zQs3uhdY3XCr<5yYgYV;`GUxJVy1vG(KCpX?f}QBJ!tBuo1G7h% zNNZ~lV~qT3tPJ*x7s$H*%X>ZCk!|Ym05v9^eQcvqSQ3}Wnc&2S`NqvL58co+h2hi? zGNkCY2dKfwE5{FHz)H5DQ-Q}}pC(MJS~BQ$tF^daufoUptlYzSKQh0j?X6?7a{qyRWf*ism~c>@Bv%8l3!-v9<*hO3_eH z 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